.blog-index-header { max-width: 680px; margin: 1rem auto 2.5rem; text-align: center; }
.blog-index-header h1 { margin: .25rem 0 .75rem; font-size: clamp(2.5rem, 2.5vw, 4.5rem); letter-spacing: -.04em; }
.blog-index-header>p:last-child,.blog-post-description { color: var(--bs-secondary-color); }
.blog-kicker { color: var(--bs-success); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.blog-card { display: block; height: 100%; overflow: hidden; color: inherit; text-decoration: none; background: var(--bs-body-bg); border: 1px solid rgba(0,0,0,.1); border-radius: 1rem; box-shadow: 0 .35rem 1.25rem rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease; }
.blog-card:hover,.blog-card:focus-visible { color: inherit; transform: translateY(-4px); box-shadow: 0 .8rem 2rem rgba(0,0,0,.12); }
.blog-card:focus-visible { outline: 3px solid var(--bs-success); outline-offset: 3px; }
.blog-card-cover { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.blog-card-body { padding: 1.5rem 1.6rem 1.6rem; }
.blog-card-body h2 { margin: .35rem 0 .75rem; color: var(--bs-emphasis-color); font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.15; }
.blog-card-body>p:not(.blog-card-date) { color: var(--bs-secondary-color); line-height: 1.6; }
.blog-card-date,.blog-post-date { color: var(--bs-secondary-color); font-size: .82rem; }
.blog-card-read { display: inline-block; margin-top: .65rem; color: var(--bs-success); font-weight: 700; }
.blog-post-hero { max-width: 920px; padding-top: 2.5rem; text-align: center; }
.blog-back { display: inline-block; margin-bottom: 2.5rem; color: var(--bs-secondary-color); text-decoration: none; }
.blog-back:hover { color: var(--bs-success); }
.blog-post-hero h1 { max-width: 850px; margin: .5rem auto 1rem; font-size: clamp(2.25rem, 2.5vw, 4.25rem); line-height: 1.05; letter-spacing: -.04em; }
.blog-post-description { max-width: 720px; margin: 0 auto 1rem; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.55; }
.blog-post-cover { display: block; width: 100%; max-height: 520px; margin: 2.5rem auto 0; object-fit: cover; border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(0,0,0,.12); }
.blog-post-content { max-width: 850px; margin: 3.5rem auto 5rem; padding: 0 1.25rem; font-size: 1.08rem; line-height: 1.8; text-align: justify }
.blog-post-content h2 { margin: 3rem 0 1rem; font-size: 1.9rem; line-height: 1.2; }
.blog-post-content h3 { margin: 2rem 0 .75rem; font-size: 1.4rem; }
.blog-post-content p { margin: 0 0 1.25rem; }
.blog-post-content ul { margin-bottom: 1.5rem; padding-left: 1.4rem; }
.blog-post-content a { color: var(--bs-success); }
.blog-share-actions { display: flex; justify-content: flex-end}
.blog-comment-button { display: inline-flex; align-items: center; gap: .4rem; margin-right: .65rem; padding: .65rem 1rem; border: 1px solid var(--instagram) !important; border-radius: 2rem; color: var(--instagram) !important; font-weight: 700; text-decoration: none; white-space: nowrap; }
.blog-comment-button:hover { color: #fff !important; background: var(--instagram-dark); }
.blog-comment-button:focus-visible { outline: 3px solid rgba(25,135,84,.35); outline-offset: 2px; }
.blog-share-button { display: inline-flex; align-items: center; gap: .4rem; padding: .65rem 1rem; border: 0; border-radius: 2rem; color: #fff; background: var(--bs-success); font-weight: 700; white-space: nowrap; }
.blog-share-button:hover { background: var(--bs-success-text-emphasis); }
.blog-share-button:focus-visible { outline: 3px solid rgba(25,135,84,.35); outline-offset: 2px; }
.blog-post-content img { display: block; width: 100%; max-width: 600px; height: auto; margin: 2rem auto; border-radius: .75rem; }
.blog-leading-link { margin: 2rem 0 2.5rem; padding: 1.5rem 1.6rem; border-left: 4px solid var(--bs-success); border-radius: .65rem; background: rgba(25,135,84,.08); }
.blog-leading-link p { color: var(--bs-emphasis-color); font-size: 1.12rem; font-weight: 700; text-decoration: none; margin-bottom: 0 !important }
.blog-leading-link p span { color: var(--bs-success); white-space: nowrap; }
.blog-author-label { margin: 0; color: var(--bs-secondary-color); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.blog-author-name { margin: .15rem 0 0; font-weight: 700; }
.blog-footnote-ref { font-size: .75em; margin-left: .1em; }
.blog-footnotes { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(0,0,0,.15); font-size: .92rem; line-height: 1.6; }
.blog-footnotes h2 { margin: 0 0 1rem; font-size: 1.35rem; }
.blog-footnotes li { margin-bottom: .5rem; }
.blog-author-card { display: flex; align-items: center; gap: 1rem; margin: 2.5rem 0 3rem; padding: 1rem 1.25rem; border-top: 1px solid rgba(0,0,0,.12); border-bottom: 1px solid rgba(0,0,0,.12); }
.blog-author-thumbnail { width: 42px !important; height: 42px !important; margin: 0 !important; border-radius: 50% !important; object-fit: cover  !important; }
@media (max-width:576px) { .blog-index { padding-top: 2rem!important; } .blog-card-body { padding: 1.25rem; } .blog-post-hero { padding-top: 1.5rem; } .blog-back { margin-bottom: 1.75rem; } .blog-post-cover { margin-top: 1.75rem; border-radius: .65rem; } .blog-post-content { margin-top: 2.5rem; padding: 0 1rem; font-size: 1rem; } }
