/* Landing-only refinements of the approved discovery composition. */
.tfr-landing :is(#brokers, #finder, #compare, #explore) { scroll-margin-top: 100px; }
.tfr-landing #brokers .filter { min-height: 44px; flex-shrink: 0; }
.tfr-landing #brokers :is(.search-input, #sort-brokers) { min-height: 44px; font-size: 12px; }
.tfr-landing #brokers .search-input::placeholder { color: #5b6b84; opacity: 1; }
.tfr-landing #sort-brokers { border: 1px solid #dce3ed; border-radius: 7px; background-color: #fff; padding-inline: 10px; }
.tfr-landing .broker-table tr[data-broker-row] { transition: background-color 180ms ease-out, border-color 180ms ease-out; }
.tfr-landing .broker-table tr:has(.compare-check:checked) { background: #edf2fb; border-color: #8b9fbd; }
.tfr-landing .compare-check { width: 20px; height: 20px; vertical-align: middle; }
.tfr-landing .broker-table td:last-child { padding-block: 18px; }
.tfr-landing #result-count { font-size: 12px; color: #52627b; }
.tfr-landing #empty-state { border-top: 1px solid #e0e5ed; }
.tfr-landing #broker-rows:has(.table-empty) > tr:has(.table-empty) { display: none; }
.tfr-landing .comparison-tray .tray-names { color: #dce5f3; font-size: 12px; }
.tfr-landing .comparison-tray #clear-selected { min-height: 44px; padding-inline: 8px; font-size: 12px; }
.tfr-landing :is(.btn, .text-link, .review-link) .icon { transition: transform 180ms ease-out; }
@media (hover: hover) and (pointer: fine) {
 .tfr-landing :is(.btn, .text-link, .review-link):hover .icon { transform: translateX(3px); }
 .tfr-landing .broker-table tr[data-broker-row]:hover { background-color: #f3f6fb; }
}
@media (max-width: 767px) {
 .tfr-landing .broker-table { min-width: 0; width: 100%; }
 .tfr-landing .broker-table tbody { gap: 12px; padding: 12px; }
 .tfr-landing .broker-table tbody tr[data-broker-row] { padding: 18px; gap: 16px 12px; }
 .tfr-landing .broker-table td[data-label]::before { font-size: 11px; color: #52627b; line-height: 1.4; }
 .tfr-landing .broker-table td:first-child::before, .tfr-landing .broker-table td[data-label="Review"]::before { display: none; }
 .tfr-landing .broker-table td:first-child strong { font-size: 14px; }
 .tfr-landing .broker-table td:first-child .muted { font-size: 11px; }
 .tfr-landing .broker-table td:nth-child(4), .tfr-landing .broker-table td:nth-child(5) { width: calc(50% - 6px); }
 .tfr-landing .broker-table .mini-tag { font-size: 11px; }
 .tfr-landing .broker-table .review-link { min-height: 36px; }
 .tfr-landing .broker-table td:last-child { display: flex; align-items: center; justify-content: space-between; min-height: 40px; }
 .tfr-landing .broker-table td:last-child::before { margin: 0; }
 .tfr-landing .mini-row { font-size: 12px; gap: 10px; }
 .tfr-landing .comparison-tray { bottom: max(10px, env(safe-area-inset-bottom)); gap: 10px; }
 .tfr-landing .comparison-tray > div { flex: 1 0 100%; }
 .tfr-landing .comparison-tray .btn { flex: 1; justify-content: center; }
}
@media (max-width: 599px) {
 .tfr-landing .broker-table tbody { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
 .tfr-landing :is(.btn, .text-link, .review-link) .icon,
 .tfr-landing .broker-table tr[data-broker-row] { transition: none; }
 .tfr-landing :is(.btn, .text-link, .review-link):hover .icon { transform: none; }
}

/* Landing custom selects: the native control remains only as the no-JS form fallback. */
.js .tfr-landing .tfr-select__native { position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.tfr-landing .tfr-select { position:relative;min-width:0; }
.tfr-landing .tfr-select__trigger { display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:44px;padding:0 12px;border:1px solid #d7dfeb;border-radius:7px;background:#fff;color:#172641;font-size:12px;text-align:left;transition:border-color 300ms ease,background-color 300ms ease,color 300ms ease; }
.tfr-landing .tfr-select__trigger svg { width:16px;height:16px;fill:none;stroke:#65748a;stroke-width:1.6;transition:transform 180ms ease;flex:0 0 auto; }
.tfr-landing .tfr-select__trigger:is(:focus-visible,[aria-expanded="true"]) { outline:none;border-color:#c9472b;background:#fff5f0;box-shadow:none; }
@media (hover:hover) { .tfr-landing .tfr-select__trigger:hover:not(:focus-visible):not([aria-expanded="true"]) { border-color:#aebed2;background:#f7f9fc;box-shadow:none; } }
.tfr-landing .tfr-select__trigger[aria-expanded="true"] svg { transform:rotate(180deg); }
.tfr-landing .tfr-select__trigger { gap:8px;padding-inline:12px 10px; }
.tfr-landing .tfr-select__trigger > span { flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
@media (max-width:380px) { .tfr-landing #finder .tfr-select__trigger { gap:6px;padding-inline:10px 8px; } }
.tfr-landing .tfr-select__menu { position:absolute;z-index:25;inset:calc(100% + 7px) 0 auto;max-height:220px;overflow:auto;padding:6px;background:#fff;border:1px solid #d4dce8;border-radius:9px;box-shadow:0 16px 34px #1726411f;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity 300ms ease,transform 300ms ease,visibility 0s linear 300ms; }
.tfr-landing .tfr-select__menu[data-state="open"] { opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity 300ms ease,transform 300ms ease,visibility 0s; }
.tfr-landing #finder-form > .btn { height:44px;min-height:44px;padding-block:0;transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease,transform 300ms ease; }
.tfr-landing #finder-form .field select { height:44px;min-height:44px;padding-block:0; }
.tfr-landing .tfr-select__option { display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 10px;border-radius:5px;color:#253650;font-size:12px;text-align:left;transition:background-color 160ms ease,color 160ms ease; }
.tfr-landing .tfr-select__option::after { content:'✓';margin-left:auto;color:#d95132;font-weight:800;opacity:0;transform:scale(.8);transition:opacity 160ms ease,transform 160ms ease; }
.tfr-landing .tfr-select__option[aria-selected="true"] { background:#edf2fb;color:#172641;font-weight:650; }
.tfr-landing .tfr-select__option[aria-selected="true"]::after { opacity:1;transform:scale(1); }
.tfr-landing .tfr-select__option:is(:hover,:focus-visible) { background:#f5f7fb;outline:none; }
.tfr-landing #brokers .tfr-select { flex:0 0 min(178px,42vw); }
.tfr-landing #brokers .tfr-select__trigger { min-height:44px;font-size:11px; }

/* Editorial depth for the annotated methodology, perspective and FAQ sections. */
.tfr-landing #method-title { text-wrap:balance; }
.tfr-landing #method-title + p { max-width:37ch; }
.tfr-landing #method-title ~ .text-link { padding-bottom:5px;border-bottom:1px solid #f49b8566; }
.tfr-landing #method-title ~ .text-link:hover { border-color:#ffac94; }
.tfr-landing #method-title ~ .text-link .icon { transition:transform 180ms ease; }
.tfr-landing #method-title ~ .text-link:hover .icon { transform:translate(3px,-3px); }
.tfr-landing .method-line { position:relative;grid-template-columns:52px minmax(0,1fr);gap:18px;padding:24px 20px;border:1px solid transparent;border-bottom-color:#ffffff24;border-radius:9px;transition:transform 200ms ease,background-color 200ms ease,border-color 200ms ease; }
.tfr-landing .method-line > span { display:grid;grid-template-columns:1fr;place-items:center;align-content:start;gap:10px;padding-top:3px;color:#ffac94; }
.tfr-landing .method-line .icon { width:32px;height:32px;padding:8px;border:1px solid #ffffff2b;border-radius:7px;background:#294367;color:#f5f8ff; }
.tfr-landing .method-line h3 { letter-spacing:-.25px; }
@media (hover:hover) and (pointer:fine) { .tfr-landing .method-line:hover { transform:translateX(7px);background:#ffffff0b;border-color:#ffffff1d; } }

.tfr-landing #stories-title { max-width:20ch;text-wrap:balance; }
.tfr-landing #stories-title + .grid { align-items:stretch; }
.tfr-landing .quote-card { position:relative;min-height:270px;padding:30px 30px 26px;border-color:#dce4ef;background:linear-gradient(145deg,#fff 0%,#f8faff 100%);box-shadow:0 10px 26px #17264108;transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease; }
.tfr-landing .quote-card::before { content:'“';position:absolute;right:25px;top:11px;color:#e4eaf4;font-family:Georgia,serif;font-size:62px;line-height:1; }
.tfr-landing .quote-card blockquote { position:relative;max-width:29ch;font-size:14px;line-height:1.8;color:#425570; }
.tfr-landing .quote-card .avatar { width:42px;height:42px;background:#e9effa;color:#294367;border:1px solid #d7e0ef; }
.tfr-landing .quote-card a { color:#344d72;text-underline-offset:4px; }
@media (min-width:768px) { .tfr-landing .quote-card:nth-child(2) { margin-top:22px; } .tfr-landing .quote-card:nth-child(3) { margin-top:7px; } }
@media (hover:hover) and (pointer:fine) { .tfr-landing .quote-card:hover { transform:translateY(-6px);border-color:#bac8dc;box-shadow:0 18px 34px #17264115; } }

/* Traders' radar: a scope with numbered broker blips instead of a greyed logo band. */
.tfr-landing .radar-strip { border-block:1px solid #e0e5ed;background:linear-gradient(90deg,#f5f7fb 0,#f5f7fb 50%,#fff 50%); }
.tfr-landing .radar-strip__inner { display:grid;grid-template-columns:250px minmax(0,1fr);background:#fff; }
.tfr-landing .radar-strip__label { display:flex;align-items:center;gap:14px;padding:20px 24px 20px 0;background:#f5f7fb;border-right:1px solid #e0e5ed; }
.tfr-landing .radar-strip__label .eyebrow { color:#172641; }
.tfr-landing .radar-strip__sub { margin-top:4px;font-size:12px;line-height:1.4;color:#52627b; }
.tfr-landing .radar-scope { width:48px;height:48px;flex-shrink:0;fill:none;stroke:#b7c4d9;stroke-width:1; }
.tfr-landing .radar-scope__sweep { transform-origin:24px 24px;animation:tfr-radar-sweep 5s linear infinite; }
.tfr-landing .radar-scope__sweep path { fill:#ed603f;fill-opacity:.2;stroke:none; }
.tfr-landing .radar-scope__blip { fill:#ed603f;stroke:none;animation:tfr-radar-blip 5s ease-out infinite; }
.tfr-landing .radar-scope__blip--late { animation-delay:2.9s; }
@keyframes tfr-radar-sweep { to { transform:rotate(360deg); } }
@keyframes tfr-radar-blip { 0%,8% { opacity:1; } 60%,100% { opacity:.25; } }
.tfr-landing .radar-list { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0; }
.tfr-landing .radar-list > li + li { border-left:1px solid #e0e5ed; }
.tfr-landing .radar-blip { position:relative;display:flex;flex-direction:column;gap:3px;height:100%;padding:18px 20px;color:#172641;transition:background-color 180ms ease; }
.tfr-landing .radar-blip__no { display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#8a97ab; }
.tfr-landing .radar-blip__no::after { content:'';width:6px;height:6px;border-radius:50%;background:#ed603f;box-shadow:0 0 0 3px #ed603f22;transition:box-shadow 180ms ease; }
.tfr-landing .radar-blip__name { font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:750;letter-spacing:-.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.tfr-landing .radar-blip__meta { display:flex;align-items:center;gap:5px;font-size:12px;color:#52627b; }
.tfr-landing .radar-blip__meta strong { color:#172641;font-weight:700; }
.tfr-landing .radar-blip__meta .icon { width:13px;height:13px;margin-left:auto;color:#b83f24;opacity:0;transform:translateX(-4px);transition:opacity 180ms ease,transform 180ms ease; }
.tfr-landing .radar-blip:focus-visible { outline-offset:-3px; }
@media (hover:hover) and (pointer:fine) {
 .tfr-landing .radar-blip:hover { background:#f5f7fb; }
 .tfr-landing .radar-blip:hover .radar-blip__no::after { box-shadow:0 0 0 6px #ed603f26; }
 .tfr-landing .radar-blip:hover .radar-blip__meta .icon { opacity:1;transform:none; }
}
@media (max-width:1100px) { .tfr-landing .radar-strip__inner { grid-template-columns:210px minmax(0,1fr); } .tfr-landing .radar-blip { padding-inline:14px; } .tfr-landing .radar-blip__name { font-size:15px; } }
@media (max-width:900px) {
 .tfr-landing .radar-strip { background:#fff; }
 .tfr-landing .radar-strip__inner { grid-template-columns:1fr; }
 .tfr-landing .radar-strip__label { padding:16px 0;background:transparent;border-right:0;border-bottom:1px solid #e0e5ed; }
 .tfr-landing .radar-scope { width:40px;height:40px; }
 .tfr-landing .radar-list { grid-template-columns:1fr; }
 .tfr-landing .radar-list > li + li { border-left:0;border-top:1px solid #edf1f6; }
 .tfr-landing .radar-blip { display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:10px 0; }
 .tfr-landing .radar-blip__name { font-size:16px; }
 .tfr-landing .radar-blip__meta .icon { opacity:1;transform:none; }
}
@media (prefers-reduced-motion:reduce) { .tfr-landing :is(.radar-scope__sweep,.radar-scope__blip) { animation:none; } .tfr-landing :is(.radar-blip,.radar-blip__meta .icon), .tfr-landing .radar-blip__no::after { transition:none; } }

/* FAQ: a numbered question ledger with reply bubbles and an open final row. */
.tfr-landing .qa-desk { border-top:1px solid #e0e5ed;padding-top:64px; }
.tfr-landing .qa-desk__head { display:flex;align-items:flex-end;justify-content:space-between;gap:32px; }
.tfr-landing .qa-desk__note { display:flex;align-items:center;gap:18px;max-width:380px; }
.tfr-landing .qa-desk__note img { width:112px;height:auto;flex-shrink:0; }
.tfr-landing .qa-desk__note p { font-size:13px;line-height:1.75;color:#52627b; }
.tfr-landing .qa-ledger { margin-top:40px;list-style:none;padding:0;border-top:2px solid #172641; }
.tfr-landing .qa-ledger > li { border-bottom:1px solid #dce3ed; }
.tfr-landing .qa-row, .tfr-landing .qa-row[open] { background:transparent;padding:0; }
.tfr-landing .qa-row summary { display:grid;grid-template-columns:72px minmax(0,1fr) auto 38px;align-items:center;gap:20px;padding:22px 0;cursor:pointer;list-style:none; }
.tfr-landing .qa-row summary::-webkit-details-marker { display:none; }
.tfr-landing .qa-row__no { font-family:'Plus Jakarta Sans',sans-serif;font-size:30px;font-weight:700;line-height:1;letter-spacing:-1px;color:transparent;-webkit-text-stroke:1.2px #9aa8bd;transition:color 180ms ease,-webkit-text-stroke-color 180ms ease; }
.tfr-landing .qa-row[open] .qa-row__no { color:#ed603f;-webkit-text-stroke-color:#ed603f; }
.tfr-landing .qa-row__q { font-size:16px;font-weight:600;line-height:1.45;color:#172641;transition:color 180ms ease; }
.tfr-landing .qa-row__tag { font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3c5070;border:1px solid #d3dcea;border-radius:999px;padding:5px 11px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; }
.tfr-landing .qa-row[open] .qa-row__tag { background:#172641;border-color:#172641;color:#fff; }
.tfr-landing .qa-row__toggle { display:grid;place-items:center;width:38px;height:38px;border:1px solid #cfd8e6;border-radius:50%;color:#172641;transition:background-color 180ms ease,border-color 180ms ease; }
.tfr-landing .qa-row__toggle .icon { width:16px;height:16px;transition:transform 200ms ease; }
.tfr-landing .qa-row[open] .qa-row__toggle { background:#ed603f;border-color:#ed603f; }
.tfr-landing .qa-row[open] .qa-row__toggle .icon { transform:rotate(45deg); }
.tfr-landing .qa-row__reply { display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:0 58px 30px 0; }
.tfr-landing .qa-row__a { font-family:'Plus Jakarta Sans',sans-serif;font-size:30px;font-weight:700;line-height:1;letter-spacing:-1px;color:#b83f24;padding-top:18px; }
.tfr-landing .qa-row__body { position:relative;max-width:760px;padding:22px 26px 18px;background:#f5f7fb;border:1px solid #dce3ed;border-radius:4px 18px 18px 18px;animation:tfr-qa-open 220ms ease-out both; }
.tfr-landing .qa-row__body::before { content:'';position:absolute;left:-8px;top:22px;width:14px;height:14px;background:#f5f7fb;border-left:1px solid #dce3ed;border-bottom:1px solid #dce3ed;transform:rotate(45deg); }
.tfr-landing .qa-row__body :is(p,li) { font-size:14.5px;line-height:1.85;color:#425570;max-width:68ch; }
.tfr-landing .qa-row__body .admin-content :is(p,ul,ol) { margin:0 0 10px; }
.tfr-landing .qa-row__body a { overflow-wrap:anywhere; }
.tfr-landing .qa-row__source { display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed #c9d3e2;font-size:12.5px;font-weight:650;color:#172641; }
.tfr-landing .qa-row__source .icon { width:14px;height:14px; }
.tfr-landing .qa-row__source:hover { color:#b63c22; }
.tfr-landing .qa-ledger > .qa-ask { display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 0;border-bottom:1px dashed #b7c4d9; }
.tfr-landing .qa-ask .qa-row__no { -webkit-text-stroke:1.2px #ed603f; }
.tfr-landing .qa-ask p { font-size:14px;color:#52627b;line-height:1.6; }
.tfr-landing .qa-ask strong { display:block;font-size:16px;font-weight:600;color:#172641; }
.tfr-landing .qa-ask p a { text-decoration:underline;text-underline-offset:3px; }
.tfr-landing .qa-ask__link { display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid #172641;border-radius:999px;font-size:13px;font-weight:650;color:#172641;white-space:nowrap;transition:background-color 180ms ease,color 180ms ease; }
.tfr-landing .qa-ask__link .icon { width:15px;height:15px; }
.tfr-landing .qa-ask__link:hover { background:#172641;color:#fff; }
@keyframes tfr-qa-open { from { opacity:0;transform:translateY(-6px); } to { opacity:1;transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) { .tfr-landing .qa-row summary:hover .qa-row__no { -webkit-text-stroke-color:#ed603f; } .tfr-landing .qa-row summary:hover .qa-row__q { color:#304b71; } .tfr-landing .qa-row summary:hover .qa-row__toggle { border-color:#172641; } }
@media (max-width:1023px) { .tfr-landing .qa-row__reply { padding-right:0; } }
@media (max-width:767px) {
 .tfr-landing .qa-desk { padding-top:48px; }
 .tfr-landing .qa-desk__head { flex-direction:column;align-items:flex-start;gap:20px; }
 .tfr-landing .qa-desk__note img { width:84px; }
 .tfr-landing .qa-ledger { margin-top:28px; }
 .tfr-landing .qa-row summary { grid-template-columns:36px minmax(0,1fr) 36px;gap:8px 12px;padding:18px 0; }
 .tfr-landing .qa-row__no { font-size:20px;align-self:start;padding-top:3px; }
 .tfr-landing .qa-row__q { font-size:15px; }
 .tfr-landing .qa-row__tag { grid-column:2;grid-row:2;justify-self:start;max-width:100%; }
 .tfr-landing .qa-row__toggle { grid-column:3;grid-row:1;width:36px;height:36px; }
 .tfr-landing .qa-row__reply { grid-template-columns:minmax(0,1fr);padding:0 0 22px; }
 .tfr-landing .qa-row__a { display:none; }
 .tfr-landing .qa-row__body { padding:18px 18px 14px;border-radius:18px; }
 .tfr-landing .qa-row__body::before { left:24px;top:-8px;border-bottom:0;border-top:1px solid #dce3ed; }
 .tfr-landing .qa-ledger > .qa-ask { grid-template-columns:36px minmax(0,1fr);gap:12px; }
 .tfr-landing .qa-ask .qa-row__no { align-self:start;padding-top:3px; }
 .tfr-landing .qa-ask__link { grid-column:2;justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { .tfr-landing :is(.qa-row__no,.qa-row__q,.qa-row__tag,.qa-row__toggle,.qa-row__toggle .icon,.qa-ask__link) { transition:none; } .tfr-landing .qa-row__body { animation:none; } }

@media (max-width:767px) { .tfr-landing #brokers .tfr-select { flex:1 1 130px; } .tfr-landing .method-line { grid-template-columns:44px minmax(0,1fr);padding:20px 13px;gap:13px; } .tfr-landing .quote-card { min-height:0;padding:25px 22px; } }
@media (prefers-reduced-motion:reduce) { .tfr-landing :is(.tfr-select__trigger,.tfr-select__trigger svg,.tfr-select__menu,.tfr-select__option,.method-line,.quote-card) { transition:none; } }
