/* Aggregator Solutions · Insights (blog) */

/* title page */
.post-hero { padding: calc(var(--chrome-h) + var(--sc-8)) 0 var(--sc-8); }
.post-hero .crumbs { margin-bottom: var(--sc-6); }
.post-hero .crumbs a, .post-hero .crumbs { color: var(--pale); }
.post-hero .t-lede { color: var(--pale); max-width: 58ch; margin-top: var(--sc-5); }
.post-hero .t-label { display: block; margin-bottom: var(--sc-3); }
.post-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sc-4); margin-bottom: var(--sc-3); }
.post-meta .t-label { margin: 0; }
.post-meta span:not(.t-label) { font-size: var(--sc-t-sm); color: var(--pale); }
.post-h1 { max-width: 22ch; font-size: clamp(2.2rem, 1.3rem + 3.4vw, 4.4rem); }

/* the article column */
.prose-post { max-width: 44rem; margin-inline: auto; font-size: var(--sc-t-base); }
.prose-post > * + * { margin-top: var(--sc-4); }
.prose-post p, .prose-post li { color: var(--sc-ink-soft); line-height: 1.8; }
.prose-post strong { color: var(--navy); }
.prose-post a { color: var(--mid); font-weight: 600; text-decoration: underline; text-decoration-color: rgb(37 99 200 / 0.4); border-radius: 3px; }
.prose-post a:hover { text-decoration-color: currentColor; }
.prose-post a:active { color: var(--navy); }
.prose-post h2 { font-size: clamp(1.45rem, 1.2rem + 1vw, 2rem); font-weight: 900; letter-spacing: -0.02em; line-height: 1.15; color: var(--navy); margin-top: var(--sc-8); scroll-margin-top: calc(var(--chrome-h) + var(--sc-4)); }
.prose-post h3 { font-size: var(--sc-t-lg); font-weight: 700; color: var(--navy); margin-top: var(--sc-6); }
.prose-post h4 { font-size: var(--sc-t-base); font-weight: 700; color: var(--navy); }
.prose-post h2 + *, .prose-post h3 + * { margin-top: var(--sc-3); }
.prose-post ul, .prose-post ol { padding-left: 1.3em; }
.prose-post ul li::marker { color: var(--bright); }
.prose-post li + li { margin-top: 6px; }
.prose-post hr, .prose-post .article-divider { border: 0; border-top: 1px solid var(--sc-hairline); margin-block: var(--sc-8); }
.prose-post hr + h2 { margin-top: 0; }

/* tables */
.prose-post table { width: 100%; border-collapse: collapse; font-size: var(--sc-t-sm); display: block; overflow-x: auto; border: 1px solid var(--sc-hairline-strong); border-radius: var(--r); margin-block: var(--sc-6); }
.prose-post thead th { background: var(--navy); color: var(--paper); text-align: left; font-weight: 700; padding: 12px 14px; font-size: var(--sc-t-xs); letter-spacing: 0.04em; }
.prose-post td { padding: 12px 14px; border-top: 1px solid var(--sc-hairline); vertical-align: top; color: var(--sc-ink-soft); line-height: 1.55; min-width: 8rem; }
.prose-post tbody tr:nth-child(even) td { background: rgb(10 31 92 / 0.025); }
.prose-post .check { color: var(--mid); font-weight: 900; }
.prose-post .cross { color: rgb(10 31 92 / 0.45); font-weight: 900; }
.prose-post .partial { color: var(--bright); font-weight: 900; }

/* checklist, callout, integration cards */
.prose-post .checklist-box { padding: var(--sc-6); border-radius: calc(var(--r) + 4px); background: var(--paper); border: 1px solid var(--sc-hairline); margin-block: var(--sc-6); }
.prose-post .checklist-box h3 { margin-top: 0; margin-bottom: var(--sc-4); }
.prose-post .checklist-item { display: flex; gap: 12px; align-items: flex-start; padding-block: 8px; border-top: 1px solid var(--sc-hairline); color: var(--navy); font-weight: 500; }
.prose-post .checklist-item:first-of-type { border-top: 0; }
.prose-post .check-icon { flex: none; width: 18px; height: 18px; margin-top: 0.3em; border-radius: 5px; background: var(--mid); position: relative; }
.prose-post .check-icon::after { content: ""; position: absolute; left: 6px; top: 3px; width: 5px; height: 9px; border: solid var(--white); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.prose-post .callout { padding: var(--sc-5) var(--sc-6); border-radius: var(--r); background: #e4eefc; margin-block: var(--sc-6); }
.prose-post .callout p { color: var(--navy); font-weight: 600; font-size: var(--sc-t-lg); line-height: 1.5; margin: 0; }
.prose-post .integration-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--sc-4); margin-block: var(--sc-6); }
.prose-post .integration-card { padding: var(--sc-5); border-radius: var(--r); background: var(--paper); border: 1px solid var(--sc-hairline); }
.prose-post .integration-card > * + * { margin-top: var(--sc-2); }
.prose-post .integration-card p { font-size: var(--sc-t-sm); line-height: 1.6; }
.prose-post .ic { display: block; width: 18px; height: 18px; border-radius: 5px; background: var(--mid); }
.prose-post .integration-card:nth-child(2) .ic { background: var(--bright); } .prose-post .integration-card:nth-child(3) .ic { background: var(--light); } .prose-post .integration-card:nth-child(4) .ic { background: var(--navy); }

/* index list */
.post-list { list-style: none; padding: 0; border-top: 1px solid var(--sc-hairline-strong); }
.post-list li { border-bottom: 1px solid var(--sc-hairline-strong); }
.post-row { display: grid; grid-template-columns: 4rem minmax(0, 1fr) 7rem; gap: var(--sc-5); align-items: start; padding-block: var(--sc-6); text-decoration: none; border-radius: 6px; transition: background-color var(--sc-d-fast) var(--sc-ease-out); }
.post-row:hover { background: var(--paper); }
.post-row:active { background: var(--pale); }
.post-row__n { font-weight: 900; font-size: var(--sc-t-lg); color: var(--mid); font-variant-numeric: tabular-nums; padding-left: var(--sc-3); }
.post-row__main { display: grid; gap: 6px; }
.post-row__main strong { font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.6rem); line-height: 1.25; letter-spacing: -0.012em; color: var(--navy); }
.post-row:hover strong { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; text-decoration-color: var(--light); }
.post-row__ex { color: var(--sc-ink-soft); max-width: 70ch; line-height: 1.6; }
.post-row__read { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); text-align: right; padding-right: var(--sc-3); padding-top: 0.2em; }

/* glossary */
.gl-jump { position: sticky; top: calc(var(--chrome-h) + 4px); z-index: 5; display: flex; flex-wrap: wrap; gap: 4px; padding: 8px; border-radius: var(--r); background: rgb(255 255 255 / 0.96); border: 1px solid var(--sc-hairline); box-shadow: var(--sc-e1); }
.gl-jump a { min-width: 34px; text-align: center; padding: 6px 8px; border-radius: 7px; font-weight: 700; text-decoration: none; color: var(--navy); transition: background-color var(--sc-d-fast) var(--sc-ease-out); }
.gl-jump a:hover { background: var(--paper); }
.gl-jump a:active { background: var(--pale); }
.gl-letter { scroll-margin-top: calc(var(--chrome-h) + 70px); margin-top: var(--sc-8) !important; }
.gl-letter h2 { font-size: clamp(2.4rem, 1.8rem + 2vw, 3.4rem); color: var(--mid); margin: 0 0 var(--sc-4); }
.gl-letter dl { margin: 0; }
.gl-term { padding-block: var(--sc-4); border-top: 1px solid var(--sc-hairline); scroll-margin-top: calc(var(--chrome-h) + 70px); }
.gl-term dt { font-weight: 700; font-size: var(--sc-t-lg); color: var(--navy); }
.gl-term dt span { font-weight: 500; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); margin-left: 6px; }
.gl-term dd { margin: 6px 0 0; color: var(--sc-ink-soft); line-height: 1.75; }

@media (max-width: 700px) {
  .post-row { grid-template-columns: 2.6rem minmax(0, 1fr); }
  .post-row__read { grid-column: 2; text-align: left; padding: 0; }
  .post-hero { padding-top: calc(var(--chrome-h) + var(--sc-6)); }
}
