/* The two-article blog uses the current Novasean colour and type system. */
.blog-intro{max-width:900px;margin:35px 0 42px}
.blog-intro h1{max-width:780px}
.blog-intro .lead{max-width:780px}
.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:34px 0 66px}
.blog-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;text-decoration:none}
.blog-card img{display:block;width:100%;height:auto;aspect-ratio:40/21;background:#e4ebde;border-bottom:1px solid var(--line)}
.blog-card-body{padding:26px;display:flex;flex-direction:column;flex:1}
.blog-card h2{font-size:1.55rem;line-height:1.2;margin:6px 0 14px}
.blog-card p{color:var(--muted)}
.blog-card .text-link{margin-top:auto}
.blog-article-head{max-width:940px;margin:32px 0 40px}
.blog-article-head h1{max-width:940px;font-size:clamp(2.4rem,4.6vw,4rem)}
.blog-back{display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:25px}
.blog-byline{font-size:.88rem;color:var(--muted);margin:12px 0 22px}
.blog-hero-image{display:block;width:100%;height:auto;max-width:1080px;border:1px solid var(--line);border-radius:15px;background:#e4ebde;margin:30px 0 0}
.blog-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(190px,245px);gap:48px;align-items:start;margin-bottom:62px}
.blog-prose{min-width:0;overflow-wrap:anywhere;font-size:1.05rem;line-height:1.78}
.blog-prose h2{font-size:1.7rem;margin:43px 0 14px;scroll-margin-top:25px}
.blog-prose h3{font-size:1.22rem;margin:30px 0 11px;scroll-margin-top:25px}
.blog-prose p,.blog-prose ul,.blog-prose ol,.blog-prose blockquote{margin:0 0 20px}
.blog-prose ul,.blog-prose ol{padding-left:24px}
.blog-prose li{margin:6px 0}
.blog-prose blockquote{border-left:4px solid #b55820;padding:6px 0 6px 20px;margin-left:0;color:#3d545a}
.blog-table{max-width:100%;overflow-x:auto;margin:16px 0 25px}
.blog-table:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.blog-table table{border-collapse:collapse;min-width:580px;width:100%;font-size:.9rem;line-height:1.5}
.blog-table th,.blog-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
.blog-table th{background:#eaf0e5}
.blog-toc{display:block;position:sticky;top:24px;border:1px solid var(--line);border-radius:12px;padding:22px;background:#eaf0e5}
.blog-toc h2{font-size:1.05rem;margin:0 0 12px}
.blog-toc ul{margin:0;padding-left:20px}
.blog-toc li{margin:7px 0}
.blog-toc a{font-size:.84rem;line-height:1.4}
.blog-mobile-toc{display:none}
.blog-next{padding:26px;background:#eaf0e5;border:1px solid var(--line);border-radius:12px;margin:30px 0 55px}
.blog-next h2{font-size:1.35rem}
.blog-next p:last-child{margin-bottom:0}
@media(max-width:900px){.blog-layout{grid-template-columns:1fr;gap:18px}.blog-toc{display:none}.blog-mobile-toc{display:block;border:1px solid var(--line);border-radius:10px;background:#eaf0e5;padding:14px 18px;margin:0 0 26px;font-size:.9rem}.blog-mobile-toc summary{font-weight:700;cursor:pointer}.blog-mobile-toc ul{padding-left:20px;margin:14px 0 0}.blog-mobile-toc li{margin:8px 0}.blog-article-head{margin-top:18px}}
@media(max-width:700px){.blog-card-grid{grid-template-columns:1fr}.blog-intro{margin-top:15px}.blog-article-head h1{font-size:clamp(2.15rem,9vw,3rem)}.blog-hero-image{border-radius:10px}.blog-prose{font-size:1rem}.blog-prose h2{font-size:1.45rem}.blog-card h2{font-size:1.3rem}.blog-card-body{padding:21px}}
