:root {
 --primary: #2563eb;
 --primary-dark: #1d4ed8;
 --primary-darker: #1e40af;
 --primary-soft: #dbeafe;
 --bg: #f4f5f7;
 --bg-soft: #eceef2;
 --card: #ffffff;
 --border: #e4e6eb;
 --border-strong: #c9cdd4;
 --ink: #1a1a1a;
 --text: #2c2c2c;
 --text-soft: #5c5c5c;
 --text-mute: #8a8a8a;
 --green: #2e7d32;
 --green-soft: #e8f5e9;
 --orange: #ef6c00;
 --orange-soft: #fff3e0;
 --gold: #f9a825;
 --gold-soft: #fff8e1;
 --red: #c62828;
 --red-soft: #ffebee;
 --blue: #1565c0;
 --blue-soft: #e3f2fd;
 --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
 --mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
 --ar: "SF Arabic", "Noto Sans Arabic", "Geeza Pro", Tahoma, sans-serif;
 }
 * { margin: 0; padding: 0; box-sizing: border-box; -webkit-font-smoothing: antialiased; }
 html, body { height: auto; overflow: visible; }
 html { background: var(--bg); }
 body {
 font-family: var(--sans);
 background: var(--bg);
 color: var(--text);
 line-height: 1.55;
 font-size: 13.5px;
 text-rendering: optimizeLegibility;
 min-width: 0;
 }
 html[lang="ar"] body { font-family: var(--ar); }
 ::selection { background: var(--primary); color: white; }
 a { color: var(--primary); text-decoration: none; }
 a:hover { color: var(--primary-dark); }

 .wrap { max-width: 1280px; margin: 0 auto; padding: 0 16px; }

 /* ========== TOP HEADER ========== */
 .wf-top {
 background: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);
 color: white;
 padding: 10px 0;
 position: sticky; top: 0; z-index: 51;
 box-shadow: 0 1px 3px rgba(0,0,0,0.08);
 }
 .wf-top .wrap { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
 .wf-logo {
 display: inline-flex; align-items: baseline;
 color: white; text-decoration: none;
 font-weight: 900; font-size: 22px;
 letter-spacing: -0.04em;
 line-height: 1;
 /* Brand wordmark is always read FOREX BROKER + CHECKER, even in RTL pages */
 direction: ltr;
 unicode-bidi: isolate;
 }
 .wf-logo .a { color: white; }
 .wf-logo .b {
 background: white; color: var(--primary);
 padding: 2px 6px;
 margin-left: 3px;
 border-radius: 3px;
 font-size: 18px;
 }

.wf-tag {
 color: rgba(255,255,255,0.85);
 font-size: 12.5px;
 padding-left: 14px;
 border-left: 1px solid rgba(255,255,255,0.3);
 margin-left: 4px;
 }
 @media (max-width: 720px) { .wf-tag { display: none; } }
 .wf-top-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
 .wf-lang {
 display: inline-flex;
 background: rgba(255,255,255,0.15);
 border-radius: 4px;
 padding: 1px;
 }
 .wf-lang button {
 background: transparent; border: none;
 color: rgba(255,255,255,0.85);
 padding: 4px 10px;
 font-family: var(--mono); font-size: 11px; font-weight: 700;
 letter-spacing: 0.04em;
 cursor: pointer;
 border-radius: 3px;
 transition: all 0.15s;
 }
 .wf-lang button:hover:not(.active) { color: white; background: rgba(255,255,255,0.1); }
 .wf-lang button.active { background: white; color: var(--primary); }
 .wf-dl-btn {
 background: white; color: var(--primary);
 padding: 5px 12px;
 border-radius: 4px;
 font-weight: 700; font-size: 12px;
 border: 1px solid white;
 }
 .wf-dl-btn:hover { background: var(--primary-soft); color: var(--primary); }

 /* ========== HORIZONTAL NAV ========== */
 .wf-nav {
 background: white;
 border-bottom: 1px solid var(--border);
 overflow-x: auto;
 position: sticky; top: var(--wf-top-height, 48px); z-index: 50;
 }
 .wf-nav .wrap {
 display: flex; gap: 0; align-items: center;
 flex-wrap: nowrap;
 }
 .wf-nav a {
 display: inline-block;
 padding: 13px 18px;
 color: var(--text);
 font-weight: 600; font-size: 13.5px;
 white-space: nowrap;
 border-bottom: 2px solid transparent;
 transition: all 0.15s;
 }
 .wf-nav a:hover { color: var(--primary); }
 .wf-nav a.active {
 color: var(--primary);
 border-bottom-color: var(--primary);
 }
 .wf-nav a.icon::before { content: ""; display: inline-block; }

 /* ========== HERO ========== */
 .wf-hero {
 background:
 linear-gradient(135deg, rgba(37, 99, 235, 0.04), rgba(37, 99, 235, 0.0) 60%),
 var(--card);
 border-bottom: 1px solid var(--border);
 padding: 36px 0 28px;
 }
 .wf-hero h1 {
 font-size: 26px; font-weight: 800;
 color: var(--ink);
 letter-spacing: -0.02em;
 margin-bottom: 8px;
 }
 .wf-hero h1 .accent { color: var(--primary); }
 .wf-hero .sub {
 color: var(--text-soft); font-size: 14px;
 margin-bottom: 18px; max-width: 60ch;
 }
 .wf-search {
 display: flex; gap: 0;
 max-width: 600px;
 border: 2px solid var(--primary);
 border-radius: 6px;
 background: white;
 position: relative;
 }
 .wf-search input {
 flex: 1; border: none; outline: none;
 padding: 10px 14px;
 font-family: inherit; font-size: 14px;
 background: transparent;
 color: var(--text);
 border-radius: 4px 0 0 4px;
 }
 html[dir="rtl"] .wf-search input { border-radius: 0 4px 4px 0; }
 .wf-search input::placeholder { color: var(--text-mute); }
 .wf-search button {
 background: var(--primary); color: white;
 border: none; padding: 10px 22px;
 font-family: inherit; font-weight: 700; font-size: 13px;
 cursor: pointer;
 transition: background 0.15s;
 border-radius: 0 4px 4px 0;
 }
 html[dir="rtl"] .wf-search button { border-radius: 4px 0 0 4px; }
 .wf-search button:hover { background: var(--primary-dark); }
 .wf-stats-strip {
 display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 14px; margin-top: 22px;
 }
 @media (max-width: 720px) { .wf-stats-strip { grid-template-columns: 1fr 1fr; } }
 .wf-stats-strip .stat {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 12px 16px;
 border-left: 3px solid var(--primary);
 }
 .wf-stats-strip .stat .num {
 font-size: 22px; font-weight: 800;
 color: var(--ink); line-height: 1;
 letter-spacing: -0.02em;
 }
 .wf-stats-strip .stat .lab {
 font-size: 11px; color: var(--text-mute);
 margin-top: 4px;
 letter-spacing: 0.02em;
 }

 /* ========== SECTION HEADS ========== */
 .wf-section { padding: 24px 0; }
 .wf-section-head {
 display: flex; align-items: center; justify-content: space-between;
 margin-bottom: 14px;
 padding-bottom: 8px;
 border-bottom: 2px solid var(--primary);
 }
 .wf-section-head h2 {
 font-size: 17px; font-weight: 800;
 color: var(--ink);
 letter-spacing: -0.01em;
 display: flex; align-items: center; gap: 8px;
 }
 .wf-section-head h2::before {
 content: "";
 width: 4px; height: 16px;
 background: var(--primary);
 display: inline-block;
 }
 .wf-section-head .more {
 font-size: 12.5px; font-weight: 600;
 color: var(--text-mute);
 }
 .wf-section-head .more:hover { color: var(--primary); }

 /* ========== HOT BROKERS STRIP ========== */
 .wf-hot {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 14px 16px;
 }
 .wf-hot-grid {
 display: grid;
 grid-template-columns: repeat(8, 1fr);
 gap: 8px;
 }
 @media (max-width: 900px) { .wf-hot-grid { grid-template-columns: repeat(4, 1fr); } }
 @media (max-width: 480px) { .wf-hot-grid { grid-template-columns: repeat(3, 1fr); } }
 .hot-broker {
 display: flex; flex-direction: column; align-items: center; gap: 6px;
 padding: 10px 6px;
 border-radius: 4px;
 color: var(--text);
 font-size: 11.5px; font-weight: 600;
 text-align: center;
 transition: background 0.15s;
 }
 .hot-broker:hover { background: var(--bg-soft); color: var(--ink); }
 .hot-broker.featured { background: var(--primary-soft); }
 .hot-broker.featured:hover { background: #fcd6dc; }
 .hot-icon {
 width: 44px; height: 44px;
 background: var(--ink);
 color: white;
 border-radius: 8px;
 display: flex; align-items: center; justify-content: center;
 font-family: var(--mono);
 font-weight: 800; font-size: 11px;
 letter-spacing: -0.04em;
 flex-shrink: 0;
 }
 .hot-broker.featured .hot-icon {
 background: var(--primary);
 }

 .hot-icon img {
 width: 100%;
 height: 100%;
 object-fit: contain;
 border-radius: 6px;
 background: #ffffff;
 padding: 4px;
 display: block;
 }
 .hot-icon.hot-icon-fallback {
 background: var(--ink);
 color: white;
 font-family: var(--mono);
 font-weight: 800;
 font-size: 11px;
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .hot-icon.hot-icon-fallback::after { content: "—"; }
 .hot-broker.featured .hot-icon { background: var(--primary-soft); }


 /* ========== RANKING LIST ========== */
 .wf-rank-list {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 overflow: hidden;
 }
 .rank-row {
 display: grid;
 grid-template-columns: 36px 200px 1fr auto auto;
 gap: 14px; align-items: center;
 padding: 14px 18px;
 border-bottom: 1px solid var(--border);
 }
 .rank-row:last-child { border-bottom: none; }
 .rank-row.featured {
 background: linear-gradient(90deg, var(--primary-soft) 0%, transparent 60%);
 border-left: 3px solid var(--primary);
 }
 .rank-num {
 font-family: var(--mono);
 font-size: 18px; font-weight: 800;
 color: var(--text-mute);
 text-align: center;
 }
 .rank-row.featured .rank-num { color: var(--primary); font-size: 22px; }
 .rank-broker { min-width: 0; }
 .rank-name {
 font-size: 16px; font-weight: 800;
 color: var(--ink);
 letter-spacing: -0.01em;
 margin-bottom: 2px;
 }
 .rank-row.featured .rank-name { color: var(--primary); }
 .rank-meta {
 font-size: 11.5px; color: var(--text-mute);
 line-height: 1.3;
 }
 .rank-tags {
 display: flex; flex-wrap: wrap; gap: 5px;
 align-items: center;
 }
 .tag {
 display: inline-block;
 font-size: 10.5px; font-weight: 600;
 padding: 3px 7px;
 border-radius: 3px;
 background: var(--bg-soft);
 color: var(--text-soft);
 border: 1px solid var(--border);
 line-height: 1.3;
 white-space: nowrap;
 }
 .tag.tag-pick {
 background: var(--primary); color: white;
 border-color: var(--primary);
 font-weight: 700;
 letter-spacing: 0.04em;
 text-transform: uppercase;
 }
 .tag.tag-tier1 {
 background: var(--green); color: white;
 border-color: var(--green);
 font-weight: 700; letter-spacing: 0.04em;
 }
 .tag.tag-tier1::before { content: "✓ "; }
 .tag.tag-offshore {
 background: var(--gold-soft); color: #856404;
 border-color: var(--gold);
 font-weight: 700;
 letter-spacing: 0.04em; text-transform: uppercase;
 }
 .tag.tag-cat {
 background: var(--blue-soft); color: var(--blue);
 border-color: rgba(21, 101, 192, 0.3);
 }
 .tag.tag-reg { background: var(--green-soft); color: var(--green); border-color: rgba(46, 125, 50, 0.25); }

 /* Broker logo in rank-num cell */
 .rank-num img {
 width: 32px;
 height: 32px;
 object-fit: contain;
 border-radius: 6px;
 background: #ffffff;
 border: 1px solid var(--border);
 padding: 3px;
 display: block;
 margin: 0 auto;
 box-shadow: 0 1px 3px rgba(0,0,0,0.06);
 transition: transform 0.15s ease;
 }
 .rank-num img:hover { transform: scale(1.08); }
 .rank-row.featured .rank-num img {
 width: 38px; height: 38px;
 border-color: var(--primary);
 box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25);
 }
 .rank-num.logo-fallback::after {
 content: "—";
 color: var(--text-mute);
 font-size: 18px;
 }

 .rank-score {
 text-align: center;
 min-width: 70px;
 }
 .rank-score .score-num {
 font-size: 24px; font-weight: 800;
 color: var(--primary);
 line-height: 1;
 letter-spacing: -0.03em;
 }
 .rank-score .score-out {
 font-size: 10px; color: var(--text-mute);
 margin-top: 3px;
 font-family: var(--mono);
 letter-spacing: 0.06em; text-transform: uppercase;
 }
 .rank-score-text {
 text-align: center;
 min-width: 70px;
 color: var(--text-soft);
 font-size: 11px;
 font-style: italic;
 line-height: 1.3;
 }
 .rank-cta {
 background: var(--primary); color: white;
 padding: 8px 16px;
 border-radius: 4px;
 font-weight: 700; font-size: 12px;
 text-decoration: none;
 transition: background 0.15s;
 white-space: nowrap;
 }
 .rank-cta:hover { background: var(--primary-dark); color: white; }
 .rank-cta::after { content: " →"; }
 html[dir="rtl"] .rank-cta::after { content: " ←"; }
 @media (max-width: 900px) {
 .rank-row { grid-template-columns: 28px 1fr; gap: 10px; padding: 12px; row-gap: 8px; }
 .rank-broker { grid-column: 2; }
 .rank-tags { grid-column: 1 / -1; }
 .rank-score, .rank-score-text, .rank-cta { grid-column: 1 / -1; justify-self: start; text-align: left; }
 .rank-row .rank-visit-mini { grid-column: 1 / -1; justify-self: end; }
 .rank-row.featured { padding-left: 12px; }
 }

 /* ========== WIDGET GRID (3-col) ========== */
 .wf-widget-grid {
 display: grid;
 grid-template-columns: 1.4fr 1fr 1fr;
 gap: 16px;
 margin-bottom: 16px;
 }
 @media (max-width: 900px) { .wf-widget-grid { grid-template-columns: 1fr; } }
 .wf-widget {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 16px;
 }
 .wf-widget h3 {
 font-size: 14px; font-weight: 800;
 color: var(--ink);
 margin-bottom: 12px; padding-bottom: 8px;
 border-bottom: 1px solid var(--border);
 display: flex; align-items: center; gap: 8px;
 }
 .wf-widget h3::before {
 content: "";
 width: 3px; height: 14px;
 background: var(--primary);
 display: inline-block;
 }
 .wf-widget p { font-size: 12.5px; line-height: 1.6; color: var(--text-soft); margin-bottom: 8px; }
 .wf-widget p:last-child { margin-bottom: 0; }
 .wf-widget p strong { color: var(--ink); font-weight: 700; }

 /* Score breakdown widget */
 .bd-list { display: flex; flex-direction: column; gap: 8px; }
 .bd-row {
 display: grid; grid-template-columns: 100px 1fr 30px;
 gap: 10px; align-items: center;
 font-size: 11.5px;
 }
 .bd-row .lab { color: var(--text-soft); font-weight: 600; }
 .bd-row .bar {
 height: 5px; background: var(--bg-soft);
 border-radius: 3px; overflow: hidden;
 }
 .bd-row .fill {
 height: 100%;
 background: linear-gradient(90deg, var(--primary), var(--primary-dark));
 border-radius: 3px;
 }
 .bd-row .num { font-family: var(--mono); font-weight: 700; color: var(--primary); text-align: right; font-size: 11.5px; }

 /* Stat box list */
 .stat-list { display: flex; flex-direction: column; gap: 10px; }
 .stat-item {
 display: flex; justify-content: space-between; align-items: center;
 padding: 8px 10px;
 background: var(--bg-soft);
 border-radius: 4px;
 font-size: 12px;
 }
 .stat-item .k { color: var(--text-soft); font-weight: 600; }
 .stat-item .v { color: var(--ink); font-weight: 800; font-size: 14px; }
 .stat-item .v.warn { color: var(--orange); }
 .stat-item .v.danger { color: var(--red); }
 .stat-item .v.ok { color: var(--green); }

 /* ========== ASSET STRIP ========== */
 .asset-strip {
 display: grid; grid-template-columns: repeat(6, 1fr);
 gap: 10px;
 margin-top: 12px;
 }
 @media (max-width: 720px) { .asset-strip { grid-template-columns: repeat(3, 1fr); } }
 .asset-strip .a-cell {
 background: var(--bg-soft);
 border: 1px solid var(--border);
 border-radius: 4px;
 padding: 12px 6px;
 text-align: center;
 }
 .asset-strip .a-cell .ic { font-size: 18px; display: block; margin-bottom: 4px; }
 .asset-strip .a-cell .name { font-size: 11px; font-weight: 700; color: var(--text); }

 /* ========== NEWS / FEED ========== */
 .wf-feed { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
 @media (max-width: 720px) { .wf-feed { grid-template-columns: 1fr; } }
 .feed-item {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 4px;
 padding: 12px 14px;
 display: flex; align-items: flex-start; gap: 10px;
 }
 .feed-item .feed-cat {
 font-size: 9.5px; font-weight: 800;
 text-transform: uppercase; letter-spacing: 0.08em;
 padding: 3px 7px;
 border-radius: 3px;
 flex-shrink: 0;
 }
 .feed-cat.cat-faq { background: var(--blue-soft); color: var(--blue); }
 .feed-cat.cat-pros { background: var(--green-soft); color: var(--green); }
 .feed-cat.cat-cons { background: var(--orange-soft); color: var(--orange); }
 .feed-cat.cat-risk { background: var(--red-soft); color: var(--red); }
 .feed-item .feed-body { flex: 1; min-width: 0; }
 .feed-item .feed-title { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 4px; line-height: 1.35; }
 .feed-item .feed-snippet { font-size: 11.5px; color: var(--text-soft); line-height: 1.45; }
 .feed-item .feed-date { font-size: 10.5px; color: var(--text-mute); margin-top: 4px; font-family: var(--mono); }

 /* ========== MEDIATION BAR ========== */
 .mediation {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 overflow: hidden;
 }
 .mediation-bar {
 background: linear-gradient(135deg, var(--primary-darker), var(--primary));
 color: white;
 padding: 16px 20px;
 display: grid;
 grid-template-columns: 1fr 1fr 1fr;
 gap: 14px;
 }
 @media (max-width: 720px) { .mediation-bar { grid-template-columns: 1fr; } }
 .mediation-bar .m-stat .lab {
 font-size: 11px; opacity: 0.85;
 text-transform: uppercase; letter-spacing: 0.08em;
 margin-bottom: 4px;
 }
 .mediation-bar .m-stat .num {
 font-size: 20px; font-weight: 800;
 letter-spacing: -0.02em;
 }
 .mediation-content {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0;
 }
 @media (max-width: 720px) { .mediation-content { grid-template-columns: 1fr; } }
 .mediation-content > div {
 padding: 16px 20px;
 border-right: 1px solid var(--border);
 }
 .mediation-content > div:last-child { border-right: none; border-top: none; }
 @media (max-width: 720px) {
 .mediation-content > div { border-right: none; border-bottom: 1px solid var(--border); }
 .mediation-content > div:last-child { border-bottom: none; }
 }
 .mediation-content h4 {
 font-size: 12.5px; font-weight: 800;
 margin-bottom: 8px;
 text-transform: uppercase; letter-spacing: 0.06em;
 }
 .mediation-content .legal-disc h4 { color: var(--gold); }
 .mediation-content .legal-risk h4 { color: var(--red); }
 .mediation-content p { font-size: 11.5px; line-height: 1.55; color: var(--text-soft); }
 .mediation-content p strong { color: var(--ink); }

 /* ========== FAQ ========== */
 .wf-faq details {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 4px;
 margin-bottom: 6px;
 }
 .wf-faq details[open] { border-color: var(--primary); }
 .wf-faq summary {
 padding: 12px 16px;
 font-weight: 700; font-size: 13px;
 color: var(--ink);
 cursor: pointer; list-style: none;
 display: flex; justify-content: space-between; align-items: center; gap: 14px;
 }
 .wf-faq summary::-webkit-details-marker { display: none; }
 .wf-faq summary::after {
 content: "+";
 color: var(--primary); font-weight: 700; font-size: 18px;
 transition: transform 0.2s;
 }
 .wf-faq details[open] summary::after { transform: rotate(45deg); }
 .wf-faq .a {
 padding: 0 16px 14px;
 color: var(--text-soft);
 font-size: 12.5px; line-height: 1.6;
 }

 /* ========== FOOTER ========== */
 .wf-foot {
 background: var(--ink);
 color: rgba(255,255,255,0.7);
 padding: 24px 0 18px;
 margin-top: 32px;
 }
 .wf-foot .wrap { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
 @media (max-width: 720px) { .wf-foot .wrap { grid-template-columns: 1fr; } }
 .wf-foot h5 {
 color: white;
 font-size: 12.5px; font-weight: 800;
 text-transform: uppercase; letter-spacing: 0.06em;
 margin-bottom: 10px;
 }
 .wf-foot p, .wf-foot a { font-size: 11.5px; color: rgba(255,255,255,0.65); line-height: 1.6; }
 .wf-foot a:hover { color: white; }
 .wf-foot .copyright {
 grid-column: 1 / -1;
 border-top: 1px solid rgba(255,255,255,0.1);
 padding-top: 14px;
 margin-top: 8px;
 text-align: center;
 font-family: var(--mono);
 font-size: 11px;
 letter-spacing: 0.04em;
 }
 .wf-foot .copyright b { color: var(--primary); }
 /* Tab views */
 .tab-view { display: block; }
 .tab-view[hidden] { display: none; }
 .wf-page-hero {
 background: linear-gradient(135deg, var(--primary-darker), var(--primary));
 color: white;
 padding: 28px 0 24px;
 border-bottom: 4px solid var(--primary-darker);
 margin-bottom: 0;
 }
 .wf-page-hero .crumbs {
 font-family: var(--mono);
 font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
 color: rgba(255,255,255,0.65);
 margin-bottom: 6px;
 }
 .wf-page-hero h1 {
 font-size: 26px; font-weight: 800;
 letter-spacing: -0.02em;
 color: white;
 margin-bottom: 6px;
 }
 .wf-page-hero .sub { font-size: 14px; color: rgba(255,255,255,0.85); max-width: 72ch; }
 /* Filter chip row */
 .wf-filters {
 display: flex; flex-wrap: wrap; gap: 6px;
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 10px;
 margin-bottom: 14px;
 }
 .wf-filters .chip {
 font-size: 11.5px; font-weight: 600;
 padding: 5px 12px;
 border-radius: 999px;
 background: var(--bg-soft);
 color: var(--text-soft);
 cursor: pointer;
 border: 1px solid var(--border);
 transition: all 0.15s;
 }
 .wf-filters .chip.active { background: var(--primary); color: white; border-color: var(--primary); }
 .wf-filters .chip:hover:not(.active) { background: var(--primary-soft); color: var(--primary); border-color: var(--primary); }

 /* Warning cards (Exposure tab) */
 .warn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
 @media (max-width: 720px) { .warn-grid { grid-template-columns: 1fr; } }
 .warn-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 18px;
 border-left: 4px solid var(--orange);
 }
 .warn-card.danger { border-left-color: var(--red); }
 .warn-card.info { border-left-color: var(--blue); }
 .warn-card .badge {
 display: inline-block;
 font-size: 10px; font-weight: 800;
 padding: 3px 8px;
 border-radius: 3px;
 text-transform: uppercase; letter-spacing: 0.06em;
 margin-bottom: 8px;
 }
 .warn-card .badge.warn { background: var(--orange-soft); color: var(--orange); }
 .warn-card .badge.danger { background: var(--red-soft); color: var(--red); }
 .warn-card .badge.info { background: var(--blue-soft); color: var(--blue); }
 .warn-card h3 { font-size: 15px; font-weight: 800; color: var(--ink); margin-bottom: 8px; }
 .warn-card p { font-size: 12.5px; line-height: 1.6; color: var(--text-soft); }
 .warn-card p strong { color: var(--ink); font-weight: 700; }

 /* Regulator cards grid */
 .reg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
 @media (max-width: 900px) { .reg-grid { grid-template-columns: 1fr 1fr; } }
 @media (max-width: 600px) { .reg-grid { grid-template-columns: 1fr; } }
 .reg-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 16px;
 border-top: 3px solid var(--green);
 }
 .reg-card.offshore { border-top-color: var(--gold); }
 .reg-card .reg-head {
 display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
 margin-bottom: 8px;
 }
 .reg-card .reg-name { font-size: 16px; font-weight: 800; color: var(--ink); letter-spacing: -0.01em; }
 .reg-card .reg-tier {
 font-family: var(--mono);
 font-size: 9.5px; font-weight: 800;
 padding: 2px 6px;
 border-radius: 3px;
 text-transform: uppercase; letter-spacing: 0.06em;
 }
 .reg-card .reg-tier.tier1 { background: var(--green-soft); color: var(--green); }
 .reg-card .reg-tier.offshore { background: var(--gold-soft); color: #856404; }
 .reg-card .reg-country {
 font-family: var(--mono);
 font-size: 10.5px; color: var(--text-mute);
 text-transform: uppercase; letter-spacing: 0.06em;
 margin-bottom: 8px;
 }
 .reg-card p { font-size: 12px; color: var(--text-soft); line-height: 1.55; }

 /* Article (education / news extended) */
 .art-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
 @media (max-width: 900px) { .art-grid { grid-template-columns: 1fr 1fr; } }
 @media (max-width: 600px) { .art-grid { grid-template-columns: 1fr; } }
 .art-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 16px;
 display: flex; flex-direction: column; gap: 8px;
 transition: box-shadow .2s ease, border-color .2s ease;
 }
 .art-card[open] {
 box-shadow: 0 6px 20px rgba(20,40,80,0.08);
 border-color: var(--primary);
 }
 details.art-card > summary {
 list-style: none; cursor: pointer;
 display: flex; flex-direction: column; gap: 8px;
 }
 details.art-card > summary::-webkit-details-marker { display: none; }
 .art-card .art-cat {
 align-self: flex-start;
 font-size: 9.5px; font-weight: 800;
 padding: 3px 7px;
 border-radius: 3px;
 background: var(--primary-soft);
 color: var(--primary);
 text-transform: uppercase; letter-spacing: 0.08em;
 }
 .art-card h3 {
 font-size: 14px; font-weight: 800;
 color: var(--ink);
 line-height: 1.35;
 }
 .art-card p { font-size: 12px; color: var(--text-soft); line-height: 1.55; }
 .art-card .art-readmore {
 font-size: 12.5px; color: var(--primary); font-weight: 600;
 margin-top: auto; text-decoration: none; display: inline-block;
 }
 .art-card .art-readmore:hover { color: var(--primary-dark); text-decoration: underline; }
 .art-card[open] .art-readmore { display: none; }
 .art-card .art-body {
 margin-top: 10px; padding-top: 12px;
 border-top: 1px dashed var(--border);
 font-size: 13px; line-height: 1.65; color: var(--text);
 }
 .art-card .art-body p { font-size: 13px; color: var(--text); line-height: 1.65; margin-bottom: 8px; }
 .art-card .art-body p:last-child { margin-bottom: 0; }

 /* Tool cards */
 .tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
 @media (max-width: 900px) { .tool-grid { grid-template-columns: 1fr 1fr; } }
 @media (max-width: 600px) { .tool-grid { grid-template-columns: 1fr; } }
 .tool-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 18px;
 text-align: center;
 transition: all 0.15s;
 }
 .tool-card:hover { border-color: var(--primary); transform: translateY(-2px); }
 .tool-card .tool-icon {
 width: 44px; height: 44px;
 background: var(--primary-soft);
 color: var(--primary);
 border-radius: 8px;
 display: inline-flex; align-items: center; justify-content: center;
 font-size: 22px;
 margin-bottom: 10px;
 }
 .tool-card h3 { font-size: 14px; font-weight: 800; color: var(--ink); margin-bottom: 4px; }
 .tool-card p { font-size: 11.5px; color: var(--text-soft); line-height: 1.5; margin-bottom: 8px; }
 .tool-card .tool-tag {
 font-size: 9.5px; font-weight: 700;
 padding: 2px 7px;
 border-radius: 3px;
 background: var(--bg-soft);
 color: var(--text-mute);
 text-transform: uppercase; letter-spacing: 0.06em;
 }

 /* Asset detail cards */
 .asset-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
 @media (max-width: 720px) { .asset-detail-grid { grid-template-columns: 1fr; } }
 .asset-detail {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 18px;
 display: flex; gap: 14px;
 }
 .asset-detail .ad-icon {
 width: 48px; height: 48px;
 background: var(--primary-soft);
 color: var(--primary);
 border-radius: 8px;
 display: flex; align-items: center; justify-content: center;
 font-size: 24px;
 flex-shrink: 0;
 }
 .asset-detail .ad-body { flex: 1; min-width: 0; }
 .asset-detail h3 { font-size: 16px; font-weight: 800; color: var(--ink); margin-bottom: 4px; }
 .asset-detail p { font-size: 12.5px; color: var(--text-soft); line-height: 1.55; margin-bottom: 6px; }
 .asset-detail .examples {
 font-family: var(--mono);
 font-size: 10.5px; color: var(--primary);
 letter-spacing: 0.04em;
 }

 /* Community placeholder */
 .coming-soon {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 56px 20px;
 text-align: center;
 }
 .coming-soon h3 { font-size: 22px; font-weight: 800; color: var(--ink); margin-bottom: 8px; }
 .coming-soon p { font-size: 14px; color: var(--text-soft); max-width: 50ch; margin: 0 auto; line-height: 1.55; }
 .coming-soon .cs-icon { font-size: 44px; margin-bottom: 14px; opacity: 0.6; }

 /* ===== EYE-CATCHING #1 — featured rank row ===== */
 .rank-row.featured {
 background:
 linear-gradient(135deg, var(--primary-soft) 0%, rgba(255,255,255,0.6) 65%, white 100%),
 white;
 border-left: 5px solid var(--primary);
 padding: 18px 20px;
 position: relative;
 overflow: visible;
 margin-top: 14px;
 animation: featuredGlow 3.4s ease-in-out infinite;
 }
 .rank-row.featured::before {
 content: "★ #1 EDITOR'S PICK";
 position: absolute;
 top: -11px; left: 14px;
 background: linear-gradient(90deg, var(--primary), var(--primary-darker));
 color: white;
 font-family: var(--mono);
 font-size: 10px; font-weight: 800;
 letter-spacing: 0.14em; text-transform: uppercase;
 padding: 4px 10px;
 border-radius: 4px;
 box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
 z-index: 2;
 }
 html[dir="rtl"] .rank-row.featured::before { left: auto !important; right: 16px !important; }
 .rank-row.featured .rank-name { font-size: 18px; font-weight: 900; }
 .rank-row.featured .score-num {
 font-size: 30px;
 text-shadow: 0 2px 14px rgba(37, 99, 235, 0.32);
 }
 .rank-row.featured .rank-cta {
 background: linear-gradient(135deg, var(--primary), var(--primary-dark));
 padding: 10px 20px;
 font-size: 13px;
 box-shadow: 0 8px 20px rgba(37, 99, 235, 0.38);
 animation: ctaBob 2.6s ease-in-out infinite;
 }
 @keyframes featuredGlow {
 0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.0), 0 6px 18px rgba(37, 99, 235, 0.12); }
 50% { box-shadow: 0 0 0 8px rgba(37, 99, 235, 0.06), 0 12px 28px rgba(37, 99, 235, 0.22); }
 }
 @keyframes ctaBob {
 0%, 100% { transform: translateY(0); }
 50% { transform: translateY(-2px); }
 }
 .tag.tag-pick {
 animation: pickFlash 2.2s ease-in-out infinite;
 position: relative;
 }
 @keyframes pickFlash {
 0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.45); }
 50% { box-shadow: 0 0 0 5px rgba(37, 99, 235, 0); }
 }

 /* Hot broker featured: ring + #1 badge + glow */
 .hot-broker.featured {
 position: relative;
 background: linear-gradient(135deg, var(--primary-soft) 0%, white 100%);
 border: 2px solid var(--primary);
 border-radius: 8px;
 box-shadow: 0 4px 16px rgba(37, 99, 235, 0.18);
 animation: featuredGlow 3.4s ease-in-out infinite;
 }
 .hot-broker.featured::before {
 content: "#1";
 position: absolute;
 top: -8px; right: -8px;
 background: var(--primary); color: white;
 font-family: var(--mono);
 font-size: 10px; font-weight: 800;
 width: 24px; height: 24px;
 border-radius: 50%;
 display: flex; align-items: center; justify-content: center;
 border: 2px solid white;
 box-shadow: 0 4px 10px rgba(37, 99, 235, 0.45);
 z-index: 2;
 }
 html[dir="rtl"] .hot-broker.featured::before { right: auto; left: -8px; }
 .hot-broker.featured .hot-icon {
 background: linear-gradient(135deg, var(--primary), var(--primary-darker));
 box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4);
 }
 .hot-broker.featured span { font-weight: 700; color: var(--primary); }

 /* ===== Floating Top-Pick FAB ===== */
 .top-pick-fab {
 position: fixed;
 bottom: 22px; right: 22px;
 background: linear-gradient(135deg, var(--primary), var(--primary-darker));
 color: white;
 padding: 12px 18px 12px 12px;
 border-radius: 999px;
 font-size: 13px; font-weight: 700;
 text-decoration: none;
 box-shadow: 0 14px 32px rgba(37, 99, 235, 0.4);
 z-index: 200;
 display: inline-flex; align-items: center; gap: 10px;
 animation: fabPulse 3s ease-in-out infinite;
 transition: transform 0.2s;
 }
 .top-pick-fab:hover { color: white; transform: translateY(-2px); }
 .top-pick-fab .fab-star {
 background: white; color: var(--primary);
 width: 26px; height: 26px;
 border-radius: 50%;
 display: inline-flex; align-items: center; justify-content: center;
 font-size: 13px; font-weight: 900;
 flex-shrink: 0;
 }
 .top-pick-fab .fab-arrow { font-size: 14px; opacity: 0.85; }
 html[dir="rtl"] .top-pick-fab { right: auto; left: 22px; }
 html[dir="rtl"] .top-pick-fab .fab-arrow { transform: scaleX(-1); }
 @keyframes fabPulse {
 0%, 100% { box-shadow: 0 14px 32px rgba(37, 99, 235, 0.4), 0 0 0 0 rgba(37, 99, 235, 0.5); }
 50% { box-shadow: 0 16px 40px rgba(37, 99, 235, 0.5), 0 0 0 14px rgba(37, 99, 235, 0); }
 }
 @media (max-width: 720px) {
 .top-pick-fab { padding: 10px 14px 10px 10px; font-size: 12px; bottom: 16px; right: 16px; }
 html[dir="rtl"] .top-pick-fab { right: auto; left: 16px; }
 body { padding-bottom: 88px; }
 }
 @media (prefers-reduced-motion: reduce) {
 .rank-row.featured, .hot-broker.featured, .top-pick-fab, .tag.tag-pick, .rank-row.featured .rank-cta { animation: none; }
 }

 /* ===== SEARCH DROPDOWN ===== */
 .wf-search { position: relative; }
 .wf-search-results {
 position: absolute;
 top: calc(100% + 4px); left: 0; right: 0;
 background: white;
 border: 1px solid var(--border);
 border-radius: 6px;
 box-shadow: 0 14px 32px -8px rgba(0,0,0,0.18);
 max-height: 380px; overflow-y: auto;
 z-index: 80;
 display: none;
 }
 .wf-search-results.open { display: block; }
 .search-empty { padding: 18px; color: var(--text-mute); font-size: 13px; text-align: center; }
 .search-empty b { color: var(--ink); }
 .search-result {
 display: grid; grid-template-columns: 36px 1fr auto;
 gap: 12px; align-items: center;
 padding: 10px 14px;
 border-bottom: 1px solid var(--border);
 text-decoration: none;
 color: var(--text);
 cursor: pointer;
 transition: background 0.1s;
 }
 .search-result:last-child { border-bottom: none; }
 .search-result:hover, .search-result.active {
 background: var(--primary-soft);
 color: var(--text);
 }
 .search-result.featured {
 background: linear-gradient(90deg, var(--primary-soft) 0%, white 80%);
 }
 .search-result.featured .sr-name { color: var(--primary); }
 .search-result .sr-icon {
 width: 32px; height: 32px;
 background: var(--ink); color: white;
 border-radius: 6px;
 display: flex; align-items: center; justify-content: center;
 font-family: var(--mono);
 font-size: 10px; font-weight: 800;
 letter-spacing: -0.04em;
 flex-shrink: 0;
 }

 .search-result .sr-icon img {
 width: 100%;
 height: 100%;
 object-fit: contain;
 background: #ffffff;
 border-radius: 6px;
 padding: 3px;
 display: block;
 }
 .search-result .sr-icon.sr-icon-fallback {
 background: var(--ink);
 color: white;
 font-family: var(--mono);
 font-weight: 800;
 font-size: 11px;
 display: flex;
 align-items: center;
 justify-content: center;
 }

 .search-result.featured .sr-icon {
 background: linear-gradient(135deg, var(--primary), var(--primary-darker));
 }
 .search-result .sr-body { min-width: 0; }
 .search-result .sr-name { font-weight: 700; color: var(--ink); font-size: 13.5px; line-height: 1.2; }
 .search-result .sr-meta {
 font-family: var(--mono);
 font-size: 10.5px; color: var(--text-mute);
 letter-spacing: 0.04em;
 margin-top: 2px;
 }
 .search-result .sr-tag {
 font-family: var(--mono);
 font-size: 9.5px; font-weight: 800;
 padding: 3px 7px;
 border-radius: 3px;
 text-transform: uppercase; letter-spacing: 0.06em;
 flex-shrink: 0;
 }
 .sr-tag.tier1 { background: var(--green-soft); color: var(--green); }
 .sr-tag.offshore { background: var(--gold-soft); color: #856404; }
 .sr-tag.pick { background: var(--primary); color: white; }

 /* Muted non-featured rank rows — quieter visual, facts preserved */
 .rank-row:not(.featured) { padding: 11px 18px; }
 .rank-row:not(.featured) .rank-name {
 font-size: 14.5px; font-weight: 700;
 color: var(--text-soft); margin-bottom: 1px;
 }
 .rank-row:not(.featured) .rank-meta { font-size: 11px; color: var(--text-mute); }
 .rank-row:not(.featured) .tag { font-size: 10px; padding: 2px 6px; }
 .rank-row:not(.featured) .tag.tag-tier1 {
 background: transparent;
 color: var(--text-soft);
 border: 1px solid var(--border-strong);
 font-weight: 600;
 letter-spacing: 0.02em;
 }
 .rank-row:not(.featured) .tag.tag-tier1::before {
 content: "•"; color: var(--text-mute); margin-right: 4px;
 }
 .rank-row:not(.featured) .tag.tag-reg {
 background: transparent; color: var(--text-mute);
 border-color: var(--border);
 font-weight: 500; font-size: 10px;
 }
 .rank-row:not(.featured) .tag.tag-cat {
 background: transparent; color: var(--text-mute);
 border-color: var(--border); font-weight: 500;
 }
 .rank-row:not(.featured) .rank-score-text {
 color: var(--text-mute); font-size: 10.5px;
 font-style: normal; font-weight: 500;
 }
 .rank-row:not(.featured):hover { background: var(--bg-soft); }
 .rank-row.is-hidden, .art-card.is-hidden { display: none; }

 /* Asset cell + hot broker tile = clickable affordance */
 .asset-strip .a-cell, .hot-broker {
 cursor: pointer; transition: all 0.15s;
 }
 .asset-strip .a-cell:hover {
 border-color: var(--primary); background: var(--primary-soft);
 }

 /* Section "More" link styling tweak — make active hover obvious */
 .wf-section-head .more { cursor: pointer; }
 .wf-section-head .more:hover { color: var(--primary); }

 /* Toast notifications */
 #pd-toast {
 position: fixed;
 top: 78px; right: 20px;
 background: var(--ink); color: white;
 padding: 11px 16px;
 border-radius: 6px;
 font-size: 13px; line-height: 1.4;
 z-index: 300;
 box-shadow: 0 12px 32px rgba(0,0,0,0.28);
 opacity: 0; transform: translateY(-6px);
 transition: opacity 0.25s, transform 0.25s;
 pointer-events: none;
 max-width: 320px;
 border-left: 3px solid var(--primary);
 }
 #pd-toast.show { opacity: 1; transform: translateY(0); }
 html[dir="rtl"] #pd-toast { right: auto; left: 20px; }

 /* Mini Visit link on non-featured rank rows */
 .rank-visit-mini {
 font-family: var(--mono);
 font-size: 11px; font-weight: 700;
 letter-spacing: 0.04em; text-transform: uppercase;
 color: var(--text-soft);
 text-decoration: none;
 padding: 6px 11px;
 border: 1px solid var(--border-strong);
 border-radius: 4px;
 background: transparent;
 white-space: nowrap;
 transition: all 0.15s;
 display: inline-flex; align-items: center; gap: 5px;
 }
 .rank-visit-mini:hover {
 color: var(--primary);
 border-color: var(--primary);
 background: var(--primary-soft);
 }
 .rank-visit-mini::after { content: "↗"; font-size: 10px; opacity: 0.7; }
 html[dir="rtl"] .rank-visit-mini::after { content: "↖"; }
 @media (max-width: 900px) {
 .rank-row .rank-visit-mini { justify-self: end; }
 }

 .search-header {
 padding: 9px 14px;
 font-family: var(--mono);
 font-size: 10px; font-weight: 700;
 letter-spacing: 0.12em; text-transform: uppercase;
 color: var(--text-mute);
 background: var(--bg-soft);
 border-bottom: 1px solid var(--border);
 position: sticky; top: 0;
 }

 .rv-error {
 display: none;
 font-size: 12px;
 color: var(--red);
 margin-top: -10px;
 margin-bottom: 12px;
 font-weight: 500;
 }
 .rv-error.show { display: block; }
 .rv-input.invalid, .rv-select.invalid, .rv-textarea.invalid {
 border-color: var(--red) !important;
 background: var(--red-soft);
 }
 .rv-stars-input.invalid { box-shadow: 0 0 0 2px var(--red-soft); border-radius: 4px; padding: 2px; }

 /* === EVEN STRONGER 200INVEST EMPHASIS === */
 .rank-row.featured {
 background:
 linear-gradient(90deg,
 var(--primary-soft) 0%,
 rgba(219, 234, 254, 0.85) 30%,
 var(--primary-soft) 60%,
 rgba(255, 245, 247, 0.9) 100%) 0 0 / 220% 100%,
 white !important;
 border-left: 6px solid var(--primary) !important;
 padding: 22px 22px !important;
 animation: featuredGlow 3.4s ease-in-out infinite, bgPan 8s ease-in-out infinite !important;
 }
 @keyframes bgPan {
 0%, 100% { background-position: 0 0; }
 50% { background-position: 100% 0; }
 }
 .rank-row.featured .rank-name { font-size: 20px !important; }
 .rank-row.featured .rank-meta { font-size: 12.5px; color: var(--text-soft); }
 .rank-row.featured .score-num {
 font-size: 38px !important;
 background: linear-gradient(135deg, var(--primary), var(--primary-darker));
 -webkit-background-clip: text; background-clip: text;
 -webkit-text-fill-color: transparent;
 text-shadow: none;
 line-height: 1;
 }
 .rank-row.featured .rank-score .score-out {
 color: var(--primary); font-weight: 700; opacity: 0.85;
 }
 .rank-row.featured .rank-cta {
 padding: 13px 24px !important;
 font-size: 13.5px !important;
 box-shadow: 0 10px 26px rgba(37, 99, 235, 0.45) !important;
 border-radius: 6px;
 }
 .rank-row.featured::before {
 /* enlarge the EDITOR'S PICK ribbon */
 top: -12px !important; left: 16px !important;
 padding: 5px 12px !important;
 font-size: 11px !important;
 box-shadow: 0 8px 20px rgba(37, 99, 235, 0.45) !important;
 }
 /* Add a "🔥" hot indicator dot on the rank-num */
 .rank-row.featured .rank-num {
 color: var(--primary) !important;
 font-size: 28px !important;
 text-shadow: 0 0 18px rgba(37, 99, 235, 0.45);
 }
 /* Pump up the hot-broker featured tile too */
 .hot-broker.featured {
 transform: scale(1.05);
 border-width: 2.5px !important;
 }
 .hot-broker.featured:hover {
 transform: scale(1.08) translateY(-2px);
 }
 .hot-broker.featured .hot-icon {
 width: 48px; height: 48px;
 font-size: 12px;
 }
 .hot-broker.featured span { font-size: 12.5px; }

 /* Customer Reviews tab — submit form + topic cards */
 .review-form-wrap {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 24px;
 max-width: 680px;
 }
 .review-form-wrap form { display: flex; flex-direction: column; gap: 12px; }
 .rv-label {
 font-family: var(--mono);
 font-size: 10.5px; font-weight: 700;
 letter-spacing: 0.1em; text-transform: uppercase;
 color: var(--text-mute);
 margin-top: 4px;
 display: block;
 }
 .rv-input, .rv-select, .rv-textarea {
 width: 100%;
 border: 1px solid var(--border);
 border-radius: 4px;
 padding: 10px 12px;
 font-family: inherit; font-size: 13.5px;
 color: var(--text);
 background: var(--card);
 transition: border-color 0.15s;
 }
 .rv-textarea { resize: vertical; min-height: 90px; }
 .rv-input:focus, .rv-select:focus, .rv-textarea:focus {
 outline: none; border-color: var(--primary);
 box-shadow: 0 0 0 3px var(--primary-soft);
 }
 .rv-stars-input {
 display: inline-flex; gap: 4px;
 font-size: 22px; color: var(--border-strong);
 user-select: none; cursor: pointer; padding: 2px 0;
 }
 .rv-stars-input span { transition: color 0.12s; }
 .rv-stars-input span.active,
 .rv-stars-input:hover span:not(:hover):not(:hover ~ span) { color: var(--gold); }
 .rv-stars-input span:hover ~ span { color: var(--border-strong); }
 .rv-stars-input span:hover, .rv-stars-input span.active { color: var(--gold); }
 .rv-submit-btn {
 background: var(--primary); color: white;
 border: none; padding: 11px 24px;
 font-family: inherit; font-weight: 700; font-size: 12.5px;
 letter-spacing: 0.06em; text-transform: uppercase;
 border-radius: 4px;
 cursor: pointer;
 align-self: flex-start;
 transition: background 0.15s;
 margin-top: 4px;
 }
 .rv-submit-btn:hover { background: var(--primary-dark); }
 .rv-help {
 font-size: 11px; color: var(--text-mute);
 line-height: 1.5;
 border-top: 1px solid var(--border);
 padding-top: 12px;
 margin-top: 4px;
 }

 /* ===== 5 yellow stars under the score on featured row ===== */
 .rank-row.featured .rank-stars {
 color: #fbbf24;
 letter-spacing: 4px;
 font-size: 18px;
 line-height: 1;
 margin: 8px 0 4px;
 white-space: nowrap;
 text-align: center;
 direction: ltr;
 unicode-bidi: isolate;
 text-shadow: 0 0 10px rgba(251, 191, 36, 0.65), 0 1px 1px rgba(0,0,0,0.08);
 animation: starsTwinkle 2.4s ease-in-out infinite;
 filter: drop-shadow(0 0 4px rgba(251, 191, 36, 0.6));
 }
 @keyframes starsTwinkle {
 0%, 100% {
 text-shadow: 0 0 10px rgba(251, 191, 36, 0.65), 0 1px 1px rgba(0,0,0,0.08);
 transform: scale(1);
 }
 50% {
 text-shadow: 0 0 18px rgba(251, 191, 36, 1), 0 0 28px rgba(251, 191, 36, 0.5);
 transform: scale(1.06);
 }
 }
 /* Trending badge near broker name */
 .rank-row.featured .trending-badge {
 display: inline-block;
 font-family: var(--mono);
 font-size: 9.5px; font-weight: 800;
 letter-spacing: 0.18em; text-transform: uppercase;
 padding: 3px 9px;
 background: linear-gradient(90deg, #fbbf24, #f59e0b);
 color: #78350f;
 border-radius: 3px;
 margin-bottom: 6px;
 box-shadow: 0 4px 14px rgba(251, 191, 36, 0.45);
 animation: trendingPulse 2s ease-in-out infinite;
 vertical-align: middle;
 }
 @keyframes trendingPulse {
 0%, 100% { box-shadow: 0 4px 14px rgba(251, 191, 36, 0.45), 0 0 0 0 rgba(251, 191, 36, 0.6); }
 50% { box-shadow: 0 4px 16px rgba(251, 191, 36, 0.55), 0 0 0 8px rgba(251, 191, 36, 0); }
 }
 /* Pump score number a bit larger */
 .rank-row.featured .score-num {
 font-size: 44px !important;
 filter: drop-shadow(0 4px 14px rgba(37, 99, 235, 0.4));
 }
 /* Stronger row outer glow */
 .rank-row.featured {
 border-left-width: 6px !important;
 box-shadow:
 inset 4px 0 0 -2px rgba(191, 219, 254, 0.8),
 0 8px 28px rgba(37, 99, 235, 0.16);
 }
 @media (prefers-reduced-motion: reduce) {
 .rank-row.featured .rank-stars, .rank-row.featured .trending-badge { animation: none; }
 }

 /* "Site language" label + flag icons */
 .wf-lang-label {
 font-family: var(--mono);
 font-size: 10px; font-weight: 700;
 letter-spacing: 0.1em; text-transform: uppercase;
 color: rgba(255, 255, 255, 0.7);
 white-space: nowrap;
 align-self: center;
 }
 @media (max-width: 720px) {
 .wf-lang-label { display: none; }
 }
 .wf-lang button {
 display: inline-flex !important;
 align-items: center;
 gap: 5px;
 }
 .lang-flag {
 width: 16px; height: 11px;
 display: inline-block;
 border-radius: 1.5px;
 flex-shrink: 0;
 box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
 overflow: hidden;
 }
 .wf-lang button.active .lang-flag { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }

 /* Legal pages (Terms / Privacy / Cookies) */
 .legal-doc {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 32px 36px;
 max-width: 860px;
 }
 .legal-doc .meta {
 font-family: var(--mono);
 font-size: 11px; color: var(--text-mute);
 letter-spacing: 0.06em; text-transform: uppercase;
 margin-bottom: 22px; padding-bottom: 14px;
 border-bottom: 1px solid var(--border);
 }
 .legal-doc .lead {
 font-size: 15px; color: var(--text-soft);
 line-height: 1.7; margin-bottom: 18px;
 }
 .legal-doc h2 {
 font-size: 16px; font-weight: 800;
 color: var(--ink);
 margin: 24px 0 8px;
 padding-top: 18px;
 border-top: 1px solid var(--border);
 display: flex; align-items: baseline; gap: 10px;
 }
 .legal-doc h2:first-of-type { padding-top: 0; border-top: none; }
 .legal-doc h2 .num {
 font-family: var(--mono); font-size: 11px;
 color: var(--primary); font-weight: 700;
 letter-spacing: 0.04em;
 }
 .legal-doc p, .legal-doc li {
 font-size: 13.5px; line-height: 1.7;
 color: var(--text);
 margin-bottom: 12px;
 }
 .legal-doc ul { padding-left: 24px; margin-bottom: 12px; }
 .legal-doc li { margin-bottom: 6px; }
 html[dir="rtl"] .legal-doc ul { padding-left: 0; padding-right: 24px; }
 .legal-doc strong { color: var(--ink); font-weight: 700; }
.legal-doc .note {
 background: var(--blue-soft); color: var(--blue);
 border-left: 3px solid var(--blue);
 padding: 12px 16px;
 border-radius: 0 4px 4px 0;
 font-size: 12.5px;
 margin: 14px 0;
 }
 html[dir="rtl"] .legal-doc .note {
 border-left: none; border-right: 3px solid var(--blue);
 border-radius: 4px 0 0 4px;
 }

 /* Footer legal links */
 .ft-legal-links {
 margin-top: 8px; font-size: 11px;
 line-height: 1.7;
 }
 .ft-legal-links a {
 color: rgba(255,255,255,0.7);
 margin-right: 12px;
 }
 html[dir="rtl"] .ft-legal-links a { margin-right: 0; margin-left: 12px; }
 .ft-legal-links a:hover { color: white; }

 /* Cookie consent banner */
 .cookie-banner {
 position: fixed;
 bottom: 0; left: 0; right: 0;
 background: var(--ink); color: white;
 padding: 14px 18px;
 z-index: 250;
 box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.25);
 display: none;
 }
 .cookie-banner.show { display: block; animation: cbSlide 0.3s ease-out; }
 @keyframes cbSlide { from { transform: translateY(100%); } to { transform: translateY(0); } }
 .cookie-banner-inner {
 max-width: 1280px; margin: 0 auto;
 display: flex; align-items: center; gap: 18px;
 flex-wrap: wrap;
 }
 .cookie-banner-text {
 flex: 1; min-width: 240px;
 font-size: 12.5px; line-height: 1.55;
 color: rgba(255,255,255,0.9);
 }
 .cookie-banner-text strong { color: white; font-weight: 700; }
 .cookie-banner-text a {
 color: var(--primary); text-decoration: underline;
 margin-left: 4px;
 }
 .cookie-banner-text a:hover { color: white; }
 .cookie-banner-buttons {
 display: flex; gap: 10px;
 flex-shrink: 0;
 }
 .cookie-btn {
 background: transparent; color: rgba(255,255,255,0.85);
 border: 1px solid rgba(255,255,255,0.3);
 padding: 8px 16px; border-radius: 4px;
 font-family: inherit; font-size: 12px; font-weight: 600;
 cursor: pointer;
 transition: all 0.15s;
 }
 .cookie-btn:hover { color: white; border-color: white; }
 .cookie-btn.primary {
 background: var(--primary); color: white;
 border-color: var(--primary);
 }
 .cookie-btn.primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
 @media (max-width: 600px) {
 .cookie-banner { padding: 12px 14px; }
 .cookie-banner-buttons { width: 100%; justify-content: stretch; }
 .cookie-btn { flex: 1; }
 }

  /* Working-tool cards (Tools tab) */
  .tool-card-active {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 18px;
    display: flex; flex-direction: column;
    transition: border-color 0.15s;
  }
  .tool-card-active:hover { border-color: var(--primary); }
  .tool-card-active .tool-icon {
    width: 36px; height: 36px;
    background: var(--primary-soft); color: var(--primary);
    border-radius: 7px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 18px; margin-bottom: 10px;
  }
  .tool-card-active h3 {
    font-size: 14px; font-weight: 800;
    color: var(--ink); margin-bottom: 4px;
  }
  .tool-card-active .tool-desc {
    font-size: 11.5px; color: var(--text-mute);
    line-height: 1.45; margin-bottom: 12px;
  }
  .tool-row {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 6px; align-items: center;
    margin-bottom: 8px;
  }
  .tool-row label {
    font-family: var(--mono);
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--text-mute);
  }
  .tool-row input, .tool-row select {
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 6px 8px;
    font-family: inherit; font-size: 12.5px;
    color: var(--text); background: var(--card);
    width: 100%;
  }
  .tool-row input:focus, .tool-row select:focus {
    outline: none; border-color: var(--primary);
    box-shadow: 0 0 0 2px var(--primary-soft);
  }
  .tool-calc-btn {
    background: var(--primary); color: white;
    border: none; padding: 8px 16px;
    border-radius: 4px;
    font-family: inherit; font-weight: 700; font-size: 12px;
    letter-spacing: 0.04em; text-transform: uppercase;
    cursor: pointer; margin-top: 6px;
    transition: background 0.15s;
  }
  .tool-calc-btn:hover { background: var(--primary-dark); }
  .tool-result {
    margin-top: 10px;
    padding: 10px 12px;
    background: var(--bg-soft);
    border-left: 3px solid var(--primary);
    border-radius: 0 4px 4px 0;
    font-family: var(--mono);
    font-size: 13px;
    color: var(--ink);
    min-height: 18px;
    word-break: break-all;
  }
  .tool-result:empty { display: none; }
  .tool-result.ok { border-left-color: var(--green); color: var(--green); font-weight: 700; }
  .tool-result.error { border-left-color: var(--red); color: var(--red); }
  .tool-result .pp-row {
    display: flex; justify-content: space-between;
    padding: 2px 0;
    border-bottom: 1px dotted var(--border-strong);
    font-size: 12px;
  }
  .tool-result .pp-row:last-child { border-bottom: none; }
  .tool-result .pp-row .k { color: var(--text-mute); font-weight: 500; }
  .tool-result .pp-row .v { color: var(--ink); font-weight: 700; }
  .tool-result .pp-row.pivot .v { color: var(--primary); }
  .tool-result .pp-row.r .v { color: var(--green); }
  .tool-result .pp-row.s .v { color: var(--red); }

  /* Market hours panel */
  .market-hours {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 22px;
    margin-top: 18px;
  }
  .mh-header {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 18px; padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
  }
  .mh-header h3 { font-size: 14px; font-weight: 800; color: var(--ink); }
  .mh-clock {
    font-family: var(--mono);
    font-size: 18px; font-weight: 700;
    color: var(--primary);
    letter-spacing: 0.04em;
  }
  .mh-sessions { display: grid; gap: 10px; }
  .mh-row {
    display: grid;
    grid-template-columns: 110px 1fr 80px;
    gap: 14px; align-items: center;
    font-size: 12.5px;
  }
  .mh-row .name {
    font-family: var(--mono); font-weight: 700;
    color: var(--text); letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 11px;
  }
  .mh-row .bar {
    position: relative;
    height: 22px;
    background: var(--bg-soft);
    border-radius: 3px;
    overflow: hidden;
  }
  .mh-row .bar-fill {
    position: absolute; top: 0; bottom: 0;
    background: var(--primary-soft);
    border-left: 2px solid var(--primary);
    border-right: 2px solid var(--primary);
  }
  .mh-row .bar-now {
    position: absolute; top: -2px; bottom: -2px;
    width: 2px; background: var(--ink);
  }
  .mh-row .status {
    text-align: right; font-family: var(--mono);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.04em; text-transform: uppercase;
  }
  .mh-row .status.open { color: var(--green); }
  .mh-row .status.closed { color: var(--text-mute); }
  .mh-row .status.open::before { content: "● "; }
  .mh-axis {
    margin-top: 12px;
    font-family: var(--mono);
    font-size: 9.5px; color: var(--text-mute);
    display: grid; grid-template-columns: 110px 1fr 80px;
    gap: 14px;
  }
  .mh-axis .ticks {
    display: flex; justify-content: space-between;
    padding: 0 2px;
  }

  /* Calculator grid override */
  #view-tools .tool-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  }
  @media (max-width: 1000px) { #view-tools .tool-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 640px) { #view-tools .tool-grid { grid-template-columns: 1fr; } }

/* === News tab expansions === */
.news-featured{
  display:grid; grid-template-columns: 1.1fr 1fr; gap:0; border:1px solid #e6eaf0; border-radius:14px; overflow:hidden;
  margin: 0 0 28px 0; background:#fff;
  box-shadow: 0 2px 12px rgba(20,40,80,0.06);
}
.news-featured-hero{
  background: linear-gradient(135deg, var(--primary-soft) 0%, #eef4ff 50%, #f7faff 100%);
  padding: 28px 28px; display:flex; flex-direction:column; justify-content:space-between; min-height: 220px;
}
.news-featured-tag{
  display:inline-block; align-self:flex-start; padding:6px 12px; background: var(--primary); color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.06em; border-radius:999px; text-transform:uppercase; margin-bottom:14px;
}
.news-featured-hero h2{ font-size:22px; line-height:1.3; margin:0 0 10px; color:#0c1424; font-weight:700;}
.news-featured-hero .nf-meta{ font-size:13px; color:#566374; margin-top:auto;}
.news-featured-body{ padding: 28px 28px; font-size:14.5px; line-height:1.65; color:#2a3344; }
.news-featured-body p{ margin: 0 0 12px; }
.news-featured-body details{ margin-top: 10px; border-top:1px solid #eef0f4; padding-top:14px; }
.news-featured-body details summary{ cursor:pointer; color: var(--primary); font-weight:600; font-size:13.5px; list-style:none; }
.news-featured-body details summary::-webkit-details-marker{display:none;}
.news-featured-body details[open] summary{ margin-bottom: 10px; }
.news-featured-body details ul{ padding-left: 18px; margin: 8px 0; }
.news-featured-body details li{ margin: 4px 0; font-size: 13.5px; }
@media (max-width: 820px){ .news-featured{ grid-template-columns: 1fr; } }

.news-list{ display:flex; flex-direction:column; gap:14px; margin-top: 8px;}
.news-item{
  background:#fff; border:1px solid #e6eaf0; border-radius:12px; padding: 18px 22px;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.news-item:hover{ border-color: #cfd8e3; box-shadow: 0 4px 14px rgba(20,40,80,0.06); }
.news-item[open]{ box-shadow: 0 6px 20px rgba(20,40,80,0.08); border-color: var(--primary); }
.news-item > summary{
  list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap;
}
.news-item > summary::-webkit-details-marker{display:none;}
.news-item > summary > .ni-main{ flex:1 1 0; min-width: 240px; }
.news-item .ni-cat{
  display:inline-block; padding: 3px 10px; background:#eef3fb; color: var(--primary);
  border-radius:999px; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform: uppercase; margin-bottom: 8px;
}
.news-item .ni-cat.cat-review{ background:#fff1ec; color: #c2410c; }
.news-item .ni-cat.cat-industry{ background:#eef3fb; color: var(--primary); }
.news-item .ni-cat.cat-regulation{ background:#ecfdf5; color: #047857; }
.news-item .ni-cat.cat-education{ background:#faf5ff; color: #7c3aed; }
.news-item h3{ font-size:16.5px; line-height:1.35; margin:0 0 6px; color: #101a2c; font-weight: 700; }
.news-item p.ni-snip{ margin: 0 0 6px; font-size:13.5px; line-height:1.55; color:#566374; }
.news-item .ni-readmore{ font-size:12.5px; color: var(--primary); font-weight:600; margin-top: 4px; display:inline-block; }
.news-item[open] .ni-readmore{ display:none; }
.news-item .ni-body{
  margin-top: 16px; padding-top: 16px; border-top:1px dashed #e2e7ee;
  font-size:14.2px; line-height:1.7; color:#2a3344;
}
.news-item .ni-body p{ margin: 0 0 10px; }
.news-item .ni-body strong{ color:#0c1424; }

@media (max-width: 720px){ }


 /* ========== WATCHLIST CALLOUT ========== */
 .wf-watchlist {
   border: 1px solid var(--border);
   border-left: 4px solid var(--red);
   background: linear-gradient(180deg, #fff 0%, #fff 70%, var(--red-soft) 100%);
   border-radius: 6px;
   padding: 18px 20px 20px;
   margin-top: 8px;
   box-shadow: 0 1px 2px rgba(0,0,0,0.03);
 }
 .wf-watchlist-head {
   display: flex; align-items: center; gap: 10px;
   border-bottom: 1px solid var(--border);
   padding-bottom: 10px; margin-bottom: 14px;
 }
 .wf-watchlist-head .wf-wl-badge {
   display: inline-flex; align-items: center; gap: 6px;
   background: var(--red); color: #fff;
   font-size: 10.5px; font-weight: 800; letter-spacing: 0.06em;
   padding: 4px 8px; border-radius: 3px; text-transform: uppercase;
 }
 .wf-watchlist-head h2 {
   font-size: 17px; font-weight: 800; color: var(--ink); margin: 0;
   letter-spacing: -0.01em;
 }
 .wf-watchlist-head .wf-wl-meta {
   margin-left: auto; font-size: 11.5px; color: var(--text-mute);
 }
 .wf-watchlist-intro {
   font-size: 12.5px; color: var(--text-soft); line-height: 1.5;
   margin-bottom: 14px;
 }
 .wf-watchlist-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 10px;
 }
 @media (max-width: 900px) { .wf-watchlist-grid { grid-template-columns: repeat(2, 1fr); } }
 @media (max-width: 560px) { .wf-watchlist-grid { grid-template-columns: 1fr; } }
 .wf-wl-card {
   border: 1px solid var(--border);
   background: #fff;
   border-radius: 5px;
   padding: 10px 12px;
   display: flex; flex-direction: column; gap: 6px;
   transition: border-color .15s, box-shadow .15s;
 }
 .wf-wl-card { cursor: default; }
 .wf-wl-card:hover { border-color: var(--border-strong); }
 .wf-wl-card .wf-wl-row1 {
   display: flex; align-items: center; gap: 8px;
 }
 .wf-wl-card .wf-wl-name {
   font-weight: 700; font-size: 13px; color: var(--ink);
   flex: 1; min-width: 0;
   overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
 }
 .wf-wl-card .wf-wl-year {
   font-family: var(--mono); font-size: 10.5px; color: var(--text-mute);
   background: var(--bg-soft); padding: 2px 6px; border-radius: 3px;
 }
 .wf-wl-card .wf-wl-flag {
   font-size: 10.5px; font-weight: 700; color: var(--red);
   text-transform: uppercase; letter-spacing: 0.04em;
 }
 .wf-wl-card .wf-wl-reason {
   font-size: 11.5px; color: var(--text-soft); line-height: 1.4;
 }
 .wf-wl-card .wf-wl-source {
   font-size: 11px; color: var(--primary); font-weight: 600;
   margin-top: auto;
 }
 .wf-wl-card .wf-wl-source:hover { text-decoration: underline; }
 .wf-watchlist-disclaimer {
   margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--border);
   font-size: 11px; color: var(--text-mute); line-height: 1.5;
 }
 .wf-watchlist-disclaimer strong { color: var(--text-soft); }


 /* ========== WATCHLIST VIEW + WARNING NAV ========== */
 .wf-nav a.wf-nav-warning {
   position: relative;
   margin: 6px 0 6px 14px;
   padding: 7px 14px 7px 32px !important;
   color: #fff !important;
   background: linear-gradient(135deg, #ff1f3a 0%, #2563eb 55%, #1d4ed8 100%);
   font-weight: 800;
   font-size: 12.5px;
   letter-spacing: 0.02em;
   text-transform: uppercase;
   border-radius: 999px;
   border: 1px solid rgba(0,0,0,0.15);
   border-bottom: none !important;
   box-shadow:
     0 0 0 3px rgba(255, 31, 58, 0.18),
     0 2px 6px rgba(29, 78, 216, 0.35);
   animation: wfNavPulse 1.8s ease-in-out infinite;
   transition: transform 0.15s ease, box-shadow 0.15s ease;
 }
 .wf-nav a.wf-nav-warning::before {
   content: "!";
   position: absolute;
   left: 10px; top: 50%;
   transform: translateY(-50%);
   width: 16px; height: 16px;
   line-height: 16px; text-align: center;
   font-size: 12px; font-weight: 900;
   color: #1a1a1a;
   background: #ffd54f;
   border-radius: 50%;
   box-shadow: 0 0 0 2px #fff;
   animation: wfNavBlink 1s steps(2, start) infinite;
 }
 .wf-nav a.wf-nav-warning:hover {
   color: #fff !important;
   transform: translateY(-1px);
   box-shadow:
     0 0 0 4px rgba(255, 31, 58, 0.25),
     0 4px 10px rgba(29, 78, 216, 0.45);
 }
 .wf-nav a.wf-nav-warning.active {
   color: #fff !important;
   background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
   animation: none;
   border-bottom-color: transparent !important;
   box-shadow:
     0 0 0 3px rgba(255, 213, 79, 0.55),
     inset 0 1px 2px rgba(0,0,0,0.3);
 }
 .wf-nav a.wf-nav-warning.active::before { animation: none; }
 @keyframes wfNavPulse {
   0%, 100% { box-shadow: 0 0 0 3px rgba(255, 31, 58, 0.18), 0 2px 6px rgba(29, 78, 216, 0.35); }
   50%      { box-shadow: 0 0 0 7px rgba(255, 31, 58, 0.10), 0 2px 10px rgba(29, 78, 216, 0.50); }
 }
 @keyframes wfNavBlink {
   0%, 100% { opacity: 1; }
   50%      { opacity: 0.55; }
 }
 @media (prefers-reduced-motion: reduce) {
   .wf-nav a.wf-nav-warning,
   .wf-nav a.wf-nav-warning::before { animation: none; }
 }
 .wl-hero {
   background: linear-gradient(135deg, var(--primary-darker) 0%, var(--primary-dark) 60%, var(--red) 100%);
   color: #fff; padding: 28px 0 24px;
   border-bottom: 3px solid #000;
 }
 .wl-hero .crumbs { color: rgba(255,255,255,0.7); font-size: 11.5px; margin-bottom: 8px; letter-spacing: 0.04em; }
 .wl-hero h1 {
   font-size: 30px; font-weight: 900; letter-spacing: -0.02em;
   display: flex; align-items: center; gap: 12px; margin-bottom: 8px;
 }
 .wl-hero h1 .wl-warn-ico {
   display: inline-flex; align-items: center; justify-content: center;
   width: 38px; height: 38px; background: #ffd54f; color: #000;
   border-radius: 50%; font-size: 22px; font-weight: 900;
 }
 .wl-hero .sub { font-size: 14px; color: rgba(255,255,255,0.88); max-width: 820px; line-height: 1.55; }
 .wl-stats {
   display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
   margin: 18px 0 0;
 }
 @media (max-width: 760px) { .wl-stats { grid-template-columns: repeat(2, 1fr); } }
 .wl-stat {
   background: rgba(0,0,0,0.22); border: 1px solid rgba(255,255,255,0.15);
   border-radius: 4px; padding: 10px 12px;
 }
 .wl-stat .v { font-size: 19px; font-weight: 800; color: #fff; font-family: var(--mono); }
 .wl-stat .l { font-size: 10.5px; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 2px; }
 .wl-panel {
   background: #fff; border: 1px solid var(--border); border-radius: 6px;
   padding: 18px 20px; margin-top: 18px;
 }
 .wl-panel h2 {
   font-size: 18px; font-weight: 800; color: var(--ink); margin-bottom: 6px;
 }
 .wl-panel p { font-size: 13px; color: var(--text-soft); line-height: 1.55; }
 .wl-verify {
   display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px;
 }
 @media (max-width: 760px) { .wl-verify { grid-template-columns: 1fr; } }
 .wl-verify a {
   display: flex; flex-direction: column; gap: 4px;
   padding: 10px 12px; border: 1px solid var(--border); border-radius: 4px;
   background: var(--bg);
   transition: border-color .15s, background .15s;
 }
 .wl-verify a:hover { border-color: var(--primary); background: var(--primary-soft); }
 .wl-verify a .reg { font-weight: 800; color: var(--ink); font-size: 12.5px; }
 .wl-verify a .desc { font-size: 11.5px; color: var(--text-soft); }


 /* ========== EXPANDED DISCLOSURE ========== */
 .legal-disc p[data-i18n="disc_p"] { line-height: 1.55; }
 .legal-disc p[data-i18n="disc_p"] .ld-item {
   display: block; margin-top: 8px;
 }
 .legal-disc p[data-i18n="disc_p"] .ld-item:first-child { margin-top: 0; }
 .legal-disc p[data-i18n="disc_p"] .ld-label {
   font-weight: 700; color: var(--ink);
 }
 .legal-disc p[data-i18n="disc_p"] {
   font-size: 12.5px;
 }


 /* Market sentiment grid (Myfxbook + TV heatmap) */
 .wf-sentiment-grid {
 display: grid;
 grid-template-columns: 1fr;
 gap: 18px;
 }
 .wf-sentiment-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 8px;
 overflow: hidden;
 display: flex;
 flex-direction: column;
 }
 .wf-sentiment-head {
 padding: 12px 16px;
 border-bottom: 1px solid var(--border);
 background: var(--bg-soft);
 display: flex;
 flex-direction: column;
 gap: 2px;
 }
 .wf-sentiment-head strong {
 font-size: 14px;
 font-weight: 800;
 color: var(--ink);
 }
 .wf-sentiment-head span {
 font-size: 11px;
 color: var(--text-soft);
 font-family: var(--mono);
 letter-spacing: 0.04em;
 text-transform: uppercase;
 }
 .wf-sentiment-body {
 flex: 1;
 background: var(--card);
 }
 .wf-sentiment-foot {
 padding: 6px 12px;
 border-top: 1px solid var(--border);
 font-size: 11px;
 text-align: center;
 background: var(--bg-soft);
 }
 .wf-sentiment-foot a { color: var(--text-mute); }


 /* ===== BROKER DETAIL PAGE ===== */
 .broker-hero {
 display: grid;
 grid-template-columns: auto 1fr auto;
 gap: 22px;
 align-items: center;
 padding: 18px 0 6px;
 }
 @media (max-width: 760px) { .broker-hero { grid-template-columns: 1fr; text-align: center; gap: 14px; } }
 .broker-hero-logo img {
 width: 86px; height: 86px;
 object-fit: contain;
 padding: 8px;
 background: #fff;
 border: 1px solid var(--border);
 border-radius: 14px;
 box-shadow: 0 3px 12px rgba(0,0,0,0.06);
 }
 .broker-hero-info h1 { font-size: 32px; line-height: 1.1; margin-bottom: 6px; }
 .broker-hero-info .sub { font-size: 14px; color: rgba(255,255,255,0.92); margin-bottom: 12px; max-width: 540px; }
 .broker-hero-meta { display: flex; flex-wrap: wrap; gap: 6px; }
 .broker-meta-pill {
 display: inline-block;
 padding: 4px 9px;
 border-radius: 4px;
 font-size: 11px;
 font-weight: 700;
 font-family: var(--mono);
 letter-spacing: 0.04em;
 text-transform: uppercase;
 background: var(--bg-soft);
 color: var(--text);
 border: 1px solid var(--border);
 }
 .broker-meta-tier1 { background: var(--green-soft); color: var(--green); border-color: rgba(46, 125, 50, 0.25); }
 .broker-meta-offshore { background: var(--orange-soft); color: var(--orange); border-color: rgba(239, 108, 0, 0.25); }
 .broker-meta-mixed { background: var(--blue-soft); color: var(--blue); border-color: rgba(21, 101, 192, 0.25); }

 .broker-hero-score { text-align: center; }
 .broker-score-num { font-size: 48px; font-weight: 900; color: var(--primary); line-height: 1; letter-spacing: -0.02em; }
 .broker-score-num span { font-size: 22px; opacity: 0.65; font-weight: 700; }
 .broker-score-lab { font-size: 10px; color: var(--text-mute); text-transform: uppercase; font-family: var(--mono); letter-spacing: 0.08em; margin: 4px 0 10px; }
 .broker-visit-btn, .broker-visit-btn-lg {
 display: inline-block;
 background: linear-gradient(135deg, var(--primary), var(--primary-dark));
 color: white;
 font-weight: 700;
 padding: 9px 18px;
 border-radius: 6px;
 box-shadow: 0 6px 16px rgba(37, 99, 235, 0.28);
 font-size: 13px;
 white-space: nowrap;
 }
 .broker-visit-btn-lg { padding: 14px 28px; font-size: 14px; }
 .broker-visit-btn:hover, .broker-visit-btn-lg:hover { color: white; transform: translateY(-1px); }

 .broker-facts-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
 gap: 10px;
 }
 .bf-item { padding: 12px 14px; background: var(--card); border: 1px solid var(--border); border-radius: 6px; }
 .bf-item.bf-wide { grid-column: 1 / -1; }
 .bf-lab { font-size: 10px; color: var(--text-mute); text-transform: uppercase; font-family: var(--mono); letter-spacing: 0.06em; margin-bottom: 4px; }
 .bf-val { font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.4; }

 .broker-overview-text { font-size: 14px; line-height: 1.65; color: var(--text); max-width: 820px; }

 .broker-bd-list .bd-row {
 display: grid;
 grid-template-columns: 160px 1fr 50px;
 gap: 12px;
 align-items: center;
 margin-bottom: 8px;
 font-size: 13px;
 }
 .broker-bd-list .lab { font-weight: 600; color: var(--text); }
 .broker-bd-list .bar {
 height: 10px;
 background: var(--bg-soft);
 border-radius: 5px;
 overflow: hidden;
 }
 .broker-bd-list .fill {
 height: 100%;
 background: linear-gradient(90deg, var(--primary), var(--primary-dark));
 display: block;
 border-radius: 5px;
 }
 .broker-bd-list .num { font-weight: 800; color: var(--primary); text-align: right; font-family: var(--mono); }
 .broker-score-disclaimer { font-size: 11.5px; color: var(--text-mute); margin-top: 12px; }

 .broker-procons-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 14px;
 }
 @media (max-width: 700px) { .broker-procons-grid { grid-template-columns: 1fr; } }
 .broker-procons-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 8px;
 padding: 18px 20px;
 }
 .broker-procons-card h3 {
 font-size: 13px;
 font-family: var(--mono);
 letter-spacing: 0.04em;
 text-transform: uppercase;
 margin-bottom: 12px;
 }
 .broker-procons-pros h3 { color: var(--green); }
 .broker-procons-cons h3 { color: var(--orange); }
 .broker-procons-card ul { list-style: none; padding: 0; margin: 0; }
 .broker-procons-card li {
 position: relative;
 padding: 6px 0 6px 22px;
 font-size: 13.5px;
 line-height: 1.5;
 color: var(--text);
 border-bottom: 1px solid rgba(0,0,0,0.04);
 }
 .broker-procons-card li:last-child { border-bottom: none; }
 .broker-procons-pros li::before { content: "✓"; position: absolute; left: 0; top: 6px; color: var(--green); font-weight: 800; }
 .broker-procons-cons li::before { content: "•"; position: absolute; left: 4px; top: 4px; color: var(--orange); font-weight: 800; font-size: 18px; }

 .broker-fit-text { font-size: 14px; line-height: 1.65; color: var(--text); max-width: 820px; margin-bottom: 18px; }
 .broker-cta-block {
 background: var(--bg-soft);
 padding: 22px 24px;
 border-radius: 8px;
 text-align: center;
 }
 .broker-risk { font-size: 11px; color: var(--text-mute); max-width: 600px; margin: 12px auto 0; line-height: 1.5; }


 /* Eye-catching 200INVEST score in broker hero */
 .broker-hero-score-featured .broker-score-num {
 font-size: 64px !important;
 color: #ffffff !important;
 text-shadow: 0 4px 18px rgba(0,0,0,0.25), 0 0 28px rgba(251, 191, 36, 0.35);
 background: linear-gradient(135deg, #ffffff, #fde68a);
 -webkit-background-clip: text;
 background-clip: text;
 -webkit-text-fill-color: transparent;
 line-height: 1;
 filter: drop-shadow(0 4px 16px rgba(0,0,0,0.18));
 }
 .broker-hero-score-featured .broker-score-num span {
 -webkit-text-fill-color: rgba(255,255,255,0.85);
 color: rgba(255,255,255,0.85) !important;
 }
 .broker-hero-stars {
 color: #fbbf24;
 letter-spacing: 6px;
 font-size: 22px;
 line-height: 1;
 margin: 8px 0 6px;
 text-align: center;
 direction: ltr;
 unicode-bidi: isolate;
 text-shadow: 0 0 14px rgba(251, 191, 36, 0.75), 0 1px 1px rgba(0,0,0,0.15);
 filter: drop-shadow(0 0 6px rgba(251, 191, 36, 0.55));
 animation: brokerStarsPulse 2.6s ease-in-out infinite;
 }
 @keyframes brokerStarsPulse {
 0%, 100% { transform: scale(1); text-shadow: 0 0 14px rgba(251, 191, 36, 0.75), 0 1px 1px rgba(0,0,0,0.15); }
 50% { transform: scale(1.05); text-shadow: 0 0 22px rgba(251, 191, 36, 1), 0 0 32px rgba(251, 191, 36, 0.5); }
 }
 .broker-hero-score-featured .broker-score-lab {
 color: rgba(255,255,255,0.9);
 font-weight: 700;
 letter-spacing: 0.1em;
 }
 .broker-hero-visit-only { text-align: center; align-self: center; }

 /* ===== BROKER PAGE EXTRAS (FAQ, Reviews, Videos) ===== */
 .brk-section-h {
 font-size: 22px;
 font-weight: 800;
 color: var(--ink);
 margin-bottom: 16px;
 letter-spacing: -0.01em;
 }
 /* FAQ */
 .brk-faq-list {
 display: flex;
 flex-direction: column;
 gap: 8px;
 max-width: 760px;
 margin: 0 auto;
 }
 .brk-faq-item {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 8px;
 overflow: hidden;
 transition: box-shadow 0.15s, border-color 0.15s;
 }
 .brk-faq-item[open] {
 border-color: var(--primary);
 box-shadow: 0 4px 14px rgba(37, 99, 235, 0.08);
 }
 .brk-faq-item summary {
 padding: 12px 16px;
 cursor: pointer;
 font-weight: 700;
 font-size: 13.5px;
 color: var(--ink);
 list-style: none;
 position: relative;
 padding-right: 42px;
 user-select: none;
 transition: background 0.15s;
 }
 .brk-faq-item summary:hover { background: var(--bg-soft); }
 .brk-faq-item summary::-webkit-details-marker { display: none; }
 .brk-faq-item summary::after {
 content: "+";
 position: absolute;
 right: 18px;
 top: 50%;
 transform: translateY(-50%);
 font-size: 22px;
 font-weight: 700;
 color: var(--primary);
 transition: transform 0.2s;
 line-height: 1;
 }
 .brk-faq-item[open] summary::after { content: "−"; }
 .brk-faq-answer {
 padding: 0 18px 18px;
 font-size: 13.5px;
 line-height: 1.6;
 color: var(--text);
 }
 html[dir="rtl"] .brk-faq-item summary { padding-right: 18px; padding-left: 42px; }
 html[dir="rtl"] .brk-faq-item summary::after { right: auto; left: 18px; }

 /* Reviews */
 .brk-reviews-summary {
 background: linear-gradient(135deg, var(--primary-soft), rgba(255,255,255,0.4));
 border: 1px solid var(--border);
 border-radius: 10px;
 padding: 20px 24px;
 margin-bottom: 16px;
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 gap: 6px;
 }
 .brk-reviews-score {
 font-size: 44px;
 font-weight: 900;
 color: var(--primary);
 letter-spacing: -0.02em;
 line-height: 1;
 }
 .brk-reviews-score-suffix {
 font-size: 18px;
 opacity: 0.7;
 font-weight: 700;
 margin-left: 2px;
 }
 .brk-reviews-stars {
 color: #fbbf24;
 letter-spacing: 4px;
 font-size: 20px;
 text-shadow: 0 0 8px rgba(251, 191, 36, 0.4);
 }
 .brk-reviews-meta {
 font-size: 12px;
 color: var(--text-mute);
 font-family: var(--mono);
 letter-spacing: 0.04em;
 text-transform: uppercase;
 }
 .brk-reviews-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
 gap: 12px;
 }
 .brk-review-card {
 background: var(--card);
 border: 1px solid var(--border);
 border-radius: 8px;
 padding: 16px 18px;
 transition: transform 0.15s, box-shadow 0.15s;
 }
 .brk-review-card:hover {
 transform: translateY(-2px);
 box-shadow: 0 6px 18px rgba(0,0,0,0.06);
 }
 .brk-review-stars {
 color: #fbbf24;
 font-size: 14px;
 letter-spacing: 2px;
 margin-bottom: 8px;
 }
 .brk-review-text {
 font-size: 13px;
 line-height: 1.55;
 color: var(--text);
 margin-bottom: 10px;
 font-style: italic;
 }
 .brk-review-author {
 font-size: 12px;
 color: var(--text-soft);
 font-weight: 600;
 }
 .brk-reviews-disclaimer {
 font-size: 11px;
 color: var(--text-mute);
 margin-top: 12px;
 text-align: center;
 line-height: 1.5;
 }

 /* Videos (200INVEST) */
 .brk-videos-intro {
 font-size: 13.5px;
 color: var(--text-soft);
 margin: 0 auto 16px;
 max-width: 720px;
 text-align: center;
 }
 .brk-videos-section-h {
 text-align: center;
 max-width: 900px;
 margin-left: auto;
 margin-right: auto;
 }
 .brk-videos-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(150px, 170px));
 justify-content: center;
 gap: 14px;
 max-width: 920px;
 margin: 0 auto;
 }
 .brk-video-card {
 background: #000;
 border-radius: 10px;
 overflow: hidden;
 border: 1px solid var(--border);
 box-shadow: 0 3px 12px rgba(0,0,0,0.08);
 }
 .brk-video-card iframe {
 width: 100%;
 display: block;
 border: 0;
 }
 .brk-video-wide { grid-column: span 2; }
 @media (max-width: 600px) {
 .brk-video-wide { grid-column: span 1; }
 }

 /* Center the FAQ heading along with the list */
 .brk-faq-section-h {
 max-width: 760px;
 margin: 0 auto 16px;
 text-align: left;
 }


 /* ===== Legal pages: English-only (hide language switcher + style notice) ===== */
 body.legal-en-only .wf-lang,
 body.legal-en-only .lang-btn,
 body.legal-en-only [data-lang] {
   display: none !important;
 }
 .legal-binding-banner {
   background: var(--bg-soft);
   border-left: 3px solid var(--primary);
   padding: 10px 14px;
   font-size: 12.5px;
   color: var(--text-soft);
   line-height: 1.5;
   max-width: 820px;
   margin: 12px auto 0;
   border-radius: 4px;
 }
 .legal-binding-banner strong {
   color: var(--ink);
 }


/* ===== Hero promo video (added) ===== */
.wf-hero-row{display:flex;align-items:center;gap:36px;flex-wrap:wrap;}
.wf-hero-left{flex:1 1 420px;min-width:300px;}
.wf-hero-video{flex:1 1 460px;min-width:300px;max-width:620px;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.18);background:#000;}
.wf-hero-video-el{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;}
@media (max-width:860px){
  .wf-hero-row{flex-direction:column;align-items:stretch;gap:22px;}
  .wf-hero-video{display:none;}
}
