/* Hallmark · component-scope: comparison scoreboard · theme: RedStarTrust institutional · accent: trust-red · contrast: pass (40–41) · responsive: pass (34,49,50–57)
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 */
:root{--rating-bg:#f6f7f9;--rating-surface:#fff;--rating-ink:#111827;--rating-muted:#667085;--rating-rule:#e1e5eb;--rating-red:#c62b1e;--rating-red-dark:#230806;--rating-green:#087a46;--rating-orange:#b54708;--rating-track:#e7e9ed;--rating-shadow:0 24px 60px -48px rgba(31,41,55,.32)}
.rst-rating-page{background:var(--rating-bg);color:var(--rating-ink)}
.rating-hero{padding:40px 0 3rem;border-bottom:1px solid var(--rating-rule);background:linear-gradient(125deg,#fff 0 62%,#f8efed 100%)}
.rating-hero .rst-shell{position:relative}.rating-kicker{margin:0 0 .9rem;color:var(--rating-red);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.rating-hero h1{max-width:none;margin:0;font-size:clamp(2.4rem,3.5vw,3.25rem);line-height:1.04;letter-spacing:-.048em}.rating-hero h1 em{margin-inline-start:.22em;color:var(--rating-red);font-style:normal}.rating-hero>div>p:nth-of-type(2){max-width:61ch;margin:1.15rem 0 0;color:var(--rating-muted);font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.7}.rating-hero dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:52rem;margin:2rem 0 0;border-block:1px solid var(--rating-rule)}.rating-hero dl div{padding:1rem 1.2rem}.rating-hero dl div+div{border-inline-start:1px solid var(--rating-rule)}.rating-hero dl strong,.rating-hero dl span{display:block}.rating-hero dl strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.rating-hero dl span{margin-top:.2rem;color:var(--rating-muted);font-size:.72rem}
.rating-index{padding:clamp(2.5rem,4vw,3.5rem) 0 clamp(4rem,7vw,6.5rem)}.rating-compare{padding:clamp(4rem,7vw,6.5rem) 0;border-top:1px solid var(--rating-rule);background:#fff}.rating-section-head{display:block;margin-bottom:2rem}.rating-section-head h2{margin:0;font-size:clamp(2rem,2.8vw,2.65rem);line-height:1.1;letter-spacing:-.035em}.rating-section-head>p{max-width:68rem;margin:.65rem 0 0;padding:0;border:0;color:var(--rating-muted);font-size:clamp(.9rem,1.15vw,1.02rem);line-height:1.55}
.rating-filters{display:grid;grid-template-columns:1fr 1fr .7fr 1.3fr;gap:.75rem;margin-bottom:.85rem}.rating-filters label,.rating-compare-controls label{display:grid;gap:.4rem;color:var(--rating-muted);font-size:.72rem;font-weight:700}.rating-filters select,.rating-filters input,.rating-compare-controls select{width:100%;min-height:3rem;border:1px solid var(--rating-rule);border-radius:.65rem;background:var(--rating-surface);padding:.65rem .85rem;color:var(--rating-ink);font:inherit;outline:2px solid transparent;outline-offset:1px}.rating-filters select:focus-visible,.rating-filters input:focus-visible,.rating-compare-controls select:focus-visible{border-color:var(--rating-red);outline-color:color-mix(in srgb,var(--rating-red) 22%,transparent)}.rating-filter-search>span:last-child{display:flex;align-items:center;border:1px solid var(--rating-rule);border-radius:.65rem;background:#fff;padding-inline:.8rem}.rating-filter-search>span:last-child:focus-within{border-color:var(--rating-red);outline:2px solid color-mix(in srgb,var(--rating-red) 22%,transparent)}.rating-filter-search input{min-height:2.85rem;border:0;padding-inline:.65rem;outline:0}.rating-filter-note{display:flex;align-items:center;gap:.55rem;margin:.6rem 0 1rem;color:var(--rating-muted);font-size:.7rem}.rating-filter-note span{width:.45rem;height:.45rem;border-radius:50%;background:var(--rating-green)}
.rating-table-shell{overflow:auto;border:1px solid var(--rating-rule);border-radius:.9rem;background:#fff;box-shadow:var(--rating-shadow)}.rating-table{width:100%;min-width:70.5rem;table-layout:fixed;border-collapse:collapse}.rating-col--rank{width:4.5rem}.rating-col--broker{width:11.5rem}.rating-col--stars{width:5.5rem}.rating-col--score{width:8rem}.rating-col--spread{width:8rem}.rating-col--cost{width:9rem}.rating-col--profile{width:17rem}.rating-col--review{width:7rem}.rating-table th{position:sticky;top:0;z-index:2;padding:.9rem .7rem;border-bottom:1px solid var(--rating-rule);background:#f1f3f6;color:var(--rating-muted);font-size:.67rem;letter-spacing:.035em;text-align:left;white-space:nowrap}.rating-table td{padding:1rem .7rem;border-bottom:1px solid var(--rating-rule);vertical-align:middle}.rating-table tr:last-child td{border-bottom:0}.rating-table tbody tr:hover{background:#fafbfc}.rating-position{color:var(--rating-red);font-size:1.05rem;font-variant-numeric:tabular-nums}.rating-broker{display:flex;align-items:center;gap:.6rem;min-width:0}.rating-logo{width:2.35rem;height:2.35rem;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border:1px solid var(--rating-rule);border-radius:.65rem;background:#fff}.rating-logo img{max-width:85%;max-height:85%;object-fit:contain}.rating-logo b{font-size:.7rem}.rating-broker>span{min-width:0}.rating-broker>span strong,.rating-broker>span small{display:block;overflow:hidden;text-overflow:ellipsis}.rating-broker>span strong{font-size:.87rem;white-space:nowrap}.rating-broker>span small{margin-top:.12rem;color:var(--rating-muted);font-size:.62rem;white-space:nowrap}.rating-stars{display:flex;gap:.08rem;min-width:0}.rating-stars img{width:1.12rem;height:1.12rem;object-fit:contain}.rating-score{min-width:0}.rating-score>span{display:flex;align-items:baseline;gap:.14rem}.rating-score>span>strong{color:var(--rating-red);font-size:1.35rem;font-variant-numeric:tabular-nums}.rating-score>span>small{font-size:.65rem}.rating-score>i,.rating-metric>i,.compare-metric i{display:block;overflow:hidden;border-radius:99px;background:var(--rating-track)}.rating-score>i{height:.36rem;margin-top:.45rem}.rating-score>i>b,.rating-metric>i>b,.compare-metric i>b{display:block;width:var(--value);height:100%;border-radius:inherit;background:var(--rating-red)}.rating-delta{margin-inline-start:auto;color:var(--rating-muted);font-size:.6rem!important;font-weight:800}.rating-delta.is-up{color:var(--rating-green)}.rating-delta.is-down{color:var(--rating-orange)}.rating-number{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:.1rem .3rem;min-width:0}.rating-number strong{font-size:1rem;font-variant-numeric:tabular-nums}.rating-number small{color:var(--rating-muted);font-size:.6rem}.rating-number .rating-delta{grid-column:1/-1;margin:0}.rating-profile{display:grid;grid-template-columns:repeat(2,minmax(5rem,1fr));gap:.55rem .7rem;min-width:0}.rating-metric>span{display:flex;justify-content:space-between;gap:.4rem;color:var(--rating-muted);font-size:.59rem}.rating-metric>span b{color:var(--rating-ink)}.rating-metric>i{height:.25rem;margin-top:.18rem}.rating-metric small{display:block;margin-top:.1rem;color:var(--rating-muted);font-size:.52rem;text-align:right}.rating-review{display:inline-flex;align-items:center;gap:.45rem;min-height:2.45rem;border:1px solid var(--rating-red);border-radius:.5rem;padding:.5rem .65rem;color:var(--rating-red);font-size:.7rem;font-weight:800;text-decoration:none;white-space:nowrap}.rating-review:hover{background:var(--rating-red);color:#fff}.rating-data-note{margin:.8rem 0 0;color:var(--rating-muted);font-size:.66rem;line-height:1.6}
.rating-compare-controls{display:grid;grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr);gap:.8rem;align-items:end;max-width:44rem;margin-bottom:1.2rem}.rating-compare-controls>b{display:grid;place-items:center;min-height:3rem;color:var(--rating-red);font-size:.7rem;letter-spacing:.13em}.rating-compare-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(19rem,.72fr);overflow:hidden;border:1px solid var(--rating-rule);border-radius:1rem;background:#fff;box-shadow:var(--rating-shadow)}.rating-compare-chart{padding:1.5rem}.rating-compare-chart>header{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid var(--rating-rule)}.rating-compare-chart>header>div{display:flex;align-items:center;gap:.7rem}.rating-compare-chart>header>div:last-child{justify-content:flex-end;text-align:right}.rating-compare-chart>header strong,.rating-compare-chart>header small{display:block}.rating-compare-chart>header small{color:var(--rating-muted);font-size:.65rem}.rating-compare-chart>header>b{color:var(--rating-muted);font-size:.68rem}.compare-legend{display:flex;justify-content:flex-end;gap:1rem;margin:1rem 0;color:var(--rating-muted);font-size:.65rem}.compare-legend span{display:flex;align-items:center;gap:.35rem}.compare-legend i{width:.55rem;height:.55rem;background:var(--rating-red)}.compare-legend span+span i{background:#172033}.compare-metric{display:grid;grid-template-columns:7rem 1fr;gap:1rem;align-items:center;padding:.7rem 0;border-top:1px solid #edf0f3}.compare-metric>strong{font-size:.75rem}.compare-metric>div{display:grid;gap:.35rem}.compare-metric>div>span{display:grid;grid-template-columns:1fr 2.4rem;gap:.55rem;align-items:center}.compare-metric i{height:.55rem}.compare-metric>div>span:nth-child(2) i>b{background:#172033}.compare-metric em{font-size:.72rem;font-style:normal;font-weight:700;text-align:right}.rating-compare-chart>footer{margin-top:1rem;padding:.9rem;background:#f4f5f7;font-size:.74rem;font-weight:800;text-align:center}.rating-thinking{padding:1.65rem;border-inline-start:1px solid var(--rating-rule);background:linear-gradient(145deg,#2d0906,var(--rating-red-dark));color:#fff}.rating-thinking>p{margin:0 0 .9rem;color:#d9a441;font-size:.66rem;font-weight:800;letter-spacing:.16em}.rating-thinking h3{margin:0;font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1.08}.rating-thinking>span{display:block;margin:.5rem 0 1.2rem;color:#d9c4c1;font-size:.68rem}.rating-thinking ul{margin:0;padding:0;list-style:none}.rating-thinking li{padding:.8rem 0;border-top:1px solid rgba(255,255,255,.18);font-size:.78rem;line-height:1.55}.rating-thinking>small{display:block;margin-top:1.1rem;color:#bba6a3;font-size:.62rem;line-height:1.55}

/* Hallmark · component: comparison scoreboard · genre: editorial · theme: RedStarTrust institutional
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass (40–41) · responsive: pass (34,49,50–57)
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 */
.rating-compare-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,.64fr);gap:1rem;align-items:stretch;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.rating-compare-chart,.rating-thinking{border:1px solid var(--rating-rule);border-radius:.9rem;background:var(--rating-surface);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.rating-compare-chart{padding:1.5rem 1.75rem}
.rating-compare-chart>header{gap:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--rating-rule)}
.rating-compare-chart>header>div{min-width:0}
.rating-compare-chart>header>div:last-child{justify-content:flex-end;text-align:right}
.rating-compare-chart>header>div>span:last-child{min-width:0}
.rating-compare-chart>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
.rating-compare-chart>header small{margin-top:.15rem;font-size:.68rem}
.rating-compare-chart>header>b{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--rating-rule);border-radius:50%;color:var(--rating-red);font-size:.62rem;letter-spacing:.08em}
.compare-board-overall{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,.8fr) minmax(0,1fr);align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--rating-rule)}
.compare-board-overall>div{display:grid;gap:.15rem;justify-items:start}
.compare-board-overall>div:last-child{justify-items:end;text-align:right}
.compare-board-overall small{color:var(--rating-muted);font-size:.65rem;font-weight:700}
.compare-board-overall>div>strong{color:var(--rating-ink);font-size:clamp(2.6rem,5vw,4.25rem);line-height:.9;font-variant-numeric:tabular-nums;letter-spacing:-.055em}
.compare-board-overall>div>strong.is-best{color:var(--rating-red)}
.compare-board-overall>span{display:grid;gap:.2rem;justify-items:center;text-align:center}
.compare-board-overall>span strong{font-size:.9rem}
.compare-board-overall>span small{letter-spacing:.04em}
.compare-board-head,.compare-board-row{display:grid;grid-template-columns:minmax(4rem,1fr) minmax(9rem,1.25fr) minmax(4rem,1fr);align-items:center;text-align:center}
.compare-board-head{padding:.9rem 0 .55rem;color:var(--rating-muted);font-size:.62rem}
.compare-board-head span:first-child{text-align:left}.compare-board-head span:last-child{text-align:right}
.compare-board-head b{font-weight:700}
.compare-board-row{min-height:4.6rem;border-top:1px solid #edf0f3}
.compare-board-value{color:#344054;font-size:1.45rem;font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-align:left}
.compare-board-value:last-child{text-align:right}
.compare-board-value.is-best{color:var(--rating-red)}
.compare-board-label{display:grid;gap:.18rem;justify-items:center;padding-inline:.65rem}
.compare-board-label b{font-size:.82rem}
.compare-board-label small{color:var(--rating-muted);font-size:.61rem;white-space:nowrap}
.rating-compare-chart>footer{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;border-top:1px solid var(--rating-rule);padding:1.1rem 0 0;background:transparent;color:var(--rating-muted);text-align:left}
.rating-compare-chart>footer strong{color:var(--rating-ink);font-size:.78rem}.rating-compare-chart>footer span{font-size:.66rem}
.rating-thinking{display:flex;flex-direction:column;gap:0;padding:1.5rem;color:var(--rating-ink)}
.rating-thinking__lead p{margin:0 0 .35rem;color:var(--rating-red);font-size:.62rem;font-weight:800;letter-spacing:.14em}
.rating-thinking__lead{padding-bottom:1rem}.rating-thinking__lead h3{margin:0;max-width:16ch;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.16}
.rating-thinking__lead>span{display:block;margin-top:.35rem;color:var(--rating-muted);font-size:.66rem}
.rating-thinking ul{display:grid;grid-template-columns:1fr;margin:0;padding:0;list-style:none}
.rating-thinking li{display:grid;gap:.25rem;min-width:0;padding:.8rem 0;border:0;border-top:1px solid var(--rating-rule);color:var(--rating-ink);font-size:.75rem}
.rating-thinking li small{color:var(--rating-muted);font-size:.59rem}.rating-thinking li strong{overflow-wrap:anywhere}
.rating-thinking>small{margin-top:auto;padding-top:.85rem;border-top:1px solid var(--rating-rule);color:var(--rating-muted);font-size:.6rem;line-height:1.55}
@media(max-width:62rem){.rating-section-head{grid-template-columns:1fr}.rating-section-head>p{max-width:42rem}.rating-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-compare-grid{grid-template-columns:1fr}.rating-hero dl{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-hero dl div:nth-child(3){border-inline-start:0;border-top:1px solid var(--rating-rule)}.rating-hero dl div:nth-child(4){border-top:1px solid var(--rating-rule)}}
@media(max-width:40rem){.rating-hero{padding-top:40px}.rating-hero h1{font-size:2.35rem}.rating-hero h1 em{display:block;margin-inline-start:0}.rating-hero dl{grid-template-columns:1fr 1fr}.rating-hero dl div{padding:1rem .75rem}.rating-filters{grid-template-columns:1fr}.rating-section-head h2{font-size:2rem}.rating-compare-controls{grid-template-columns:1fr}.rating-compare-controls>b{min-height:auto}.rating-compare-chart{padding:1rem}.rating-compare-chart>header .rating-logo{display:none}.rating-compare-chart>header strong{font-size:.82rem}.compare-board-overall{grid-template-columns:minmax(0,1fr) 6.5rem minmax(0,1fr);padding:1.2rem 0}.compare-board-overall>div>strong{font-size:2.5rem}.compare-board-overall>span strong{font-size:.72rem}.compare-board-head,.compare-board-row{grid-template-columns:3.5rem minmax(6.5rem,1fr) 3.5rem}.compare-board-row{min-height:4.25rem}.compare-board-value{font-size:1.15rem}.compare-board-label b{font-size:.74rem}.compare-board-label small{font-size:.55rem}.rating-compare-chart>footer{display:grid;gap:.25rem}.rating-thinking{padding:1.1rem}.rating-thinking ul{grid-template-columns:1fr}.rating-thinking li{padding:.7rem 0;border-inline-start:0;border-top:1px solid var(--rating-rule)}.rating-table-shell{margin-inline:-.25rem;border-radius:.65rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Cool-neutral audit */
.rating-hero{background:linear-gradient(125deg,#fff 0 62%,#f4f6f9 100%)}
.rating-compare-note{display:grid;gap:.55rem;margin-top:1.25rem;padding:1.1rem 1.25rem;border:1px solid var(--rating-rule);border-radius:1rem;background:#f7f9fc;color:var(--rating-muted);font-size:.75rem;line-height:1.65}.rating-compare-note p{margin:0}.rating-compare-note strong{color:var(--rating-ink)}

/* Audit polish: readable data labels and balanced hero width. */
.rating-hero dl{max-width:68rem}
.rating-table th{font-size:.75rem}
.rating-broker>span small,.rating-score>span>small,.rating-number small,.rating-delta,.rating-metric>span,.rating-metric small,.rating-data-note,.rating-filter-note{font-size:.75rem!important;line-height:1.45}
.rating-review{min-height:2.75rem;font-size:.78rem}
.rating-thinking__lead p,.rating-thinking__lead>span,.rating-thinking li small,.rating-thinking>small,.compare-board-head,.compare-board-label small,.rating-compare-chart>footer span{font-size:.72rem}
select option:disabled{color:#98a2b3}
