/* Decision intelligence library: shared editorial treatment for approved authority assets. */
.insight-page .page-hero { padding-bottom: 66px; }
.insight-page .page-hero h1 { max-width: 980px; }
/* Editorial pages must wrap their own content rather than inherit clipping from the shared office layout. */
.insight-page main { overflow: visible; }
.insight-page .section-inner,
.insight-page .page-hero-copy,
.insight-page .insight-layout,
.insight-page .insight-body,
.insight-page .insight-rail,
.insight-page .insight-card-grid,
.insight-page .insights-hub-grid,
.insight-page .insight-card-grid article,
.insight-page .insight-hub-card,
.insight-page .article-meta span { min-width: 0; }
.insight-page :is(h1, h2, h3, p, li, .article-meta span, .source-list a, .insight-card-grid a, .insight-hub-card a) { overflow-wrap: anywhere; }
.insight-page :is(.insight-answer, .evidence-boundary, .source-list) { max-width: 100%; }
.insight-breadcrumbs {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 28px;
  color: #747a75;
  font-size: 12px;
}
.insight-breadcrumbs a { color: #742936; }
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 28px;
  color: #747a75;
  font-size: 12px;
}
.article-meta strong { color: #202421; }
.insight-layout {
  display: grid;
  grid-template-columns: minmax(0, 780px) 230px;
  gap: 100px;
  align-items: start;
}
.insight-body { font-size: 17px; }
.insight-body > * { max-width: 760px; }
.insight-body h2 {
  margin: 54px 0 18px;
  color: #202421;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.08;
}
.insight-body h3 {
  margin: 34px 0 12px;
  color: #202421;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 400;
}
.insight-body p,
.insight-body li { color: #3f4b45; }
.insight-body ul,
.insight-body ol { padding-left: 22px; }
.insight-body li + li { margin-top: 9px; }
.insight-answer {
  margin: 0 0 34px;
  padding: 26px 28px 28px;
  color: #202421;
  background: #e8ece7;
  border-left: 4px solid #742936;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.34;
}
.insight-answer small,
.insight-kicker {
  display: block;
  margin-bottom: 12px;
  color: #742936;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.insight-rail { position: sticky; top: 110px; }
.insight-rail > div {
  padding: 18px 0 22px;
  border-block: 1px solid rgba(32, 36, 33, .3);
}
.insight-rail strong {
  display: block;
  margin-bottom: 9px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.12;
}
.insight-rail p { margin: 0; color: #646b65; font-size: 13px; }
.insight-rail a { display: inline-block; margin-top: 16px; color: #742936; font-size: 12px; font-weight: 850; }
.evidence-boundary {
  margin-top: 42px;
  padding: 26px 28px;
  background: #f4f5f1;
  border-block: 1px solid rgba(32, 36, 33, .22);
}
.evidence-boundary h2 { margin-top: 0; font-size: 30px; }
.source-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(32, 36, 33, .3); }
.source-list li { padding: 18px 0; border-bottom: 1px solid rgba(32, 36, 33, .22); }
.source-list a { color: #742936; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.source-list small { display: block; margin-top: 5px; color: #747a75; font-size: 12px; }
.insight-related { background: #e6e9e4; border-block: 1px solid rgba(32, 36, 33, .22); }
.insight-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(32, 36, 33, .3); }
.insight-card-grid article { min-height: 270px; padding: 26px 28px 28px 0; border-bottom: 1px solid rgba(32, 36, 33, .22); }
.insight-card-grid article + article { padding-left: 28px; border-left: 1px solid rgba(32, 36, 33, .22); }
.insight-card-grid span,
.insight-hub-card span { color: #742936; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.insight-card-grid h3,
.insight-hub-card h3 { margin: 30px 0 10px; color: #202421; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; line-height: 1.13; }
.insight-card-grid p,
.insight-hub-card p { color: #646b65; }
.insight-card-grid a,
.insight-hub-card a { color: #742936; font-size: 12px; font-weight: 850; }
.insights-hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 38px; border-top: 1px solid rgba(32, 36, 33, .3); }
.insight-hub-card { padding: 28px 0 30px; border-bottom: 1px solid rgba(32, 36, 33, .22); }
.insight-hub-card p { max-width: 510px; }
.insight-hub-card .insight-meta-line { display: block; margin: 16px 0 22px; color: #747a75; font-size: 11px; }
.insight-pointer {
  padding: 38px 0;
  border-block: 1px solid rgba(32, 36, 33, .22);
}
.insight-pointer-inner { display: flex; justify-content: space-between; gap: 34px; align-items: end; }
.insight-pointer h2 { max-width: 580px; margin: 8px 0 0; color: #202421; font-family: Georgia, "Times New Roman", serif; font-size: 37px; font-weight: 400; line-height: 1.08; }
.insight-pointer p { max-width: 510px; margin: 0; color: #646b65; }
.insight-pointer a { display: inline-block; margin-top: 16px; color: #742936; font-size: 12px; font-weight: 850; }
.corridor-article .insight-layout { margin-top: 0; }
.corridor-article .page-hero { padding-bottom: 56px; }

@media (max-width: 1000px) {
  .insight-layout { grid-template-columns: 1fr; gap: 42px; }
  .insight-rail { position: static; max-width: 460px; }
  .insight-card-grid { grid-template-columns: 1fr; }
  .insight-card-grid article,
  .insight-card-grid article + article { min-height: 0; padding: 26px 0; border-left: 0; }
  .insight-card-grid article + article { border-top: 1px solid rgba(32, 36, 33, .22); }
}

@media (max-width: 680px) {
  .insight-breadcrumbs { width: min(100% - 32px, 1180px); }
  .insight-page .page-hero h1 { font-size: 44px; }
  .insight-body { font-size: 16px; }
  .insight-body h2 { font-size: 32px; }
  .insight-answer { padding: 22px; font-size: 21px; }
  .insight-pointer-inner { display: block; }
  .insight-pointer h2 { font-size: 32px; }
  .insights-hub-grid { grid-template-columns: 1fr; }
}
