/* ---------- blog (loaded after site.css) ---------- */
main{display:block}

/* index */
.post-feature{display:block;background:linear-gradient(135deg,rgba(91,200,213,.16),rgba(11,110,126,.22));border:1px solid var(--teal);border-radius:28px;padding:40px;margin:10px 0 28px;transition:.3s}
.post-feature:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(23,162,184,.25)}
.post-feature h2{font-size:clamp(26px,3.6vw,40px);margin:12px 0 12px}
.post-feature p{color:var(--mist);font-size:17px;max-width:62ch;margin-bottom:16px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:.3s}
.post-card:hover{transform:translateY(-5px);border-color:var(--teal);background:var(--surface2)}
.post-card h3{font-size:19px;letter-spacing:-.01em;margin:10px 0 10px;line-height:1.2}
.post-card p{color:var(--mist);font-size:14.5px;margin-bottom:16px;flex:1}
.post-cat{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.post-meta{font-size:13px;font-weight:600;color:var(--mute)}

/* article */
.post-hero{padding:140px 0 30px;text-align:center}
.post-hero .wrap{max-width:900px}
.post-hero h1{font-size:clamp(32px,5vw,54px);margin:16px 0 18px}
.post-hero .sub{color:var(--mist);font-size:18px;max-width:62ch;margin:0 auto 18px}
.crumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--mute);margin-bottom:22px}
.crumbs a{color:var(--mist)}
.crumbs a:hover{color:var(--cyan)}
.post-body{max-width:740px;margin:0 auto;padding:10px 0 30px;color:#cfe0e3;font-size:17.5px;line-height:1.8}
.post-body p{margin-bottom:20px}
.post-body h2{color:var(--white);font-size:clamp(24px,3.2vw,32px);line-height:1.15;margin:46px 0 16px}
.post-body h3{color:var(--white);font-size:20px;line-height:1.25;margin:30px 0 10px;letter-spacing:-.01em}
.post-body ul,.post-body ol{margin:0 0 22px 24px}
.post-body li{margin-bottom:10px}
.post-body li::marker{color:var(--teal)}
.post-body a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.post-body a:hover{color:var(--white)}
.post-body strong{color:var(--white)}
.post-body blockquote{border-left:3px solid var(--teal);padding:4px 0 4px 20px;margin:26px 0;color:var(--white);font-size:19px;font-weight:600}
.post-body .tldr{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin:0 0 30px}
.post-body .tldr p:last-child,.post-body .tldr ul:last-child{margin-bottom:0}
.post-body .tldr-title{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.post-body figure{margin:30px auto}
.post-body figure img{border-radius:24px;max-width:320px;margin:0 auto;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.post-body figcaption{text-align:center;color:var(--mute);font-size:14px;margin-top:12px}
.post-body .sources{font-size:14px;color:var(--mute);border-top:1px solid var(--line);padding-top:18px;margin-top:36px}
.post-body .sources li{margin-bottom:6px}
.post-body .sources a{color:var(--mist)}

/* end-of-post call to action */
.post-cta{background:var(--grad);border-radius:30px;padding:44px 34px;text-align:center;margin:44px 0 10px}
.post-cta .eyebrow{color:#063038}
.post-cta h2{color:#042026;font-size:clamp(26px,4vw,38px);margin:12px 0 12px}
.post-cta p{color:#063038;font-size:17px;font-weight:600;margin:0 auto 24px;max-width:52ch;line-height:1.6}
.post-cta .cta-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.post-cta .btn-dark{background:#06161A;color:#fff;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.post-cta .btn-dark:hover{transform:translateY(-2px);color:#fff}

/* homepage "From the blog" section */
.post-grid.two{grid-template-columns:repeat(2,1fr)}
.post-feature h3{font-size:clamp(24px,3.2vw,34px);margin:12px 0 12px;line-height:1.15}
.home-blog{padding-top:20px}
.home-blog-more{text-align:center;margin-top:30px}

.related{padding:30px 24px 30px}
.related h2{font-size:clamp(24px,3vw,32px);margin-bottom:22px}

@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr}.post-hero{padding-top:120px}}
@media(max-width:560px){.post-grid,.post-grid.two{grid-template-columns:1fr}.post-feature{padding:28px}.post-cta{padding:34px 20px}.post-body{font-size:16.5px}}
