/* InsightCede site — page styles lifted from the shared xtract templates (blog, post, about, contact) so pages stay slim */

/* ---- from blog.html ---- */
.blog-list-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:8px; }
        .blog-section__title { font-size:24px; font-weight:800; letter-spacing:-.015em; margin:58px 0 4px; color:#071a2e; }
        .blog-section__title:first-of-type { margin-top:22px; }
        .blog-section__desc { font-size:14px; line-height:1.55; color:#566575; margin:0 0 24px; padding-bottom:16px; border-bottom:1px solid rgba(2,6,23,.09); max-width:760px; }
        .blog-section__title { scroll-margin-top:172px; }
        .blog-jump { position:sticky; top:72px; z-index:20; display:flex; flex-wrap:wrap; gap:8px; padding:12px 2px; margin:0 0 6px; background:rgba(255,255,255,.9); backdrop-filter:saturate(150%) blur(10px); -webkit-backdrop-filter:saturate(150%) blur(10px); border-bottom:1px solid rgba(2,6,23,.08); }
        .blog-jump a { cursor:pointer; font-size:13px; font-weight:600; color:#34465a; text-decoration:none; padding:7px 15px; border-radius:999px; border:1px solid rgba(2,6,23,.10); background:#fff; transition:all .15s ease; white-space:nowrap; }
        .blog-jump a:hover { border-color:#14a39a; color:#0f5e8a; }
        .blog-jump a.is-active { background:linear-gradient(90deg,#0f4c75,#22b8cf); color:#fff; border-color:transparent; box-shadow:0 2px 10px rgba(15,76,117,.25); }
        @media (max-width:640px){ .blog-jump{ overflow-x:auto; flex-wrap:nowrap; } }
        .post-card { background:#fff; border:1px solid #e2eaef; border-radius:16px; overflow:hidden;
            display:flex; flex-direction:column; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease;
            box-shadow:0 10px 30px -22px rgba(7,26,46,0.5); }
        .post-card:hover { transform:translateY(-4px); box-shadow:0 22px 50px -24px rgba(7,26,46,0.55); }
        .post-card__img { aspect-ratio:16/9; overflow:hidden; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#1e5a8a,#0d9488); border-bottom:1px solid #eaf0f3; }
        .post-card__img i { font-size:46px; color:rgba(255,255,255,.92); }
        .post-card:nth-of-type(3n) .post-card__img { background:linear-gradient(135deg,#0f4c75,#14b8a6); }
        .post-card:nth-of-type(3n+1) .post-card__img { background:linear-gradient(135deg,#0f4c75,#2a9d8f); }
        .post-card__img img { width:100%; height:100%; object-fit:cover; object-position:top left; display:block; }
        .post-card__body { padding:20px 22px 24px; display:flex; flex-direction:column; flex:1; }
        .post-card__tag { align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
            padding:4px 10px; border-radius:20px; background:rgba(20,163,154,.12); color:#0f5e7a; margin-bottom:12px; }
        .post-card__title { font-size:19px; line-height:1.35; color:#0d2238; margin:0 0 10px; font-weight:700; }
        .post-card__excerpt { font-size:14.5px; color:#536477; line-height:1.6; margin:0 0 16px; flex:1; }
        .post-card__meta { font-size:12.5px; color:#8796a8; display:flex; align-items:center; gap:8px; }
        .post-card__more { margin-top:14px; font-size:14px; font-weight:600; color:#0f5e7a; }
        .post-card__more i { transition:transform .18s ease; }
        .post-card:hover .post-card__more i { transform:translateX(4px); }
        @media (max-width: 991px){ .blog-list-grid{ grid-template-columns:repeat(2,1fr);} }
        @media (max-width: 640px){ .blog-list-grid{ grid-template-columns:1fr;} }

/* ---- from blog-clickable-citations.html ---- */
.blog-hero .ai-hero__eyebrow { margin-bottom: 18px; }
        .blog-meta { color:#627489; font-size:14px; margin-top:14px; }
        .blog-meta strong { color:#34465a; }
        .article-body { max-width: 880px; margin: 0 auto; }
        .article-body h2 { font-size: 27px; margin: 38px 0 6px; color:#0d2238; }
        .article-body h3 { font-size:19px; margin: 30px 0 8px; color:#1f3247; }
        .article-body p { color:#44546a; font-size:16.5px; line-height:1.75; margin-bottom:16px; }
        .article-body ul,.article-body ol { color:#44546a; font-size:16.5px; line-height:1.7; margin:0 0 18px 20px; }
        .article-body li { margin-bottom:8px; }
        .lead-para { font-size:19px !important; color:#1f3247 !important; line-height:1.7 !important; }
        .cat-note { color:#627489; font-size:14.5px; margin:2px 0 12px !important; }
        .callout { background:#f6f9fb; border:1px solid #e2eaef; border-left:4px solid #14a39a; border-radius:12px; padding:20px 22px; margin:24px 0; }
        .callout h4 { margin:0 0 8px; font-size:16px; color:#0d2238; }
        .callout p { margin:0; font-size:15px; color:#44546a; }
        .callout.next { border-left-color:#22c1a4; }
        .ec-table { width:100%; border-collapse:collapse; margin:14px 0 4px; font-size:14.5px; }
        .ec-table th,.ec-table td { text-align:left; padding:11px 14px; border-bottom:1px solid #e2eaef; color:#44546a; vertical-align:top; }
        .ec-table th { background:#f1f6f8; color:#0d2238; font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; }
        .ec-table td.p { color:#0d2238; font-weight:600; }
        .ec-table code { background:#e8f1f4; color:#1f4e6b; padding:1px 6px; border-radius:5px; font-size:12.5px; }
        /* step cards */
        .steps4 { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0 6px; }
        @media(max-width:720px){ .steps4{ grid-template-columns:1fr 1fr; } }
        .st { border:1px solid #e2eaef; border-radius:13px; padding:15px 14px; background:#fff; }
        .st .ic { width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:14px; margin-bottom:9px; }
        .st b { display:block; color:#0d2238; font-size:14px; margin-bottom:4px; }
        .st span { font-size:12.5px; color:#627489; line-height:1.45; }
        .st code { background:#e8f1f4; color:#1f4e6b; padding:0 4px; border-radius:4px; font-size:11.5px; }
        .xform { font-family:ui-monospace,Menlo,monospace; font-size:13px; }
        .xform .a { color:#c0334d; } .xform .b { color:#0b7d6f; font-weight:700; } .xform .arr { color:#8696a9; padding:0 6px; }
        .json-box { background:#0e2236; color:#d9e6ee; border-radius:12px; padding:20px 22px; font-family:ui-monospace,Menlo,monospace; font-size:12.5px; line-height:1.62; overflow-x:auto; margin:18px 0; }
        .json-box .k { color:#7cc4f0; } .json-box .s { color:#a5e6b0; } .json-box .n { color:#f5c06b; } .json-box .c { color:#7a8ea2; }
        figure.shot { margin: 26px 0 30px; }
        figure.shot img { width:100%; border-radius:14px; border:1px solid #e2eaef; box-shadow: 0 18px 50px -20px rgba(7,26,46,0.35); display:block; }
        figure.shot figcaption { text-align:center; color:#76889a; font-size:13.5px; margin-top:12px; font-style:italic; }
        .article-body .mermaid { text-align:center; margin:26px 0 30px; }
        mark { background:rgba(188,124,31,.20); color:inherit; border-radius:3px; padding:0 3px; }
/* InsightCede: code samples keep their line breaks */
.article-body .json-box{ white-space:pre-wrap; }

/* InsightCede: phone widths. Wide tables scroll inside themselves rather than widening the page, and the contact
   grid's columns may shrink below their content. */
.contact-grid > *, .contact-row > * { min-width:0; }
.contact-field input, .contact-field select, .contact-field textarea { max-width:100%; }
@media (max-width: 767px){
  .vs-compare-table, .ec-table { display:block !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  .vs-table-wrap .vs-table th, .vs-table-wrap .vs-table td { min-width:120px; }
  .vs-compare-table th, .vs-compare-table td { min-width:150px; }
  .vs-compare-table td:first-child, .vs-compare-table th:first-child { min-width:120px; }
  .contact-card { padding:26px 20px 22px; }
}
/* the byline and plain hero paragraphs sit on the dark hero */
.blog-hero .blog-meta { color:#a7bccd; }
.blog-hero .blog-meta strong { color:#e6f1f4; }
.ai-hero p:not(.lede):not(.ai-hero__kicker) { color:#b4c6d6; }

.vs-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:26px 0; }
.vs-table-wrap > .vs-table { margin:0; }
/* a long word in a post title ("Reinstatement") must wrap, not widen the page */
.ai-subhero h1, .ai-hero h1 { overflow-wrap:break-word; }
@media (max-width: 575px){ .ai-subhero h1 { font-size:34px; line-height:1.12; } }
.stat-row > .stat { min-width:0; }
.stat-row .stat strong { overflow-wrap:anywhere; }
@media (max-width: 575px){ .stat-row { grid-template-columns:repeat(auto-fit,minmax(130px,1fr)) !important; } .stat-row .stat strong { font-size:22px !important; } }
