/* TheBull Broker Review V2
   Loaded only on individual broker_reviews pages. */

/*
 * The legacy theme sets #wrapper { overflow: hidden; }. Any non-visible
 * overflow ancestor becomes the sticky containing block and prevents our
 * sidebar/mobile TOC from sticking to the viewport. overflow: clip keeps the
 * legacy horizontal clipping without creating a scrolling ancestor.
 */
body.single-broker_reviews #wrapper {
    /* Vertical overflow must stay visible for long-page navigation. */
    overflow-y: visible;
    /* Preserve the theme's horizontal clipping without creating a scroll container. */
    overflow-x: clip;
}

.broker-v2 {
    --broker-v2-navy: #0b203c;
    --broker-v2-text: #1d2738;
    --broker-v2-muted: #667085;
    --broker-v2-line: #e2e7ee;
    --broker-v2-soft: #f6f8fb;
    --broker-v2-blue-soft: #f1f6ff;
    --broker-v2-red: #d3232a;
    --broker-v2-red-dark: #b91920;
    --broker-v2-green: #138a4a;
    --broker-v2-green-soft: #f1faf5;
    --broker-v2-red-soft: #fff4f4;
    --broker-v2-gold: #f2b01e;
    --broker-v2-radius: 8px;
    --broker-v2-sticky-top: 70px;
    --broker-v2-mobile-header-offset: 52px;
    color: var(--broker-v2-text);
    background: #fff;
    padding: 18px 0 42px;
}

.broker-v2 *,
.broker-v2 *::before,
.broker-v2 *::after {
    box-sizing: border-box;
}

.broker-v2 a {
    text-underline-offset: 2px;
}

.broker-v2__container {
    max-width: 1240px;
}

.broker-v2-header {
    max-width: 860px;
    padding: 10px 0 22px;
}

.broker-v2-header h1 {
    margin: 0 0 8px;
    color: var(--broker-v2-navy);
    font-family: "overpass", Arial, sans-serif;
    font-size: clamp(34px, 4.4vw, 54px);
    line-height: 1.05;
    letter-spacing: -1.6px;
}

.broker-v2-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    color: var(--broker-v2-muted);
    font-family: "overpass", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.4;
}

.broker-v2-meta a {
    color: inherit;
    text-decoration: none;
}

.broker-v2-meta a:hover {
    color: var(--broker-v2-red);
}

.broker-v2-meta__author {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.broker-v2-author-avatar {
    display: block;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
}

.broker-v2-meta__item {
    position: relative;
}

.broker-v2-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 34px;
    align-items: stretch;
}

.broker-v2-main {
    min-width: 0;
    align-self: start;
}

.broker-v2-sidebar {
    position: relative;
    min-width: 0;
    align-self: stretch;
}

/*
 * Desktop sidebar positioning is managed by broker-review-v2.js. This is
 * intentionally not native position:sticky because the legacy theme has
 * historically used overflow containers that make sticky unreliable.
 */
.broker-v2-sidebar__sticky {
    /* Native sticky is the no-JS fallback. */
    position: -webkit-sticky;
    position: sticky;
    top: var(--broker-v2-sticky-top);
    width: 100%;
    overflow: visible;
}

/* When V2 JS is present it takes over positioning for legacy-theme reliability. */
.broker-v2.broker-v2-has-js .broker-v2-sidebar__sticky {
    position: relative;
    top: auto;
}

@media (min-width: 821px) {
    .broker-v2.broker-v2-has-js .broker-v2-sidebar__sticky.is-fixed {
        position: fixed;
        top: var(--broker-v2-sticky-top);
        z-index: 80;
    }

    .broker-v2.broker-v2-has-js .broker-v2-sidebar__sticky.is-bottom {
        position: absolute;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100% !important;
    }
}

.broker-v2-decision,
.broker-v2-section,
.broker-v2-final,
.broker-v2-toc,
.broker-v2-side-card {
    border: 1px solid var(--broker-v2-line);
    border-radius: var(--broker-v2-radius);
    background: #fff;
}

.broker-v2-decision {
    padding: 24px;
    box-shadow: 0 10px 28px rgba(16, 32, 58, 0.06);
}

.broker-v2-brand {
    display: flex;
    align-items: center;
    gap: 18px;
}

.broker-v2-logo,
.broker-v2-brand__logo {
    display: block;
    width: 160px;
    height: 64px;
    object-fit: contain;
    object-position: left center;
}

.broker-v2-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: var(--broker-v2-red);
    font-family: "overpass", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.broker-v2-decision h2,
.broker-v2-section h2,
.broker-v2-final h2,
.broker-v2-toc h2,
.broker-v2-side-card h2 {
    color: var(--broker-v2-navy);
    font-family: "overpass", Arial, sans-serif;
    font-weight: 700;
}

.broker-v2-decision h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.15;
}

.broker-v2-best-for {
    margin: 5px 0 0;
    color: var(--broker-v2-muted);
    font: 14px/1.45 "overpass", Arial, sans-serif;
}

.broker-v2-decision__summary {
    max-width: 800px;
    margin-top: 18px;
    color: #3b4657;
    font-size: 17px;
    line-height: 1.65;
}

.broker-v2-decision__summary p:last-child,
.broker-v2-copy p:last-child {
    margin-bottom: 0;
}

.broker-v2-fit-split,
.broker-v2-tradeoffs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.broker-v2-fit-box,
.broker-v2-tradeoff {
    padding: 17px 18px;
    border-radius: 7px;
}

.broker-v2-fit-box--good,
.broker-v2-tradeoff--good {
    background: var(--broker-v2-green-soft);
}

.broker-v2-fit-box--avoid,
.broker-v2-tradeoff--bad {
    background: var(--broker-v2-red-soft);
}

.broker-v2-fit-box h3,
.broker-v2-tradeoff h3,
.broker-v2-step h3,
.broker-v2-subsection-grid h3,
.broker-v2-cost-card h3 {
    margin: 0 0 10px;
    color: var(--broker-v2-navy);
    font-family: "overpass", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.3;
}

.broker-v2-fit-box ul,
.broker-v2-tradeoff ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.broker-v2-fit-box li,
.broker-v2-tradeoff li {
    position: relative;
    margin: 8px 0;
    padding-left: 21px;
    font-size: 14px;
    line-height: 1.45;
}

.broker-v2-fit-box--good li::before,
.broker-v2-tradeoff--good li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--broker-v2-green);
    font-weight: 800;
}

.broker-v2-fit-box--avoid li::before,
.broker-v2-tradeoff--bad li::before {
    content: "×";
    position: absolute;
    left: 1px;
    color: var(--broker-v2-red);
    font-weight: 900;
}

.broker-v2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.broker-v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 19px;
    border: 1px solid transparent;
    border-radius: 5px;
    font: 700 14px/1.2 "overpass", Arial, sans-serif;
    text-decoration: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.broker-v2-btn--primary {
    background: var(--broker-v2-red);
    color: #fff !important;
}

.broker-v2-btn--primary:hover {
    background: var(--broker-v2-red-dark);
}

.broker-v2-btn--secondary {
    border-color: #c7d0dc;
    background: #fff;
    color: var(--broker-v2-navy) !important;
}

.broker-v2-btn--secondary:hover {
    border-color: var(--broker-v2-navy);
    background: var(--broker-v2-soft);
}

.broker-v2-risk {
    margin-top: 12px;
    color: #667085;
    font-size: 11px;
    line-height: 1.45;
}

.broker-v2-risk p {
    margin: 0;
}

.broker-v2-risk a {
    color: inherit;
}

.broker-v2-sidebar-trigger {
    height: 1px;
}

.broker-v2-section {
    margin-top: 18px;
    padding: 24px;
}

.broker-v2-section--plain {
    border-color: transparent;
    padding-left: 2px;
    padding-right: 2px;
}

.broker-v2-section h2,
.broker-v2-final h2 {
    margin: 0 0 12px;
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -.35px;
}

.broker-v2-section h3 {
    text-transform: none;
    border: 0;
    padding: 0;
    text-align: left;
}

.broker-v2-section__intro > p {
    margin: 0 0 15px;
    color: var(--broker-v2-muted);
    font-size: 14px;
    line-height: 1.55;
}

.broker-v2-copy {
    color: #3d4858;
    font-size: 16px;
    line-height: 1.7;
}

.broker-v2-copy a {
    color: #0b59b1;
}

.broker-v2-steps {
    position: relative;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.broker-v2-steps::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 18px;
    width: 2px;
    background: #dbe6f7;
}

.broker-v2-step {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 16px;
    padding: 9px 0 18px;
}

.broker-v2-step__number {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #1667d9;
    color: #fff;
    font: 700 14px/1 "overpass", Arial, sans-serif;
}

.broker-v2-step p {
    margin: 0;
    color: #526071;
    font-size: 14px;
    line-height: 1.55;
}

.broker-v2-profile-list {
    margin-top: 15px;
}

.broker-v2-profile {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(120px, 190px) 48px;
    gap: 14px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--broker-v2-line);
}

.broker-v2-profile:last-child {
    border-bottom: 0;
}

.broker-v2-profile__label {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.broker-v2-profile__label strong,
.broker-v2-profile__score {
    color: var(--broker-v2-navy);
    font-family: "overpass", Arial, sans-serif;
    font-size: 14px;
}

.broker-v2-profile__label span {
    color: var(--broker-v2-muted);
    font-size: 12px;
}

.broker-v2-profile__meter {
    height: 8px;
    border-radius: 999px;
    background: #e8edf4;
    overflow: hidden;
}

.broker-v2-profile__meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #1769d6;
}

.broker-v2-cost-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.broker-v2-cost-card {
    padding: 18px;
    border: 1px solid var(--broker-v2-line);
    border-radius: 7px;
    background: var(--broker-v2-soft);
}

.broker-v2-cost-card p {
    margin: 7px 0 0;
    color: var(--broker-v2-muted);
    font-size: 13px;
    line-height: 1.5;
}

.broker-v2-cost-card__activity {
    min-height: 39px;
}

.broker-v2-cost-card__value {
    display: block;
    margin-top: 14px;
    color: var(--broker-v2-navy);
    font: 700 22px/1.2 "overpass", Arial, sans-serif;
}

.broker-v2-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin: 18px 0;
    border: 1px solid var(--broker-v2-line);
    border-radius: 6px;
}

.broker-v2-table {
    width: 100%;
    min-width: 540px;
    margin: 0;
    border-collapse: collapse;
    font-size: 14px;
}

.broker-v2-table caption {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
}

.broker-v2-table th,
.broker-v2-table td {
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid var(--broker-v2-line);
    text-align: left;
    vertical-align: top;
}

.broker-v2-table tr:last-child th,
.broker-v2-table tr:last-child td {
    border-bottom: 0;
}

.broker-v2-table th {
    width: 42%;
    background: #f7f9fc;
    color: var(--broker-v2-navy);
    font: 600 13px/1.4 "overpass", Arial, sans-serif;
}

.broker-v2-subsection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 15px;
}

.broker-v2-subsection-grid > div {
    padding: 18px;
    border: 1px solid var(--broker-v2-line);
    border-radius: 7px;
    background: var(--broker-v2-soft);
    color: #4d596b;
    font-size: 14px;
    line-height: 1.6;
}

.broker-v2-subsection-grid p:last-child {
    margin-bottom: 0;
}

.broker-v2-platform-copy {
    margin-top: 8px;
}

.broker-v2-platform-copy__section {
    padding: 4px 0 0;
}

.broker-v2-platform-copy__section + .broker-v2-platform-copy__section {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid var(--broker-v2-line);
}

.broker-v2-platform-copy__section h3 {
    margin: 0 0 10px;
    color: var(--broker-v2-navy);
    font: 700 19px/1.3 "overpass", Arial, sans-serif;
}

.broker-v2-platform-media {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--broker-v2-line);
}

.broker-v2-platform-media > h3 {
    margin: 0 0 14px;
    color: var(--broker-v2-navy);
    font: 700 19px/1.3 "overpass", Arial, sans-serif;
}

.broker-v2-platform-media__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.broker-v2-platform-media__item {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--broker-v2-line);
    border-radius: 8px;
    background: #fff;
}

.broker-v2-platform-media__item:only-child {
    grid-column: 1 / -1;
}

.broker-v2-platform-media__asset {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: contain;
    background: #f7f9fc;
}

.broker-v2-platform-media__video {
    aspect-ratio: 16 / 9;
    max-height: none;
    background: #000;
}

.broker-v2-platform-media__file {
    display: flex;
    min-height: 120px;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: #0b59b1;
    font: 700 14px/1.4 "overpass", Arial, sans-serif;
    text-decoration: none;
}

.broker-v2-platform-media figcaption {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 11px 13px 13px;
    color: var(--broker-v2-muted);
    font-size: 12px;
    line-height: 1.45;
}

.broker-v2-platform-media figcaption strong {
    color: var(--broker-v2-navy);
    font-family: "overpass", Arial, sans-serif;
    font-size: 13px;
}

.broker-v2-evidence-list {
    margin-top: 18px;
    border: 1px solid var(--broker-v2-line);
    border-radius: 7px;
    overflow: hidden;
}

.broker-v2-evidence {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--broker-v2-line);
}

.broker-v2-evidence:last-child {
    border-bottom: 0;
}

.broker-v2-evidence > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.broker-v2-evidence strong {
    color: var(--broker-v2-navy);
    font-family: "overpass", Arial, sans-serif;
    font-size: 14px;
}

.broker-v2-evidence span {
    color: var(--broker-v2-muted);
    font-size: 13px;
}

.broker-v2-evidence__source {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    text-align: right;
}

.broker-v2-evidence__source a {
    color: #0b59b1;
    font: 600 12px/1.3 "overpass", Arial, sans-serif;
}

.broker-v2-evidence__source small {
    color: var(--broker-v2-green);
    font-size: 11px;
}

.broker-v2-final {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 28px;
    align-items: center;
    margin-top: 22px;
    padding: 26px;
    border-color: #d7e5f8;
    background: linear-gradient(135deg, #f5f9ff 0%, #fff 72%);
}

.broker-v2-final__lead {
    margin: 0 0 12px;
    color: var(--broker-v2-navy);
    font: 600 18px/1.5 "overpass", Arial, sans-serif;
}

.broker-v2-rating-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 170px;
    padding: 18px;
    border: 1px solid var(--broker-v2-line);
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

.broker-v2-rating-card__number {
    color: var(--broker-v2-navy);
    font: 800 38px/1 "overpass", Arial, sans-serif;
}

.broker-v2-rating-card__number span {
    font-size: 17px;
    font-weight: 600;
}

.broker-v2-stars {
    display: inline-block;
    margin: 9px 0 5px;
    background: linear-gradient(90deg, var(--broker-v2-gold) var(--rating-percent), #dce1e8 var(--rating-percent));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 22px;
    letter-spacing: 1px;
}

.broker-v2-rating-card strong {
    color: var(--broker-v2-navy);
    font: 700 13px/1.2 "overpass", Arial, sans-serif;
}

.broker-v2-rating-card small {
    margin-top: 3px;
    color: var(--broker-v2-muted);
    font-size: 11px;
}

.broker-v2-faq-list {
    border-top: 1px solid var(--broker-v2-line);
}

.broker-v2-faq {
    border-bottom: 1px solid var(--broker-v2-line);
}

.broker-v2-faq summary {
    position: relative;
    padding: 16px 38px 16px 0;
    color: var(--broker-v2-navy);
    font: 700 15px/1.4 "overpass", Arial, sans-serif;
    list-style: none;
    cursor: pointer;
}

.broker-v2-faq summary::-webkit-details-marker {
    display: none;
}

.broker-v2-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
    color: #667085;
    font-size: 22px;
    font-weight: 400;
}

.broker-v2-faq[open] summary::after {
    content: "−";
}

.broker-v2-faq__answer {
    padding: 0 32px 16px 0;
}

.broker-v2-disclaimer {
    margin-top: 24px;
    padding: 18px;
    border: 1px solid var(--broker-v2-line);
    border-radius: 6px;
    background: #fafafa;
    color: #697386;
    font-size: 12px;
    line-height: 1.55;
}

.broker-v2-disclaimer h2 {
    margin: 0 0 8px;
    color: var(--broker-v2-navy);
    font: 700 13px/1.2 "overpass", Arial, sans-serif;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.broker-v2-disclaimer p:last-child {
    margin-bottom: 0;
}

.broker-v2-toc {
    position: relative;
    z-index: 3;
    padding: 16px 17px 14px;
    background: #fff;
}

.broker-v2-toc h2,
.broker-v2-side-card h2 {
    margin: 0 0 12px;
    font-size: 17px;
    line-height: 1.2;
}

.broker-v2-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: broker-toc;
}

.broker-v2-toc li {
    counter-increment: broker-toc;
}

.broker-v2-toc a {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 7px;
    padding: 5px 0;
    color: #1c5db8;
    font: 500 12px/1.35 "overpass", Arial, sans-serif;
    text-decoration: none;
}

.broker-v2-toc a::before {
    content: counter(broker-toc);
    color: #7d8a9d;
    font-size: 11px;
}

.broker-v2-toc a:hover,
.broker-v2-toc a.is-active {
    color: var(--broker-v2-red);
    font-weight: 700;
}

.broker-v2-side-swap {
    margin-top: 12px;
}

.broker-v2-side-card {
    position: static;
    width: 100%;
    min-height: 0;
    padding: 16px;
}

.broker-v2-side-card[aria-hidden="true"] {
    display: none;
}

.broker-v2-side-card[aria-hidden="false"] {
    display: block;
}

.broker-v2-side-brand {
    display: flex;
    align-items: center;
    min-height: 58px;
    margin-bottom: 8px;
}

.broker-v2-side-logo {
    width: 130px;
    height: 50px;
}

.broker-v2-facts {
    margin: 0;
}

.broker-v2-facts > div {
    padding: 8px 0;
    border-top: 1px solid var(--broker-v2-line);
}

.broker-v2-facts dt {
    margin-bottom: 3px;
    color: var(--broker-v2-navy);
    font: 700 11px/1.2 "overpass", Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.broker-v2-facts dd {
    margin: 0;
    color: #5d697a;
    font-size: 12px;
    line-height: 1.4;
}

.broker-v2-related-list {
    display: grid;
    gap: 7px;
}

.broker-v2-related {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 14px;
    gap: 10px;
    align-items: center;
    padding: 9px;
    border: 1px solid var(--broker-v2-line);
    border-radius: 6px;
    color: var(--broker-v2-navy) !important;
    text-decoration: none !important;
}

.broker-v2-related:hover {
    border-color: #bdc8d6;
    background: var(--broker-v2-soft);
}

.broker-v2-related__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 38px;
}

.broker-v2-related__logo .broker-v2-logo {
    width: 48px;
    height: 38px;
    object-position: center;
}

.broker-v2-related__text {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.broker-v2-related__text strong {
    overflow: hidden;
    font: 700 12px/1.25 "overpass", Arial, sans-serif;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.broker-v2-related__text small {
    margin-top: 2px;
    color: var(--broker-v2-muted);
    font-size: 11px;
}

.broker-v2-side-link {
    display: inline-block;
    margin-top: 13px;
    color: #0b59b1 !important;
    font: 700 12px/1.3 "overpass", Arial, sans-serif;
    text-decoration: none !important;
}

.broker-v2 [data-broker-section] {
    scroll-margin-top: calc(var(--broker-v2-sticky-top) + 18px);
}

.broker-v2-mobile-toc-slot,
.broker-v2-mobile-toc,
.broker-v2-mobile-cta {
    display: none;
}

@media (max-width: 1023px) {
    .broker-v2-layout {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 22px;
    }

    .broker-v2-cost-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .broker-v2 {
        padding-top: 8px;
        padding-bottom: 90px;
    }

    .broker-v2-layout {
        display: block;
    }

    .broker-v2-sidebar {
        display: none;
    }

    .broker-v2-mobile-toc-slot {
        display: block;
        width: 100%;
        margin: 0 0 14px;
    }

    .broker-v2-mobile-toc {
        position: relative;
        z-index: 9998;
        display: block;
        width: 100%;
        margin: 0;
        border: 1px solid var(--broker-v2-line);
        border-radius: 7px;
        background: rgba(255, 255, 255, .985);
        box-shadow: 0 4px 14px rgba(15, 31, 55, .09);
        backdrop-filter: blur(8px);
    }

    .broker-v2-mobile-toc.is-fixed {
        position: fixed;
        top: var(--broker-v2-mobile-header-offset);
        right: 0;
        left: 0;
        width: 100%;
        margin: 0;
        border-right: 0;
        border-left: 0;
        border-radius: 0 0 7px 7px;
        box-shadow: 0 5px 16px rgba(15, 31, 55, .13);
    }

    .broker-v2-mobile-toc__toggle {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        width: 100%;
        min-height: 48px;
        align-items: center;
        gap: 9px;
        padding: 10px 13px;
        border: 0;
        background: transparent;
        color: var(--broker-v2-navy);
        font-family: "overpass", Arial, sans-serif;
        text-align: left;
        cursor: pointer;
    }

    .broker-v2-mobile-toc__label {
        font-size: 12px;
        font-weight: 700;
        white-space: nowrap;
    }

    .broker-v2-mobile-toc__current {
        overflow: hidden;
        color: #536174;
        font-size: 12px;
        font-weight: 500;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .broker-v2-mobile-toc__chevron {
        font-size: 18px;
        line-height: 1;
        transition: transform .18s ease;
    }

    .broker-v2-mobile-toc.is-open .broker-v2-mobile-toc__chevron {
        transform: rotate(180deg);
    }

    .broker-v2-mobile-toc__panel {
        max-height: min(56vh, 430px);
        overflow-y: auto;
        overscroll-behavior: contain;
        border-top: 1px solid var(--broker-v2-line);
    }

    .broker-v2-mobile-toc__panel[hidden] {
        display: none;
    }

    .broker-v2-mobile-toc ol {
        margin: 0;
        padding: 7px 13px 10px;
        list-style: none;
        counter-reset: broker-mobile-toc;
    }

    .broker-v2-mobile-toc li {
        counter-increment: broker-mobile-toc;
    }

    .broker-v2-mobile-toc a {
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 7px;
        padding: 8px 0;
        color: #1c5db8;
        font: 500 13px/1.35 "overpass", Arial, sans-serif;
        text-decoration: none;
    }

    .broker-v2-mobile-toc a::before {
        content: counter(broker-mobile-toc);
        color: #7d8a9d;
        font-size: 11px;
    }

    .broker-v2-mobile-toc a.is-active {
        color: var(--broker-v2-red);
        font-weight: 700;
    }

    .broker-v2 [data-broker-section] {
        scroll-margin-top: calc(var(--broker-v2-mobile-header-offset) + 64px);
    }

    .broker-v2-header {
        padding-bottom: 16px;
    }

    .broker-v2-header h1 {
        font-size: 34px;
        letter-spacing: -.8px;
    }

    .broker-v2-decision,
    .broker-v2-section,
    .broker-v2-final {
        padding: 18px;
    }

    .broker-v2-section--plain {
        padding-left: 0;
        padding-right: 0;
    }

    .broker-v2-final {
        grid-template-columns: 1fr;
    }

    .broker-v2-rating-card {
        min-height: 0;
        align-items: flex-start;
        padding: 16px;
        text-align: left;
    }

    .broker-v2-mobile-cta {
        position: fixed;
        z-index: 10000;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 68px;
        padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
        border-top: 1px solid #d7dde6;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 -5px 18px rgba(15, 31, 55, .14);
        backdrop-filter: blur(8px);
    }

    .broker-v2-mobile-cta__broker {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 8px;
    }

    .broker-v2-mobile-cta__logo {
        flex: 0 0 auto;
        width: 42px;
        height: 34px;
        object-fit: contain;
    }

    .broker-v2-mobile-cta__broker > div {
        display: flex;
        min-width: 0;
        flex-direction: column;
    }

    .broker-v2-mobile-cta__broker strong {
        overflow: hidden;
        color: var(--broker-v2-navy);
        font: 700 13px/1.2 "overpass", Arial, sans-serif;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .broker-v2-mobile-cta__broker span {
        margin-top: 2px;
        color: var(--broker-v2-muted);
        font: 11px/1.2 "overpass", Arial, sans-serif;
    }

    .broker-v2-mobile-cta__button {
        flex: 0 0 auto;
        min-width: 118px;
        padding: 12px 13px;
        border-radius: 5px;
        background: var(--broker-v2-red);
        color: #fff !important;
        font: 700 12px/1.15 "overpass", Arial, sans-serif;
        text-align: center;
        text-decoration: none !important;
    }
}

@media (max-width: 620px) {
    .broker-v2-brand {
        align-items: flex-start;
        gap: 12px;
    }

    .broker-v2-brand__logo {
        width: 108px;
        height: 50px;
    }

    .broker-v2-decision h2 {
        font-size: 21px;
    }

    .broker-v2-decision__summary {
        margin-top: 14px;
        font-size: 15px;
        line-height: 1.6;
    }

    .broker-v2-fit-split,
    .broker-v2-tradeoffs,
    .broker-v2-subsection-grid,
    .broker-v2-platform-media__grid {
        grid-template-columns: 1fr;
    }

    .broker-v2-profile {
        grid-template-columns: 1fr 44px;
        gap: 8px 12px;
    }

    .broker-v2-profile__meter {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .broker-v2-evidence {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .broker-v2-evidence__source {
        align-items: flex-start;
        text-align: left;
    }

    .broker-v2-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .broker-v2-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .broker-v2-btn {
        transition: none;
    }
}
