/* Insights (blog) pages only. Loaded after base.css and site.css. */

/* Article pages mark Insights as the current section in the main navigation */
.site-nav a[aria-current="true"] { border-bottom-color:var(--accent); color:var(--white); }

/* ---- Index ---- */
.insights-heading .lede { max-width:40rem; }
.post-list { margin:0 0 clamp(3rem,6vw,6rem); padding:0; list-style:none; border-top:1px solid var(--line); max-width:56rem; }
.post-list li { border-bottom:1px solid var(--line); }
.post-list article { position:relative; padding:1.6rem 2.2rem 1.6rem 0; }
.post-list h2, .post-list h3 { margin:.35rem 0 0; font-size:clamp(1.2rem,2.1vw,1.6rem); line-height:1.25; letter-spacing:-.03em; font-weight:600; }
.post-list h2 a::after, .post-list h3 a::after { content:''; position:absolute; inset:0; }
.post-list p:not(.post-meta) { margin:.55rem 0 0; color:var(--soft); line-height:1.6; max-width:46rem; }
.post-list article::after { content:'→'; position:absolute; right:.3rem; top:50%; transform:translateY(-50%); color:var(--accent); transition:transform .25s; }
.post-list article:hover h2, .post-list article:hover h3 { color:#bec7ff; }
.post-list article:hover::after { transform:translate(4px,-50%); }
.post-list-empty { color:var(--soft); padding-bottom:clamp(3rem,6vw,6rem); }

.post-meta { margin:0; color:var(--soft); font-size:.86rem; }
.post-meta time { color:var(--accent); font-weight:600; }

/* ---- Article ---- */
.post { max-width:46rem; }
.post-heading { padding-bottom:clamp(1.4rem,2.6vw,2.2rem); }
.post-heading .section-label a:hover { color:var(--white); }
.post-heading h1 { font-size:clamp(2rem,4.2vw,3.5rem); line-height:1.07; letter-spacing:-.05em; }
.post-heading .post-meta { margin-top:1.2rem; }
.post-cover { margin:0 0 2.2rem; }
.post-cover img { display:block; width:100%; height:auto; border-radius:10px; }

.prose { color:var(--soft); font-size:1.05rem; line-height:1.75; }
.prose > :first-child { margin-top:0; }
.prose p, .prose ul, .prose ol, .prose blockquote, .prose table, .prose figure { margin:0 0 1.15rem; }
.prose h2 { margin:2.6rem 0 .7rem; color:var(--white); font-size:clamp(1.3rem,2.1vw,1.7rem); line-height:1.25; letter-spacing:-.03em; scroll-margin-top:1.5rem; }
.prose h3 { margin:1.9rem 0 .5rem; color:var(--white); font-size:1.12rem; line-height:1.35; scroll-margin-top:1.5rem; }
.prose h4 { margin:1.5rem 0 .4rem; color:var(--white); font-size:1rem; }
.prose ul, .prose ol { padding-left:1.3rem; }
.prose li { margin:.3rem 0; }
.prose li::marker { color:var(--accent); }
.prose a { color:#c9d0ff; text-decoration:underline; text-underline-offset:3px; }
.prose a:hover { color:var(--white); }
.prose strong { color:var(--white); font-weight:600; }
.prose blockquote { padding:.2rem 0 .2rem 1.2rem; border-left:2px solid var(--accent); color:var(--white); font-size:1.12rem; }
.prose blockquote p { margin:0; }
.prose hr { border:0; border-top:1px solid var(--line); margin:2.4rem 0; }
.prose code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9em; padding:.1em .35em; border-radius:4px; background:var(--panel); color:var(--white); }
.prose figure img { display:block; width:100%; height:auto; border-radius:8px; }
.prose figcaption { margin-top:.55rem; font-size:.86rem; color:var(--soft); }
.prose .table-wrap { overflow-x:auto; margin:0 0 1.15rem; }
.prose table { width:100%; border-collapse:collapse; font-size:.94rem; line-height:1.5; }
.prose th, .prose td { padding:.6rem .8rem .6rem 0; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.prose th { color:var(--white); font-weight:600; }

.post-cta { margin:2.8rem 0 clamp(3rem,6vw,5rem); padding-top:2rem; border-top:1px solid var(--line); }
.post-cta p { margin:0; color:var(--white); font-size:1.15rem; font-weight:550; }
.post-cta .cta { margin-top:1.1rem; }
.post-more { padding-top:clamp(2.4rem,4vw,3.6rem); }
.post-more h2 { margin:0 0 1.2rem; font-size:1.1rem; color:var(--accent); font-weight:600; }
.post-more .post-list { margin-bottom:clamp(2rem,4vw,4rem); }

@media (max-width:570px) {
  .post-list article { padding-right:1.6rem; }
  .prose { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) { .post-list article::after { transition:none; } }
