/* Public remediation: reuse the established palette without changing its tokens. */
body{min-height:100vh;display:flex;flex-direction:column}
.container{width:min(1280px,calc(100% - 48px))}
main.container{min-height:0;flex:1;padding-bottom:40px}
.public-navigation .nav-inner{gap:4px;height:50px}
.public-navigation .nav-link{display:flex;font-size:15px;padding:0 20px;position:relative}
.public-navigation .nav-link.active{font-weight:700;background:#ffffff35}
.public-navigation .nav-link.active:after{content:'';position:absolute;left:20px;right:20px;bottom:0;height:3px;background:var(--mast)}
.nav-compare{display:flex;align-items:center;margin-left:auto;font-size:13px;padding:0 12px;white-space:nowrap}
.button{min-height:40px;font-size:13px;padding:9px 15px}
.page-head{padding:30px 0 24px;align-items:flex-end}
.page-head h1{font-size:30px}
.page-head p{font-size:14px;line-height:1.7;max-width:780px}
.page-head .eyebrow{font-size:10px}
.breadcrumb{font-size:12px;padding:18px 0}
.text-link{font-size:13px}
.panel{border-radius:8px}
.empty{padding:32px 24px}
.empty p{font-size:14px}
.form-card{padding:24px}
.form-card p{font-size:13px;line-height:1.75}
.form-card label{font-size:13px}
.form-card small{font-size:12px}
.form-card input,.form-card select,.form-card textarea{font-size:15px}
.notice{font-size:13px;line-height:1.7}
.result-count{font-size:13px;margin:18px 0}
.result-count>span{display:block;font-size:12px;margin-top:5px}
.contribution-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.contribution-layout>section,.contribution-layout>article,.contribution-sidebar{min-width:0}
.contribution-sidebar h2{font-size:18px;line-height:1.4}
.contribution-sidebar .eyebrow{font-size:10px}
.contribution-filters{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(140px,1.2fr);gap:14px;padding:18px;align-items:end}
.contribution-filters label{font-size:12px;color:var(--muted)}
.contribution-filters input,.contribution-filters select{font-size:14px;min-height:42px;margin-top:6px;padding:10px}
.contribution-filters .button{align-self:end;justify-self:start;min-width:140px}
.contribution-feed{display:grid;gap:16px}
.contribution-card{padding:24px}
.contribution-author{display:flex;align-items:center;gap:12px;margin-bottom:16px;min-width:0}
.contribution-author>div{min-width:0}
.contribution-author strong{display:block;font-size:14px;overflow-wrap:anywhere}
.contribution-author>div>span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.contribution-author time{font-size:12px;color:var(--muted);margin-left:auto;text-align:right;flex-shrink:0}
.contribution-author .review-avatar{width:40px;height:40px;flex-basis:40px;font-size:15px}
.contribution-author .review-avatar img{width:100%;height:100%;object-fit:cover}
.contribution-card h2{font-size:20px;line-height:1.4;margin-bottom:12px;overflow-wrap:anywhere}
.contribution-excerpt{font-size:14px;line-height:1.75;color:#525d6b;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.contribution-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding-top:16px;margin-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}
.contribution-card-meta>a{font-weight:600}
.contribution-card-meta .tag{font-size:11px}
.contribution-card-links{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;font-size:13px;color:var(--gold-dark);margin-top:14px}
.contribution-detail{padding:30px}
.contribution-detail h1{font-size:30px;line-height:1.35;margin:18px 0;overflow-wrap:anywhere}
.contribution-detail h2{font-size:21px;margin:26px 0 14px}
.contribution-detail .contribution-author{margin-bottom:20px}
.full-contribution-text{font-size:15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0}
.parent-contribution{font-size:13px;margin-top:16px}
.parent-contribution a{color:var(--gold-dark);text-decoration:underline}
.contribution-broker{display:flex;align-items:center;gap:14px;margin:16px 0 20px;min-width:0}
.contribution-broker .eyebrow{font-size:9px;margin-bottom:5px}
.contribution-broker strong{font-size:17px;overflow-wrap:anywhere}
.contribution-broker .broker-logo{width:70px;height:62px;flex-basis:70px}
.contribution-broker p{font-size:12px;margin:5px 0 0;line-height:1.5}
.contribution-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.contribution-actions .error-text,.contribution-message{font-size:13px;margin-top:14px}
.inline-contribution-form{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.inline-contribution-form label{margin:14px 0;font-size:13px}
.inline-contribution-form p{margin:10px 0 16px}
.contribution-replies{margin-top:28px;padding-top:2px;border-top:1px solid var(--line)}
.contribution-replies>h2>span{font-size:14px;color:var(--muted)}
.contribution-reply{padding:20px;background:var(--bg);border-left:3px solid var(--nav);margin:18px 0;border-radius:3px}
.contribution-reply .full-contribution-text{font-size:14px;margin:16px 0}
.contribution-reply .contribution-author{margin-bottom:12px}
.detail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.share-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:100%}
.share-control input{min-width:200px;flex:1}
.private-view{border-left:4px solid var(--gold)}
.compact-empty{padding:30px}
.compact-empty h2{font-size:22px}
.compact-empty p{font-size:14px;line-height:1.75;margin:12px 0 20px;color:var(--muted);max-width:600px}
.case-steps{padding-left:20px;margin:18px 0 22px;color:#596575;font-size:14px;line-height:1.75}
.case-steps li{padding-left:3px;margin-bottom:12px}
.case-list-card{padding:24px}
.case-list-card h2{font-size:21px;line-height:1.4;margin:18px 0 10px}
.case-list-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:16px 0}
.case-list-meta>a{font-size:13px;color:var(--ink);font-weight:600}
.case-timeline{padding:0;list-style:none;margin:20px 0}
.case-timeline>li{padding:0 0 24px 22px;margin-left:5px;border-left:2px solid var(--line);position:relative}
.case-timeline>li:before{content:'';width:10px;height:10px;border-radius:50%;background:var(--gold);position:absolute;left:-6px;top:6px}
.case-timeline>li:last-child{padding-bottom:0;border-color:transparent}
.case-timeline strong{font-size:14px;display:block}
.case-timeline time{font-size:12px;color:var(--muted);display:block;margin-top:5px}
.case-timeline p{font-size:14px;margin:12px 0 0}
.case-facts{font-size:13px;margin:18px 0 0}
.case-facts>div{padding:12px 0;border-bottom:1px solid var(--line)}
.case-facts>div:last-child{border:0}
.case-facts dt{color:var(--muted);margin-bottom:5px}
.case-facts dd{margin:0;overflow-wrap:anywhere}
.case-evidence{display:flex;gap:10px;flex-wrap:wrap}
.rating-unavailable{font-size:13px;color:var(--muted);font-weight:500;white-space:nowrap}
.rating-availability{font-size:13px;line-height:1.7;color:var(--muted);align-self:center}
.rating-summary.is-unrated .rating-summary-main{grid-template-columns:1fr;gap:14px}
.rating-summary.is-unrated .rating-overall h3{font-size:26px;margin:0 0 8px;line-height:1.2}
.rating-summary.is-unrated .rating-overall>span{font-size:13px}
.rating-summary.is-unrated .rating-overall small{font-size:12px}
.rating-summary.is-unrated .rating-overall{display:block}
.profile-review-line>strong{font-size:15px}
.profile-review-line{font-size:14px;flex-wrap:wrap}
.broker-row{display:grid;grid-template-columns:72px minmax(0,1fr) 110px 110px;gap:18px;padding:22px}
.broker-row>.grow{min-width:0}
.broker-row .broker-logo{width:70px;height:64px;flex-basis:70px}
.broker-name>a{font-size:18px;line-height:1.4}
.broker-meta{font-size:13px;line-height:1.6;flex-wrap:wrap;margin:7px 0}
.broker-facts{font-size:12px;line-height:1.6;gap:7px 16px}
.row-rating{display:block;min-width:0;text-align:center}
.row-rating strong{font-size:30px}
.row-rating small{font-size:11px}
.row-actions{min-width:0;gap:8px}
.row-actions .button{font-size:12px;min-height:36px}
.directory-layout{grid-template-columns:250px minmax(0,1fr);gap:24px}
.filter-panel label{font-size:13px}
.filter-panel input,.filter-panel select{font-size:14px;min-height:42px}
.results-toolbar{gap:12px}
.results-toolbar p{font-size:13px}
.active-filters .tag{font-size:11px;padding:5px 8px}
.source-note{display:none}
.news-card h3{font-size:17px;line-height:1.5}
.news-card p{font-size:13px}
.news-card small{font-size:12px}
.news-card .eyebrow{font-size:9px}
.legacy-review-anchor{scroll-margin-top:80px}
.source-review{scroll-margin-top:80px}
.footer{padding-bottom:28px}
.footer-note{font-size:12px;max-width:850px}
.footer-links{font-size:12px}
.footer-bottom{font-size:12px}
@media(max-width:1100px){
 .masthead>.container{gap:16px}.head-actions .head-link:first-child{display:none}
 .public-navigation .nav-link{padding:0 16px}
 .public-navigation .nav-link.active:after{left:16px;right:16px}
 .directory-layout{grid-template-columns:230px minmax(0,1fr);gap:20px}
 .broker-row{grid-template-columns:62px minmax(0,1fr) 88px;gap:14px;padding:20px}
 .broker-row .broker-logo{width:60px;height:58px}
 .broker-row .row-actions{grid-column:2/-1;flex-direction:row;justify-content:flex-start}
 .row-actions .button{min-width:90px}
 .broker-facts>span:last-child{display:inline}
}
@media(max-width:1023px){
 .container{width:calc(100% - 32px)}
 .contribution-layout{grid-template-columns:1fr}
 .contribution-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .contribution-sidebar>.panel{margin:0}
 .contribution-layout .contribution-author time{flex-shrink:1}
 .nav-compare{font-size:12px;padding:0 8px}
}
@media(max-width:700px){
 .public-navigation .nav-inner{height:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;overflow:visible}
 .public-navigation .nav-link{display:flex!important;justify-content:center;font-size:12px;min-height:44px;padding:0 4px}
 .public-navigation .nav-link.active:after{left:8px;right:8px}
 .nav-compare{display:none}
 .page-head h1{font-size:28px}
 .page-head p{font-size:14px}
 .page-head>.actions,.page-head>.button{margin-top:18px}
 .directory-layout{display:block}
 .broker-row{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:18px}
 .broker-row .row-rating{grid-column:2;text-align:left;display:flex;align-items:center;gap:10px}
 .row-rating strong{font-size:25px}
 .broker-row .row-actions{grid-column:2}
 .broker-name>a{font-size:17px}
 .broker-meta{font-size:12px}
 .broker-facts{font-size:11px}
 .filter-panel details[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .filter-panel details[open]>summary{grid-column:1/-1}
 .filter-panel .button+.button{margin:0}
 .contribution-filters{gap:12px;padding:16px}
 .contribution-card,.case-list-card{padding:20px}
 .contribution-detail{padding:22px}
 .contribution-detail h1{font-size:26px}
 .contribution-author{gap:10px;flex-wrap:wrap}
 .contribution-author time{font-size:11px}
 .full-contribution-text{font-size:15px}
 .contribution-sidebar{grid-template-columns:1fr}
 .news-card h3{font-size:16px}
 .news-card p{font-size:13px}
 .news-card small{font-size:11px}
 .rating-summary.is-unrated .rating-summary-main{grid-template-columns:1fr}
 .content-layout>aside{display:block}
 .content-layout>aside>.panel{margin-bottom:16px}
}
@media(max-width:639px){
 .public-navigation .nav-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
 .public-navigation .nav-link{font-size:13px;min-height:40px}
 .contribution-filters{grid-template-columns:1fr}
 .contribution-filters .button{width:100%}
 .contribution-author time{width:100%;margin-left:50px;text-align:left}
 .contribution-card h2{font-size:19px}
 .contribution-detail .contribution-author time{margin-left:50px}
 .contribution-reply .contribution-author time{margin-left:0}
 .contribution-reply{padding:16px}
 .contribution-reply .contribution-author>div{flex:1}
 .contribution-card-meta{font-size:13px}
 .contribution-broker{align-items:flex-start}
 .contribution-broker strong{font-size:17px}
 .contribution-broker .eyebrow{font-size:9px}
 .grid-three:has(>.news-card){grid-template-columns:1fr}
 .detail-toolbar{align-items:flex-start}
 .share-control .small{width:100%}
 .breadcrumb{font-size:11px;overflow-wrap:anywhere}
 .form-card{padding:20px}
 .form-card label{font-size:13px}
 .form-card p{font-size:13px}
 .button{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.reference-filters{display:flex;align-items:flex-end;gap:16px;padding:18px}
.reference-filters label{flex:1;font-size:13px}
.reference-filters input,.reference-filters select{font-size:14px;height:42px}
.reference-list{display:grid;gap:14px}
.reference-row{display:grid;grid-template-columns:120px minmax(0,1fr) 190px;gap:24px;align-items:center;padding:20px}
.reference-row .authority-logo{width:120px;height:82px;margin:0}
.reference-identity .eyebrow{font-size:10px;margin-bottom:6px}
.reference-identity h2{font-size:19px;line-height:1.45;overflow-wrap:anywhere}
.reference-identity p{font-size:13px;color:var(--muted);margin-top:7px}
.reference-links{font-size:13px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.reference-links strong{font-size:14px;font-weight:600}
.reference-links small{font-size:12px;color:var(--muted)}
.reference-links .button{margin-top:7px;width:100%}
@media(max-width:700px){.reference-filters{flex-wrap:wrap}.reference-filters label{flex-basis:100%}.reference-filters .button{width:100%}.reference-row{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:18px}.reference-row .authority-logo{width:88px;height:72px}.reference-identity h2{font-size:17px}.reference-identity p{font-size:12px}.reference-links{grid-column:2}.reference-links .button{width:auto}}

.broker-card .score-missing.is-unrated,.row-rating.is-unrated strong{font-size:15px!important;line-height:1.4;font-weight:600;color:var(--muted)}
.reference-row .authority-mark{width:120px;height:82px;margin:0}
@media(max-width:700px){.reference-row .authority-mark{width:88px;height:72px}}

@media(max-width:1023px){.grid-three:has(>.news-card){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.broker-row .row-actions{margin-left:0;flex-wrap:wrap}}
@media(max-width:639px){.grid-three:has(>.news-card){grid-template-columns:1fr}}

.public-filter-toggle{display:none}
@media(max-width:639px){.public-filter-toggle{display:flex;justify-content:space-between;width:100%;margin-bottom:12px}.public-filter-panel:not(.filters-open)>.public-filter-content{display:none}}

@media(max-width:700px){.head-actions .head-link:nth-child(2){display:inline-flex;font-size:12px;white-space:nowrap;padding:6px 2px}}
