/* Generated by design-system-stage-1/scripts/build-design-css.cjs. Edit the source CSS and tokens. */
/* Prop Firm Rankings. Editorial directory plus a flagship seven-zone ranking
   ledger. Reusable values resolve through the design-system token layer. */
.rankings-page {
  padding:var(--space-xl) 0 var(--space-section);
  overflow-x:clip;
  background:var(--color-surface-page);
  color:var(--color-text);
  font:var(--font-weight-body) var(--font-body)/var(--line-height-body) var(--font-family);
}
body:has(.lz-nav) .rankings-page { padding-top:calc(var(--space-section) + var(--space-xl)); }
body.has-top-offer:not(.is-offer-collapsed):has(.lz-nav) .rankings-page { padding-top:calc(var(--space-section) + var(--space-xl) + var(--space-2xl)); }
.rankings-page [id] { scroll-margin-top:var(--ranking-sticky-offset); }
body.has-top-offer:not(.is-offer-collapsed) .rankings-page [id] { scroll-margin-top:calc(var(--ranking-sticky-offset) + var(--space-2xl)); }
.rankings-page * { box-sizing:border-box; }
.rankings-page :is(h1,h2,h3,p) { margin:0; }
.rankings-page>.container { width:calc(100% - var(--space-xl) * 2); max-width:var(--width-page); margin-inline:auto; padding:0; }
.rankings-page a { text-underline-offset:var(--space-xs); }
.rankings-kicker,.rankings-eyebrow {
  display:block;
  color:var(--color-accent);
  font:var(--font-weight-label) var(--font-label)/var(--line-height-caption) var(--font-family-data);
  letter-spacing:var(--tracking-label);
  text-transform:uppercase;
}

/* Hero: the hub is editorial; detail pages keep the live top-three desk. */
.rankings-hero {
  display:grid;
  grid-template-columns:var(--ranking-hero-columns);
  gap:var(--space-section);
  min-height:0;
  align-items:center;
  padding:var(--space-section) 0;
}
.rankings-hero-main { display:grid; min-width:0; align-content:center; justify-items:start; gap:var(--space-lg); }
.rankings-hero-title { max-width:15ch; color:var(--color-text); font-size:var(--display-index); font-weight:var(--font-weight-h1); line-height:var(--line-height-h1); letter-spacing:var(--tracking-h1); text-wrap:balance; }
.rankings-hero-subtitle { max-width:var(--width-reading-wide); color:var(--color-text-muted); font-size:var(--font-h5); line-height:var(--line-height-reading); text-wrap:pretty; }
.rankings-hero-actions { display:flex; flex-wrap:wrap; gap:var(--space-md); }
.rankings-hero-actions .ds-button { min-width:var(--width-swatch); }
.rankings-not-found .rankings-hero { grid-template-columns:1fr; }

.rankings-hero-board { min-width:0; padding-inline-start:var(--space-2xl); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rankings-hero-board>header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); padding-bottom:var(--space-md); border-bottom:var(--stroke-width) solid var(--color-border); }
.rankings-hero-board>header span,.rankings-hero-score small,.rankings-hero-board dt { color:var(--color-text-decorative); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.rankings-hero-board>header span { color:var(--color-accent); }
.rankings-hero-board>header strong { font-size:var(--font-body-small); }
.rankings-hero-board ol { margin:0; padding:0; list-style:none; }
.rankings-hero-board li { display:grid; grid-template-columns:var(--primitive-size-28) minmax(0,1fr) auto; align-items:center; gap:var(--space-md); min-height:var(--space-section); padding:var(--space-md) 0; border-bottom:var(--stroke-width) solid var(--color-border); }
.rankings-hero-rank,.rankings-rank { color:var(--color-text-decorative); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); font-variant-numeric:tabular-nums; }
.rankings-hero-board li:first-child .rankings-hero-rank,.rankings-row--1 .rankings-rank { color:var(--ranking-rank-first); }
.rankings-hero-board li:nth-child(2) .rankings-hero-rank,.rankings-row--2 .rankings-rank { color:var(--ranking-rank-second); }
.rankings-hero-board li:nth-child(3) .rankings-hero-rank,.rankings-row--3 .rankings-rank { color:var(--ranking-rank-third); }
.rankings-hero-firm { display:flex; min-width:0; align-items:center; gap:var(--space-md); color:var(--color-text); text-decoration:none; }
.rankings-hero-firm>span:last-child { display:grid; min-width:0; gap:var(--space-xs); }
.rankings-hero-firm strong { overflow:hidden; font-size:var(--font-body); line-height:var(--line-height-heading); text-overflow:ellipsis; white-space:nowrap; }
.rankings-hero-firm small { overflow:hidden; color:var(--color-text-muted); font-size:var(--font-caption); line-height:var(--line-height-caption); text-overflow:ellipsis; white-space:nowrap; }
.rankings-hero-score { display:grid; justify-items:end; gap:var(--space-xs); }
.rankings-hero-score strong { color:var(--color-accent); font:var(--font-weight-heading) var(--font-h3)/var(--line-height-heading) var(--font-family-data); }
.rankings-hero-board dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-bottom:var(--stroke-width) solid var(--color-border); }
.rankings-hero-board dl>div { display:grid; gap:var(--space-xs); padding:var(--space-md); }
.rankings-hero-board dl>div:first-child { padding-inline-start:0; }
.rankings-hero-board dl>div+div { border-inline-start:var(--stroke-width) solid var(--color-border); }
.rankings-hero-board dd { margin:0; color:var(--color-text); font:var(--font-weight-heading) var(--font-body)/var(--line-height-heading) var(--font-family-data); }

/* One quiet methodology sentence, visually separate from navigation. */
.rankings-page .rankings-methodology-note { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-xs) var(--space-md); margin:var(--space-lg) 0 0; color:var(--color-text-muted); font-size:var(--font-caption); line-height:var(--line-height-reading); }
.rankings-methodology-note a { display:inline-flex; align-items:center; gap:var(--space-xs); color:var(--color-accent); text-decoration:none; }
.rankings-methodology-note :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); }

/* Hub directory: different tasks keep different visual rhythms. */
.rankings-market-section,.rankings-discovery-section,.rankings-editorial-grid,.rankings-offers-band,.rankings-list-section,.rankings-seo-band,.rankings-related,.rankings-faq { padding:var(--space-section) 0; border-top:var(--stroke-width) solid var(--color-border); }
.rankings-market-section { border-top:0; }
.rankings-platform-section+.rankings-country-section { border-top:0; }
.rankings-markets { display:grid; grid-template-columns:var(--ranking-market-columns); margin-top:var(--space-lg); border-block:var(--stroke-width) solid var(--color-border); }
.rankings-market { display:grid; grid-template-columns:var(--primitive-size-54) minmax(0,1fr); grid-template-rows:1fr auto; gap:var(--space-lg) var(--primitive-space-control); min-width:0; padding:var(--space-lg); color:var(--color-text); text-decoration:none; }
.rankings-market+.rankings-market { border-inline-start:var(--stroke-width) solid var(--color-border); }
.rankings-market--featured { background:var(--color-accent-soft); }
.rankings-market-number { color:var(--color-accent); font:var(--font-weight-body) var(--primitive-size-54)/var(--primitive-line-control) var(--font-family-data); letter-spacing:var(--tracking-h1); }
.rankings-market h3 { margin-bottom:var(--space-sm); color:var(--color-text); font-size:var(--font-h3); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-wrap:balance; }
.rankings-market p { color:var(--color-text-muted); font-size:var(--font-body); line-height:var(--line-height-reading); text-wrap:pretty; }
.rankings-market-link { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); padding-top:var(--space-md); border-top:var(--stroke-width) solid var(--color-border); color:var(--color-text-muted); font-size:var(--font-body-small); }
.rankings-market-link>span { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-sm) var(--space-md); }
.rankings-market-link strong { display:inline-flex; align-items:center; gap:var(--space-md); color:var(--color-accent); white-space:nowrap; }
.rankings-start { color:var(--color-accent); font:var(--font-weight-label) var(--primitive-size-11)/var(--line-height-body) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.rankings-market-link :is(i,svg),.rankings-discovery-link>svg,.rankings-discovery-all>svg,.rankings-rule-link>svg:last-child,.rankings-text-link :is(i,svg),.rankings-offers-band :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); flex:none; color:var(--color-accent); }

.rankings-discovery-head { display:grid; max-width:var(--width-reading); gap:var(--space-md); margin-bottom:var(--space-lg); }
.rankings-discovery-head h2,.rankings-editorial-grid h2,.rankings-list-section h2,.rankings-seo-band h2,.rankings-related h2,.rankings-faq h2 { color:var(--color-text); font-size:var(--display-chapter); font-weight:var(--font-weight-heading); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-wrap:balance; }
.rankings-discovery-head p { color:var(--color-text-muted); font-size:var(--font-h5); line-height:var(--line-height-reading); text-wrap:pretty; }
.rankings-discovery-grid { display:grid; grid-template-columns:var(--ranking-discovery-columns); column-gap:var(--space-section); }
.rankings-discovery-grid--platforms { grid-template-rows:repeat(5,auto); grid-auto-flow:column; }
.rankings-discovery-link { display:grid; grid-template-columns:var(--primitive-size-54) minmax(0,1fr) var(--primitive-size-20); align-items:center; gap:var(--space-lg); min-width:0; min-height:calc(var(--space-section) + var(--space-xl)); padding:var(--space-lg) var(--space-xs); border-bottom:var(--stroke-width) solid var(--color-border); color:var(--color-text); text-decoration:none; transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out); }
.rankings-discovery-icon { display:grid; width:var(--primitive-size-54); height:var(--primitive-size-48); place-items:center; }
.rankings-discovery-icon--flag { overflow:hidden; font-size:var(--primitive-size-38); line-height:var(--primitive-line-control); }
.rankings-discovery-icon--flag :is(img,svg) { display:block; width:var(--primitive-size-48); height:var(--primitive-size-32); object-fit:cover; }
.rankings-discovery-copy { display:grid; min-width:0; gap:var(--space-xs); }
.rankings-discovery-copy strong { overflow:hidden; color:var(--color-text); font-size:var(--font-h4); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-overflow:ellipsis; white-space:nowrap; }
.rankings-discovery-copy small { color:var(--color-text-muted); font-size:var(--font-body-small); font-variant-numeric:tabular-nums; }
.rankings-discovery-link>svg,.rankings-discovery-all>svg { transition:transform var(--duration-fast) var(--ease-out); }
.rankings-discovery-all { display:flex; min-height:var(--space-section); align-items:center; justify-content:space-between; gap:var(--space-lg); margin-top:var(--space-xl); padding:var(--space-md) var(--space-lg); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-action); color:var(--color-text); text-decoration:none; transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out); }
.rankings-discovery-all>span { display:flex; align-items:center; gap:var(--space-md); }
.rankings-discovery-all>span>:is(i,svg) { width:var(--primitive-size-24); height:var(--primitive-size-24); }
.rankings-discovery-all strong { font-size:var(--font-h5); line-height:var(--line-height-heading); }

/* Reuse the flagship country-availability composition on the rankings hub. */
.rankings-country-section.pf-country-checker {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(340px,1fr);
  grid-template-areas:"head head" "index panel";
  gap:var(--space-xl) var(--space-2xl);
  align-items:start;
}
.rankings-country-section .pf-country-index-head { grid-area:head; display:grid; gap:var(--space-md); }
.rankings-country-section .pf-country-index-head h2 { max-width:none; color:var(--color-text); font-size:var(--display-chapter); font-weight:var(--font-weight-heading); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-wrap:balance; }
.rankings-country-section .pf-country-index-head p { max-width:var(--width-reading-wide); color:var(--color-text-muted); font-size:var(--font-h5); line-height:var(--line-height-reading); }
.rankings-country-section .pf-country-index { position:relative; grid-area:index; min-width:0; }
.rankings-country-section .pf-country-guide-title { margin:0 0 var(--space-lg); color:var(--color-text); font-size:var(--font-h3); line-height:var(--line-height-heading); }
.rankings-country-section .pf-country-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 var(--space-lg); }
.rankings-country-section .pf-country-guide-grid>a { display:grid; min-width:0; min-height:calc(var(--space-section) + var(--space-lg)); grid-template-columns:var(--primitive-size-28) minmax(0,1fr) var(--select-chevron-size); align-items:center; gap:var(--space-md); padding:var(--space-md) 0; border-bottom:var(--stroke-width) solid var(--color-border); color:var(--color-text); text-decoration:none; transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out); }
.rankings-country-section .pf-country-guide-flag { display:grid; width:var(--primitive-size-28); height:var(--primitive-size-28); place-items:center; font-size:var(--primitive-size-24); line-height:1; }
.rankings-country-section .pf-country-guide-grid>a>span:nth-child(2) { display:grid; min-width:0; gap:var(--space-xs); }
.rankings-country-section .pf-country-guide-grid strong { overflow:hidden; color:inherit; font-size:var(--font-body); line-height:var(--line-height-heading); text-overflow:ellipsis; white-space:nowrap; }
.rankings-country-section .pf-country-guide-grid small { color:var(--color-text-muted); font-size:var(--font-caption); font-variant-numeric:tabular-nums; }
.rankings-country-section .pf-country-guide-grid>a>svg { width:var(--select-chevron-size); height:var(--select-chevron-size); color:var(--color-accent); transition:transform var(--duration-fast) var(--ease-out); }
.rankings-country-section .pf-country-index-all { margin-top:var(--space-lg); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-action); background:var(--color-surface-page); }
.rankings-country-section .pf-country-index-all summary { display:flex; min-height:var(--space-section); align-items:center; justify-content:space-between; gap:var(--space-md); padding:var(--space-md) var(--space-lg); cursor:pointer; list-style:none; }
.rankings-country-section .pf-country-index-all summary::-webkit-details-marker { display:none; }
.rankings-country-section .pf-country-index-summary-copy { display:flex; min-width:0; align-items:center; gap:var(--space-md); }
.rankings-country-section .pf-country-index-summary-copy>span { display:grid; gap:var(--space-xs); }
.rankings-country-section .pf-country-index-summary-copy strong { color:var(--color-text); font-size:var(--font-body); line-height:var(--line-height-heading); }
.rankings-country-section .pf-country-index-summary-copy small { color:var(--color-text-muted); font-size:var(--font-caption); }
.rankings-country-section .pf-country-index-summary-copy>svg,.rankings-country-section .pf-country-index-all summary>svg { width:var(--primitive-size-20); height:var(--primitive-size-20); flex:none; color:var(--color-accent); }
.rankings-country-section .pf-country-index-all[open] summary>svg { transform:rotate(180deg); }
.rankings-country-section .pf-country-index-browser { display:none; position:absolute; z-index:5; right:0; left:0; margin-top:var(--space-sm); padding:var(--space-lg); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-action); background:var(--color-surface-raised); box-shadow:var(--shadow-float); }
.rankings-country-section .pf-country-index-all[open]+.pf-country-index-browser { display:grid; gap:var(--space-md); }
.rankings-country-section .pf-country-index-search { display:grid; grid-template-columns:var(--primitive-size-20) minmax(0,1fr); align-items:center; gap:var(--space-sm); padding:0 var(--space-md); border:var(--stroke-width) solid var(--color-border); border-radius:var(--radius-control); background:var(--color-surface-control); }
.rankings-country-section .pf-country-index-search>svg { width:var(--primitive-size-20); height:var(--primitive-size-20); color:var(--color-text-muted); }
.rankings-country-section .pf-country-index-search input { width:100%; min-height:var(--button-height); padding:0; border:0; outline:0; background:transparent; color:var(--color-text); font:inherit; }
.rankings-country-section .pf-country-index-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-xs) var(--space-md); max-height:360px; margin:0; padding:0; overflow:auto; list-style:none; }
.rankings-country-section .pf-country-index-list button { display:grid; width:100%; grid-template-columns:var(--primitive-size-28) minmax(0,1fr) var(--select-chevron-size); align-items:center; gap:var(--space-sm); padding:var(--space-sm); border:0; border-radius:var(--radius-control); background:transparent; color:var(--color-text); text-align:left; cursor:pointer; }
.rankings-country-section .pf-country-index-list button>span:nth-child(2) { display:grid; min-width:0; gap:var(--space-xs); }
.rankings-country-section .pf-country-index-list button strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rankings-country-section .pf-country-index-list button small,.rankings-country-section .pf-country-index-empty { color:var(--color-text-muted); font-size:var(--font-caption); }
.rankings-country-section .pf-country-index-list button>svg { width:var(--select-chevron-size); height:var(--select-chevron-size); color:var(--color-accent); }
.rankings-country-section .pf-country-panel { grid-area:panel; display:flex; min-width:0; flex-direction:column; gap:var(--space-lg); padding:var(--space-xl); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-action); background:var(--color-surface-page); }
.rankings-country-section .pf-country-panel-kicker { color:var(--color-accent); font:var(--font-weight-label) var(--font-label)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.rankings-country-section .pf-country-picker,.rankings-country-section .pf-country-picker .pf-select { display:block; width:100%; }
.rankings-country-section .pf-country-picker .pf-select { position:relative; }
.rankings-country-section .pf-country-picker select { width:100%; min-height:var(--button-height); padding:var(--space-sm) calc(var(--select-chevron-inset) + var(--select-chevron-size) + var(--space-md)) var(--space-sm) var(--space-md); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-control); appearance:none; -webkit-appearance:none; background:var(--color-surface-control); color:var(--color-text); font:inherit; cursor:pointer; }
.rankings-country-section .pf-country-picker .pf-select>svg { position:absolute; top:50%; inset-inline-end:var(--select-chevron-inset); width:var(--select-chevron-size); height:var(--select-chevron-size); transform:translateY(-50%); color:var(--color-text-muted); pointer-events:none; }
.rankings-country-section .pf-country-review-count { display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--space-md); margin:0; color:var(--color-text-muted); }
.rankings-country-section .pf-country-review-count b { color:var(--color-accent); font:var(--font-weight-heading) var(--font-h1)/1 var(--font-family-data); }
.rankings-country-section .pf-country-status-grid { display:grid; gap:var(--space-md); }
.rankings-country-section .pf-country-status { display:flex; align-items:center; gap:var(--space-sm); color:var(--color-text-muted); font-size:var(--font-caption); }
.rankings-country-section .pf-country-status>i { width:var(--space-sm); height:var(--space-sm); flex:none; border-radius:50%; background:var(--color-accent); }
.rankings-country-section .pf-country-status--verify>i { background:var(--color-warning); }
.rankings-country-section .pf-country-status--blocked>i { background:var(--color-negative); }
.rankings-country-section .pf-country-status strong { font-weight:var(--font-weight-body); }
.rankings-country-section .pf-country-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md) var(--space-lg); margin-top:var(--space-sm); }
.rankings-country-section .pf-country-firms-toggle { display:inline-flex; min-height:var(--button-height); align-items:center; justify-content:center; gap:var(--space-md); padding-inline:var(--space-lg); }
.rankings-country-section .pf-country-firms-toggle>svg,.rankings-country-section .pf-country-guide-link>svg { width:var(--select-chevron-size); height:var(--select-chevron-size); }
.rankings-country-section .pf-country-guide-link { display:inline-flex; align-items:center; gap:var(--space-md); color:var(--color-accent); font-size:var(--font-body-small); font-weight:var(--font-weight-label); text-decoration:none; }

@media (hover:hover) and (pointer:fine) {
  .rankings-country-section .pf-country-guide-grid>a:hover { border-color:var(--color-accent); color:var(--color-accent); }
  .rankings-country-section .pf-country-guide-grid>a:hover>svg { transform:translateX(var(--space-xs)); }
  .rankings-country-section .pf-country-index-list button:hover { background:var(--color-accent-soft); }
}

.rankings-editorial-grid { display:grid; grid-template-columns:var(--ranking-editorial-columns); gap:var(--space-section); }
.rankings-editorial-grid>section { display:flex; min-width:0; flex-direction:column; }
.rankings-editorial-grid>section+section { padding-inline-start:var(--space-section); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rankings-editorial-grid--analysis>section+section { padding-inline-start:0; border-inline-start:0; }
.rankings-editorial-grid h2 { margin:var(--space-sm) 0 var(--space-lg); font-size:var(--font-h2); }
.rankings-rule-list { display:grid; grid-template-rows:repeat(3,1fr); flex:1; border-top:var(--stroke-width) solid var(--color-border); }
.rankings-rule-link { display:grid; grid-template-columns:var(--primitive-size-28) minmax(0,1fr) auto var(--select-chevron-size); align-items:center; gap:var(--space-md); min-height:calc(var(--space-section) + var(--space-lg)); padding:var(--space-md) 0; border-bottom:var(--stroke-width) solid var(--color-border); color:var(--color-text); text-decoration:none; }
.rankings-rule-link>svg:first-child { width:var(--primitive-size-24); height:var(--primitive-size-24); color:var(--color-text-muted); }
.rankings-rule-link strong { font-size:var(--font-body); line-height:var(--line-height-heading); }
.rankings-rule-link small { display:block; margin-top:var(--space-xs); color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-reading); }
.rankings-count { color:var(--color-text-muted); font-size:var(--font-body-small); white-space:nowrap; font-variant-numeric:tabular-nums; }
.rankings-method-factors { margin:0; border-top:var(--stroke-width) solid var(--color-border); }
.rankings-method-factors>div { display:grid; grid-template-columns:var(--width-swatch) minmax(0,1fr); gap:var(--space-md); padding:var(--space-md) 0; border-bottom:var(--stroke-width) solid var(--color-border); font-size:var(--font-body); line-height:var(--line-height-reading); }
.rankings-method-factors dt { color:var(--color-text); font-weight:var(--font-weight-label); }
.rankings-method-factors dd { margin:0; color:var(--color-text-muted); }
.rankings-text-link,.rankings-offers-band a { display:inline-flex; min-height:var(--button-height); align-items:center; gap:var(--space-md); color:var(--color-accent); font-size:var(--font-body-small); font-weight:var(--font-weight-label); text-decoration:none; }
.rankings-section-link { align-self:flex-start; margin-top:auto; padding-top:var(--space-md); }
.rankings-source-dates { margin-top:var(--space-sm); }
.rankings-source-dates summary { min-height:var(--button-compact-height); padding:var(--space-sm) 0; color:var(--color-accent); font-size:var(--font-body-small); cursor:pointer; }
.rankings-source-dates p { margin-bottom:var(--space-sm)!important; color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-reading); }
.rankings-offers-band { display:flex; align-items:center; justify-content:space-between; gap:var(--space-md) var(--space-xl); color:var(--color-text-muted); font-size:var(--font-body); line-height:var(--line-height-reading); }
.rankings-offers-band strong { margin-inline-end:var(--space-sm); color:var(--color-text); }
.rankings-offers-band>div { display:flex; gap:var(--space-lg); }

/* Detail ledger. The shared component owns table-to-record layout. */
.rankings-list-section { border-top:0; }
.rankings-section-head { display:flex; align-items:end; justify-content:space-between; gap:var(--space-xl); margin-bottom:var(--space-xl); }
.rankings-section-head>div { display:grid; min-width:0; gap:var(--space-md); }
.rankings-section-head>div>span { color:var(--color-text-muted); font-size:var(--font-body-small); }
.rankings-section-head h2 { max-width:none; font-size:var(--font-h2); }
.rankings-personalize { flex:none; }
.rankings-table-wrap { margin-inline:calc(var(--space-lg) * -1); }
.rankings-page .tsb-prop-logo.tsb-prop-logo { --tsb-prop-logo-frame:var(--entity-logo-size); --tsb-prop-logo-art:var(--entity-logo-art); --tsb-prop-logo-radius:var(--radius-control); --tsb-prop-logo-surface:var(--color-surface-raised); --tsb-prop-logo-border:var(--color-border-strong); }
.rankings-firm-cell { display:grid; grid-template-columns:var(--primitive-size-28) minmax(0,1fr); gap:var(--space-md); align-items:start; }
.rankings-firm-details { min-width:0; }
.rankings-firm { align-items:center; }
.rankings-firm-copy { min-width:0; }
.rankings-firm-copy strong { font-size:var(--font-body); }
.rankings-firm-copy small { margin-top:var(--space-xs); font-weight:var(--primitive-weight-medium); }
.rankings-availability { margin:var(--space-sm) 0 0 calc(var(--entity-logo-size) + var(--space-md)); font-style:normal; }
.rankings-fit { text-align:center!important; }
.rankings-fit-component { display:grid; justify-items:center; gap:var(--space-sm); }
.rankings-fit-component>strong { color:var(--color-accent); font-size:var(--font-caption); line-height:var(--line-height-caption); }
.rankings-fit-score { display:grid; width:var(--ranking-fit-tile-size); height:var(--ranking-fit-tile-size); place-items:center; align-content:center; gap:var(--space-xs); border:var(--stroke-width) solid var(--color-accent); border-radius:var(--radius-control); background:var(--color-accent-soft); }
.rankings-fit-score small { color:var(--color-text-muted); font:var(--font-weight-label) var(--primitive-size-10)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); }
.rankings-fit-score b { color:var(--color-accent); font:var(--font-weight-heading) var(--font-h3)/var(--primitive-line-control) var(--font-family-data); }
.rankings-loss-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rankings-loss-pair>span { display:grid; min-width:0; align-content:start; gap:var(--space-sm); }
.rankings-loss-pair>span+span { padding-inline-start:var(--space-md); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rankings-loss-pair small,.rankings-scale>small { color:var(--color-text-decorative); font:var(--font-weight-label) var(--primitive-size-10)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.rankings-loss-pair strong { color:var(--color-text); font-size:var(--font-body-small); line-height:var(--line-height-heading); }
.rankings-source-details { margin-top:var(--space-sm); }
.rankings-source-details summary { min-height:var(--primitive-size-32); padding:var(--space-xs) 0; color:var(--color-accent); font-size:var(--font-caption); }
.rankings-source-details a { display:inline-flex; min-height:var(--primitive-size-32); align-items:center; gap:var(--space-sm); color:var(--color-accent); font-size:var(--font-caption); }
.rankings-source-details :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); flex:none; }
.rankings-source-details>small,.rankings-source-pending { display:block; margin-top:var(--space-sm); color:var(--color-text-muted); font-size:var(--primitive-size-10); line-height:var(--line-height-body); }
.rankings-platform-logos { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.rankings-platform-mark,.rankings-platform-more { display:grid; width:var(--ranking-platform-mark-size); height:var(--ranking-platform-mark-size); flex:none; place-items:center; border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-inner); background:var(--color-surface-raised); }
.rankings-platform-mark>.tsb-source-logo { display:block; width:var(--ranking-platform-art-size); height:var(--ranking-platform-art-size); object-fit:contain; }
.rankings-platform-mark[data-logo-preset="embedded-tile"]>.tsb-source-logo { width:100%; height:100%; }
.rankings-platform-mark[data-logo-theme-ink="white"]>.tsb-source-logo,.rankings-platform-mark:is(.tsb-source-mark--ctrader,.tsb-source-mark--tradingview)>.tsb-source-logo { filter:brightness(0) invert(1); }
.rankings-platform-mark:is(.tsb-source-mark--mt4,.tsb-source-mark--mt5) { border-color:transparent; background:transparent; }
.rankings-platform-mark--fallback,.rankings-platform-more { color:var(--color-text-muted); font:var(--font-weight-label) var(--primitive-size-10)/var(--primitive-line-control) var(--font-family-data); }
.rankings-scale { display:grid; gap:var(--space-xs); }
.rankings-scale>strong { color:var(--color-text); font-size:var(--font-h4); line-height:var(--line-height-heading); overflow-wrap:anywhere; }
.rankings-scale>span { color:var(--color-text-muted); font-size:var(--primitive-size-10); line-height:var(--line-height-body); }
.rankings-research-actions,.rankings-decision-buttons { display:grid; gap:var(--space-sm); }
.rankings-decision-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rankings-decision-buttons .ds-button { width:100%; padding-inline:var(--space-sm); }

/* The long-form close uses flat rails, preserving richness without nesting. */
.rankings-path-grid,.rankings-related-grid,.rankings-faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:var(--space-xl); border-block:var(--stroke-width) solid var(--color-border); }
.rankings-path-step,.rankings-related-link,.rankings-faq-item { min-width:0; padding:var(--space-xl); }
.rankings-path-step+.rankings-path-step,.rankings-related-link+.rankings-related-link,.rankings-faq-item+.rankings-faq-item { border-inline-start:var(--stroke-width) solid var(--color-border); }
.rankings-path-step>span { display:grid; width:var(--primitive-size-32); height:var(--primitive-size-32); place-items:center; margin-bottom:var(--space-md); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-pill); color:var(--color-accent); font-family:var(--font-family-data); }
.rankings-path-grid h3,.rankings-faq-grid h3 { margin-bottom:var(--space-md); color:var(--color-text); font-size:var(--font-h4); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); }
.rankings-path-grid p,.rankings-faq-grid p,.rankings-related-grid span { color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-reading); text-wrap:pretty; }
.rankings-related-link { display:grid; gap:var(--space-sm); color:var(--color-text); text-decoration:none; }
.rankings-related-link strong { font-size:var(--font-body); line-height:var(--line-height-heading); }
.rankings-faq { padding-bottom:var(--space-xl); }
.rankings-footer-disclosure { padding:var(--space-xl) 0 var(--space-md); }
.rankings-footer-disclosure [data-affiliate-disclosure] { width:100%; max-width:none; margin:0; }

@media (hover:hover) {
  .rankings-market:hover,.rankings-discovery-link:hover,.rankings-rule-link:hover,.rankings-related-link:hover { background:var(--color-surface-hover); }
  .rankings-market:hover h3,.rankings-discovery-link:hover,.rankings-related-link:hover strong { color:var(--color-accent); }
  .rankings-discovery-link:hover>svg,.rankings-discovery-all:hover>svg { transform:translateX(var(--space-xs)); }
  .rankings-discovery-all:hover { border-color:var(--color-accent); background:var(--color-accent-soft); }
  .rankings-text-link:hover,.rankings-offers-band a:hover,.rankings-methodology-strip a:hover { text-decoration:underline; }
  .ds-ranking-offer:hover { border-color:var(--color-accent); background:var(--color-surface-hover); }
  .ds-ranking-offer--pending:hover { border-color:var(--color-border-strong); color:var(--color-text); }
}

@media (max-width: 1180px) {
  .rankings-hero { grid-template-columns:1fr; min-height:auto; gap:var(--space-2xl); }
  .rankings-hero-title { font-size:var(--display-chapter); }
  .rankings-hero-board { padding:var(--space-xl) 0 0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-methodology-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rankings-methodology-strip>a { grid-column:1 / -1; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-markets { grid-template-columns:1fr; }
  .rankings-market+.rankings-market { border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-market { grid-template-columns:var(--primitive-size-54) minmax(0,1fr); }
  .rankings-editorial-grid { grid-template-columns:1fr; gap:var(--space-xl); }
  .rankings-editorial-grid>section+section { padding:var(--space-xl) 0 0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-offers-band { align-items:flex-start; flex-direction:column; }
  .rankings-table-wrap { margin-inline:0; }
  .rankings-table .rankings-fit { text-align:start!important; }
  .rankings-fit-component { grid-template-columns:auto minmax(0,1fr); justify-items:start; align-items:center; }
  .rankings-decision-buttons { max-width:var(--ranking-actions-width); }
  .rankings-country-section.pf-country-checker { grid-template-columns:1fr; grid-template-areas:"head" "index" "panel"; }
  .rankings-country-section .pf-country-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.72fr); }
  .rankings-country-section .pf-country-panel-kicker,.rankings-country-section .pf-country-picker,.rankings-country-section .pf-country-review-count,.rankings-country-section .pf-country-status-grid { grid-column:1; }
  .rankings-country-section .pf-country-actions { grid-column:2; grid-row:1 / 5; align-self:end; }
}

@media (max-width: 860px) {
  .rankings-page>.container { width:calc(100% - var(--space-lg) * 2); }
  .rankings-hero { padding:var(--space-2xl) 0 var(--space-section); }
  .rankings-hero-title { font-size:var(--primitive-size-48); }
  .rankings-hero-subtitle { font-size:var(--font-body); }
  .rankings-discovery-grid--platforms { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(5,auto); grid-auto-flow:column; column-gap:var(--space-xl); }
  .rankings-path-grid,.rankings-related-grid,.rankings-faq-grid { grid-template-columns:1fr; }
  .rankings-path-step+.rankings-path-step,.rankings-related-link+.rankings-related-link,.rankings-faq-item+.rankings-faq-item { border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-section-head { align-items:start; flex-direction:column; }
  .rankings-section-head h2,.rankings-discovery-head h2 { font-size:var(--font-h2); }
  .rankings-country-section .pf-country-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rankings-country-section .pf-country-index-list { grid-template-columns:1fr; }
  .rankings-country-section .pf-country-panel { display:flex; }
  .rankings-country-section .pf-country-actions { align-self:stretch; }
}

@media (min-width:641px) and (max-width:860px) {
  .rankings-market-section .rankings-markets { border-bottom:0; }
  .rankings-market-section+.rankings-platform-section { border-top:0; }
  .rankings-platform-section { padding-block:var(--space-xl); }
  .rankings-editorial-grid--analysis { border-top:0; }
  .rankings-editorial-grid--analysis>section+section { border-top:0; }
  .rankings-editorial-grid--analysis .rankings-method-factors { border-top:0; }
  .rankings-editorial-grid--analysis .rankings-method-factors>div { border-bottom:0; }
  .rankings-faq { padding-bottom:0; }
  .rankings-faq-grid .rankings-faq-item { padding-inline:0; }
  .rankings-faq-grid .rankings-faq-item:last-child { padding-bottom:0; }
}

@media (max-width: 640px) {
  .rankings-page { padding-top:var(--space-lg); }
  body:has(.lz-nav) .rankings-page { padding-top:calc(var(--space-section) + var(--space-lg)); }
  .rankings-hero { padding-top:var(--space-lg); }
  .rankings-hero-title { font-size:var(--primitive-size-40); }
  .rankings-hero-actions { display:grid; width:100%; }
  .rankings-hero-actions .ds-button { width:100%; min-width:0; }
  .rankings-hero-board li { grid-template-columns:var(--primitive-size-24) minmax(0,1fr) auto; gap:var(--space-sm); }
  .rankings-hero-firm { gap:var(--space-sm); }
  .rankings-hero-score strong { font-size:var(--font-h4); }
  .rankings-hero-board dl { grid-template-columns:1fr; }
  .rankings-hero-board dl>div+div { padding-inline-start:0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-methodology-strip,.rankings-index .rankings-methodology-strip { grid-template-columns:1fr; }
  .rankings-methodology-strip>* { padding-inline:0; }
  .rankings-methodology-strip>*+*,.rankings-methodology-strip>a { grid-column:auto; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-market-section,.rankings-discovery-section,.rankings-editorial-grid,.rankings-offers-band,.rankings-list-section,.rankings-seo-band,.rankings-related,.rankings-faq { padding-block:var(--space-xl); }
  .rankings-market { grid-template-columns:var(--primitive-size-40) minmax(0,1fr); padding:var(--space-lg) var(--space-md); gap:var(--space-lg) var(--space-md); }
  .rankings-market-number { font-size:var(--primitive-size-40); }
  .rankings-market h3 { font-size:var(--font-h4); }
  .rankings-market p { font-size:var(--font-body-small); }
  .rankings-discovery-link { grid-template-columns:var(--primitive-size-46) minmax(0,1fr) var(--primitive-size-18); gap:var(--space-md); min-height:calc(var(--space-section) + var(--space-lg)); padding-block:var(--space-md); }
  .rankings-discovery-grid--platforms { grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; }
  .rankings-discovery-icon { width:var(--primitive-size-46); height:var(--primitive-size-40); }
  .rankings-discovery-copy strong { font-size:var(--font-h5); }
  .rankings-rule-link { grid-template-columns:var(--primitive-size-24) minmax(0,1fr) var(--select-chevron-size); gap:var(--space-sm) var(--space-md); }
  .rankings-rule-link .rankings-count { grid-column:2; }
  .rankings-rule-link>svg:last-child { grid-column:3; grid-row:1; }
  .rankings-method-factors>div { grid-template-columns:1fr; gap:var(--space-xs); }
  .rankings-offers-band>div { display:grid; width:100%; gap:0; }
  .rankings-offers-band>div>a { width:100%; min-height:var(--button-height); justify-content:space-between; }
  .rankings-section-head h2 { font-size:var(--font-h2); }
  .rankings-personalize { width:100%; }
  .rankings-firm-cell { grid-template-columns:var(--primitive-size-24) minmax(0,1fr); gap:var(--space-sm); }
  .rankings-availability { margin-inline-start:calc(var(--entity-logo-size) + var(--space-sm)); }
  .rankings-loss-pair { gap:0; }
  .rankings-platform-logos { align-content:start; }
  .rankings-decision-buttons { max-width:none; }
  .rankings-path-step,.rankings-related-link,.rankings-faq-item { padding:var(--space-lg) 0; }
  .rankings-country-section.pf-country-checker { gap:var(--space-lg); }
  .rankings-country-section .pf-country-index-head h2 { font-size:var(--font-h2); }
  .rankings-country-section .pf-country-index-head p { font-size:var(--font-body); }
  .rankings-country-section .pf-country-guide-grid { grid-template-columns:1fr; }
  .rankings-country-section .pf-country-guide-grid>a { min-height:var(--space-section); }
  .rankings-country-section .pf-country-panel,.rankings-country-section .pf-country-index-browser { padding:var(--space-lg); }
  .rankings-country-section .pf-country-actions { display:grid; grid-template-columns:1fr; }
  .rankings-country-section .pf-country-actions>* { width:100%; justify-content:center; }
  .rankings-country-section .pf-country-firms-toggle { width:100%; }
}

@media (max-width: 380px) {
  .rankings-market { grid-template-columns:1fr; }
  .rankings-market-number { font-size:var(--font-h2); }
  .rankings-market-link { align-items:flex-start; flex-direction:column; }
  .rankings-loss-pair { grid-template-columns:1fr; }
  .rankings-loss-pair>span+span { margin-top:var(--space-md); padding:var(--space-md) 0 0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rankings-decision-buttons { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .rankings-discovery-link,.rankings-discovery-all,.rankings-related-link { transition:none; }
}

/* Annotation review: editorial support sections begin without redundant outer rules. */
.rankings-seo-band { border-top:0; }
.rankings-related,.rankings-related+.rankings-faq,.rankings-related-grid { border-block:0; }
.rankings-availability { display:flex; align-items:flex-start; gap:var(--space-xs); color:var(--color-text-muted); font:var(--font-weight-body) var(--font-caption)/var(--line-height-caption) var(--font-family); }
.rankings-availability :is(i,svg) { flex:none; width:var(--select-chevron-size); height:var(--select-chevron-size); color:var(--color-warning); }

.rankings-related-link:nth-child(3n+1),.rankings-faq-item:nth-child(3n+1) { padding-inline-start:0; border-inline-start:0; }
