/* Blog additions use the existing site's palette and type system. */
.blog-hero{background:var(--ink);color:#fff;padding:64px 0 54px}.blog-hero h1{font-size:clamp(2.15rem,4.4vw,3.7rem);line-height:1.12;max-width:1000px;margin:18px 0 24px;letter-spacing:-.035em;overflow-wrap:anywhere}.blog-intro{font-size:1.12rem;line-height:1.75;max-width:820px;color:#cbd8e8}.blog-date{color:#b9c8da;font-size:.9rem;margin:24px 0 0}.blog-layout{display:grid;grid-template-columns:250px minmax(0,780px);gap:55px;align-items:start;padding-top:56px;padding-bottom:64px}.blog-toc{position:sticky;top:100px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:22px}.blog-toc strong{display:block;margin-bottom:12px}.blog-toc nav a{display:block;padding:8px 0;font-size:.9rem;line-height:1.5;color:#43556d;text-decoration:none}.blog-toc a:hover{text-decoration:underline}.blog-back{display:block;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem;font-weight:800}.blog-content{min-width:0;font-size:1.05rem;line-height:1.85}.blog-content a,.blog-quote a{color:#875000;text-underline-offset:3px;font-weight:650}.blog-content h2{font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.25;letter-spacing:-.025em;margin:0 0 22px}.blog-content h3{font-size:1.25rem;line-height:1.4;margin:28px 0 12px}.blog-content p{color:#43556d;margin:0 0 20px}.blog-content ul{padding-left:24px;margin:0 0 24px}.blog-content li{color:#43556d;margin-bottom:12px}.blog-chapter{padding:0;margin:0 0 44px;scroll-margin-top:100px}.blog-quote{background:#fff5e3;border:1px solid #edd6b2;border-left:4px solid var(--amber);border-radius:10px;padding:28px;margin-top:40px}.blog-quote h2{font-size:1.5rem;line-height:1.3;margin:0 0 16px}.blog-quote p:last-child{margin-bottom:0}.blog-index,.blog-related{background:#fff;padding:60px 0}.blog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:28px}.blog-card h2{font-size:1.4rem;line-height:1.35;margin:16px 0}.blog-card h2 a{text-decoration:none}.blog-card h2 a:hover{text-decoration:underline}.blog-card p{color:#526176;margin:0 0 25px}.blog-read{color:#875000;font-weight:850;margin-top:auto}.blog-related .blog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-source{font-size:.9rem;border-top:1px solid var(--line);padding-top:24px}.blog-card a:focus-visible,.blog-toc a:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
@media(max-width:1000px){.blog-layout{grid-template-columns:220px minmax(0,1fr);gap:30px}.blog-card-grid{grid-template-columns:1fr}.blog-hero{padding:48px 0}}
@media(max-width:900px){.navlinks a.nav-guide{display:inline-flex}.blog-layout{grid-template-columns:1fr}.blog-toc{position:static}.blog-toc nav a{padding:7px 0}.blog-intro{font-size:1.05rem}.blog-related .blog-card-grid{grid-template-columns:1fr}}
@media(max-width:600px){.blog-layout{padding-top:28px;padding-bottom:36px;gap:36px}.blog-hero{padding:36px 0}.blog-hero h1{font-size:2.15rem}.blog-card,.blog-quote{padding:22px}.blog-content{font-size:1rem}.navlinks a.nav-guide{font-size:.9rem}.blog-index,.blog-related{padding:40px 0}.blog-chapter{scroll-margin-top:85px}}
