/* ==========================================================================
   Market Brief. Layered on style.css, uses its tokens only.
   Figures sit in panels with their source line inside the same panel,
   which is also how the compliance label stays in the same block as the rate.
   ========================================================================== */

.mb-head{max-width:46rem}
.mb-kicker{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 14px;font-size:.72rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.mb-kicker span{color:var(--fg-3);font-weight:500}
.mb-dated{margin:14px 0 0;font-size:.84rem;color:var(--fg-3)}

.mb-layout{display:grid;grid-template-columns:minmax(0,46rem) 16.5rem;gap:56px;
  justify-content:space-between;align-items:start;margin:36px 0 0}
.mb-article{min-width:0}
.mb-lead p{font-size:1.08rem;line-height:1.75;color:var(--fg);margin:0 0 1rem}
.mb-lead p:last-child{margin-bottom:0}

.mb-sec{margin-top:54px;scroll-margin-top:92px}
.mb-sec > h2{font-size:1.4rem;margin:0 0 14px}
.mb-sec p{color:var(--fg-2);line-height:1.75}
.mb-sec p a,.mb-lead a{font-weight:500;text-decoration:underline;text-decoration-color:var(--teal-line);
  text-underline-offset:3px;text-decoration-thickness:1.5px}
.mb-sec p a:hover{text-decoration-color:var(--teal)}

.mb-label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}

/* panel: figures plus their source line */
.mb-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:4px 0 22px}
.mb-src{margin:0 !important;padding:13px 22px;border-top:1px solid var(--line);background:var(--card-2);
  font-size:.76rem !important;line-height:1.55 !important;color:var(--fg-3) !important}
.mb-corr{color:#80540F !important;background:rgba(192,138,58,.08) !important;font-weight:500}
.mb-src b{color:var(--fg-2);font-weight:600;margin-right:3px}

/* rate tiles */
.mb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.mb-stat{display:grid;gap:6px;align-content:start;padding:20px 22px 22px}
.mb-stat + .mb-stat{border-left:1px solid var(--line)}
.mb-stat b{font-size:2.15rem;font-weight:700;letter-spacing:-.035em;line-height:1.05;color:var(--fg);
  font-variant-numeric:tabular-nums}
.mb-change{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.8rem;color:var(--fg-3);
  font-variant-numeric:tabular-nums}
.mb-delta{font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--bg-2);color:var(--fg-2)}
.mb-delta.up{background:rgba(192,138,58,.13);color:#80540F}
.mb-delta.down{background:var(--teal-dim);color:#08735F}

/* a single benchmark: panel sized to its content instead of stretching */
.mb-narrow{max-width:27rem}
.mb-stats.one{grid-template-columns:1fr}

/* one figure beside its explanation */
.mb-split{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:24px;padding:20px 22px}
.mb-split .mb-stat{padding:0}
.mb-split p{margin:0;font-size:.92rem;line-height:1.65}

/* labelled rows */
.mb-rows > div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:22px;padding:17px 22px}
.mb-rows > div + div{border-top:1px solid var(--line)}
.mb-rows .mb-fig b{display:block;margin-top:3px;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;
  color:var(--fg);font-variant-numeric:tabular-nums}
.mb-rows p{margin:0;font-size:.92rem;line-height:1.65}

/* borrower picture */
.mb-facts > div{padding:18px 22px}
.mb-facts > div + div{border-top:1px solid var(--line)}
.mb-facts h3{margin:0 0 5px;font-size:1rem;font-weight:600;letter-spacing:-.012em;color:var(--fg);line-height:1.35}
.mb-facts p{margin:0;font-size:.9rem;line-height:1.62}
.mb-facts .mb-cite{margin-top:7px;font-size:.74rem;line-height:1.45;color:var(--fg-3)}

.mb-callout{margin-top:54px}
.mb-callout h2{font-size:1.05rem;margin:0 0 8px;color:var(--fg)}
.mb-callout p{margin:0;font-size:.95rem;line-height:1.7}
.mb-callout p + p{margin-top:.9rem}
.mb-callout a{font-weight:600}

.mb-angles{list-style:none;padding:0;margin:8px 0 0;border-top:1px solid var(--line)}
.mb-angles li{padding:22px 0;border-bottom:1px solid var(--line)}
.mb-angles h3{margin:0 0 8px;font-size:1.06rem;letter-spacing:-.015em;line-height:1.35}
.mb-angles p{margin:0}
.mb-angles p + p{margin-top:.9rem}

.mb-sources{margin-top:60px;padding-top:22px;border-top:1px solid var(--line-2)}
.mb-sources h2{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin:0 0 10px}
.mb-sources p{font-size:.8rem;line-height:1.7;color:var(--fg-3);margin:0}

.mb-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.mb-pager a{display:grid;gap:4px;padding:16px 18px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-sm);color:var(--fg);font-weight:600;font-size:.92rem;line-height:1.4;transition:border-color .15s}
.mb-pager a:hover{border-color:var(--teal-line);color:var(--fg)}
.mb-pager .next{grid-column:2;text-align:right}

/* rail */
.mb-rail{position:sticky;top:92px;display:grid;gap:26px}
.mb-toc ul{list-style:none;padding:0;margin:10px 0 0;border-left:1px solid var(--line)}
.mb-toc a{display:block;margin-left:-1px;padding:5px 0 5px 14px;border-left:2px solid transparent;
  font-size:.86rem;line-height:1.4;color:var(--fg-2)}
.mb-toc a:hover{color:var(--fg);border-left-color:var(--teal)}
.mb-tools{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 8px}
.mb-tools a{display:grid;gap:1px;padding:11px 0;color:var(--fg)}
.mb-tools a + a{border-top:1px solid var(--line)}
.mb-tools a b{font-size:.9rem;font-weight:600}
.mb-tools a span{font-size:.78rem;line-height:1.45;color:var(--fg-3)}
.mb-tools a:hover b{color:var(--teal)}
.mb-tools .mb-label{margin-bottom:4px}
.mb-all{font-size:.86rem;font-weight:600}

/* hub */
.mb-feature{display:block;margin:36px 0 0;padding:30px 32px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;color:var(--fg);transition:border-color .15s,transform .15s}
.mb-feature:hover{border-color:var(--teal-line);color:var(--fg);transform:translateY(-1px)}
.mb-feature h2{margin:0 0 10px;font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.03em;max-width:32ch;text-wrap:balance}
.mb-feature p{margin:0 0 18px;max-width:62ch;color:var(--fg-2)}
.mb-feature .go{font-size:.92rem;font-weight:600;color:var(--teal)}
.mb-archive{margin:52px 0 0}
.mb-archive ol{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid var(--line)}
.mb-archive a{display:grid;grid-template-columns:4.5rem 14rem minmax(0,1fr) auto;gap:18px;align-items:baseline;
  padding:17px 4px;border-bottom:1px solid var(--line);color:var(--fg)}
.mb-archive .no{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-variant-numeric:tabular-nums}
.mb-archive .wk{font-size:.86rem;color:var(--fg-2)}
.mb-archive .t{font-weight:600;line-height:1.4}
.mb-archive .arr{color:var(--fg-3)}
.mb-archive a:hover .t,.mb-archive a:hover .arr{color:var(--teal)}
.mb-cadence{margin:14px 0 0;font-size:.84rem;color:var(--fg-3)}

@media(max-width:1000px){
  .mb-layout{grid-template-columns:minmax(0,1fr);gap:48px}
  .mb-rail{position:static}
  .mb-toc{display:none}
}
@media(max-width:640px){
  .mb-stats{grid-template-columns:1fr}
  .mb-stat + .mb-stat{border-left:0;border-top:1px solid var(--line)}
  .mb-stat{padding:16px 18px}
  .mb-stat b{font-size:1.9rem}
  .mb-split,.mb-rows > div{grid-template-columns:1fr;gap:8px;padding:16px 18px}
  .mb-facts > div{padding:16px 18px}
  .mb-src{padding:12px 18px}
  .mb-pager{grid-template-columns:1fr}
  .mb-pager .next{grid-column:auto;text-align:left}
  .mb-feature{padding:22px 20px}
  .mb-archive a{grid-template-columns:1fr;gap:2px;padding:15px 2px}
  .mb-archive .arr{display:none}
}
@media(prefers-reduced-motion:reduce){.mb-feature,.mb-feature:hover{transition:none;transform:none}}
@media print{.mb-rail,.mb-pager{display:none!important}.mb-layout{display:block}.mb-panel{break-inside:avoid}}
