.blog-hero { padding: 88px 32px 16px; }
.blog-hero-row { max-width: 1000px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 32px; }
.blog-hero-inner { max-width: 760px; min-width: 0; text-align: center; }
.blog-hero h1 { font-family: 'Satoshi', sans-serif; letter-spacing: -0.02em; line-height: 1.05; font-size: 46px; font-weight: 600; color: var(--ink); margin: 0 0 18px; }
.blog-hero p { font-size: 17px; color: var(--ink); opacity: 0.8; margin: 0; }
.blog-hero-mascot { height: 190px; width: auto; flex: none; }

@media (max-width: 820px) {
  .blog-hero-mascot { display: none; }
}

.blog-controls {
  max-width: 1180px; margin: 0 auto; padding: 8px 32px 0;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
}
.blog-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.blog-filter-btn {
  font-family: 'IBM Plex Mono', monospace; font-size: 12.5px; padding: 8px 16px; border-radius: 20px;
  cursor: pointer; transition: all 0.2s ease; background: transparent; color: var(--ink);
  border: 1px solid rgba(27,35,64,0.3);
}
.blog-filter-btn.active { background: var(--green); color: var(--bg); border-color: var(--green); }
.blog-search input {
  font-family: 'Mona Sans', 'Inter', sans-serif; font-size: 14px; padding: 9px 14px; width: 220px;
  border: 1px solid rgba(27,35,64,0.25); border-radius: 2px; background: #FFFFFF;
}
.blog-search input:focus { outline: 2px solid var(--green); }
.blog-empty { max-width: 880px; margin: 0 auto; padding: 16px 32px 80px; text-align: center; color: var(--ink); opacity: 0.6; }
.blog-empty-mascot { display: block; height: 120px; width: auto; margin: 0 auto 16px; }

.blog-list {
  max-width: 1180px; margin: 0 auto; padding: 24px 32px 120px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; align-items: stretch;
}

@media (max-width: 980px) {
  .blog-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .blog-list { grid-template-columns: 1fr; }
}

.post-card {
  
  display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none;
  background: #FFFFFF; border: 1px solid rgba(27,35,64,0.14); border-radius: 2px; padding: 32px;
  transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.post-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(27,35,64,0.12); border-color: var(--green); }

.post-card-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; flex-wrap: wrap; }
.post-tag {
  font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.6px; text-transform: uppercase;
  padding: 4px 10px; border-radius: 20px; border: 1px solid currentColor; line-height: 1.4;
}
.post-tag.tag-tax-tips { color: var(--pink-text); }
.post-tag.tag-bookkeeping { color: var(--green); }
.post-tag.tag-deadlines { color: var(--gold-text); }
.post-date { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--ink); opacity: 0.55; }

.post-title {
  margin: 0 0 10px; font-family: 'Satoshi', sans-serif; letter-spacing: -0.01em; line-height: 1.25; font-size: 24px; font-weight: 600;
  color: var(--ink); transition: color 0.2s ease;
}
.post-card:hover .post-title { color: var(--pink); }

.post-excerpt { color: var(--ink); opacity: 0.8; margin: 0 0 16px; max-width: 640px; flex: 1; }
.post-readmore {
  margin-top: auto; align-self: flex-start;
  font-size: 14px; font-weight: 600; color: var(--green); border-bottom: 1px solid var(--green);
  padding-bottom: 2px; transition: color 0.2s ease, border-color 0.2s ease;
}
.post-readmore:hover { color: var(--pink-text); border-color: var(--pink); }


.post-hero { max-width: 760px; margin: 0 auto; padding: 88px 32px 0; }
.post-hero .post-card-meta { margin-bottom: 18px; }
.post-hero h1 { font-family: 'Satoshi', sans-serif; letter-spacing: -0.02em; line-height: 1.05; font-size: 44px; font-weight: 600; color: var(--ink); margin: 0 0 20px; }
.post-byline { font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: var(--ink); opacity: 0.6; margin-bottom: 8px; }

.post-body { max-width: 760px; margin: 0 auto; padding: 24px 32px 80px; }
.post-body p { font-size: 16px; color: var(--ink); opacity: 0.88; margin: 0 0 20px; }
.post-body h2 { font-family: 'Satoshi', sans-serif; letter-spacing: -0.02em; line-height: 1.05; font-size: 26px; font-weight: 600; color: var(--ink); margin: 36px 0 20px; }
.post-body ul { margin: 0 0 20px; padding-left: 22px; }
.post-body li { font-size: 16px; color: var(--ink); opacity: 0.88; line-height: 1.6; }

.related-section { max-width: 880px; margin: 0 auto; padding: 0 32px 100px; }
.related-section h2 { font-family: 'Satoshi', sans-serif; letter-spacing: -0.02em; line-height: 1.05; font-weight: 600; text-align: center; font-size: 28px; color: var(--ink); margin: 0 0 40px; }
.related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }

@media (max-width: 760px) {
  .related-grid { grid-template-columns: 1fr; }
}


.author-box { max-width: 720px; margin: 0 auto 48px; padding: 20px 24px; background: rgba(31,77,58,0.06); border-left: 4px solid var(--green); border-radius: 4px; }
.author-box-label { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.4px; color: var(--gold-text); margin-bottom: 4px; }
.author-box h2 { font-size: 20px; margin: 0 0 8px; }
.author-box p { margin: 0 0 8px; font-size: 15.5px; line-height: 1.6; }
.author-box p:last-child { margin-bottom: 0; }
.author-box a { color: var(--green); font-weight: 600; text-decoration: underline; }


.post-hero-image { max-width: 760px; margin: 12px auto 0; padding: 0 32px; }
.post-hero-image img { display: block; width: 100%; height: auto; border-radius: 12px; }
.post-body img { max-width: 100%; height: auto; border-radius: 8px; }
.post-body table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.post-body th, .post-body td { text-align: left; padding: 8px 10px; border-bottom: 1px solid rgba(27,35,64,0.15); }
.post-body blockquote { margin: 0 0 20px; padding: 4px 0 4px 18px; border-left: 3px solid var(--gold); }
.post-body h3 { font-family: 'Satoshi', sans-serif; font-size: 20px; font-weight: 600; margin: 28px 0 14px; color: var(--ink); }
.post-disclaimer { font-family: 'IBM Plex Mono', monospace; font-size: 13px !important; opacity: 0.7 !important; margin-top: 32px !important; }
.post-nav { max-width: 760px; margin: 0 auto 48px; padding: 0 32px; display: flex; justify-content: space-between; gap: 20px; }
.post-nav a { display: block; max-width: 48%; color: var(--ink); font-weight: 600; }
.post-nav a span { display: block; font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 400; color: var(--gold-text); margin-bottom: 4px; }
.post-nav a[rel="next"] { text-align: right; margin-left: auto; }
.post-nav a:hover { color: var(--pink-text); }
.pagination { display: flex; justify-content: center; gap: 10px; margin: 0 auto 60px; font-family: 'IBM Plex Mono', monospace; font-size: 14px; }
.pagination a, .pagination span { padding: 6px 12px; border: 1px solid rgba(173,138,84,0.4); border-radius: 8px; color: var(--ink); }
.pagination [aria-current] { background: rgba(173,138,84,0.15); }


.post-nav-back { max-width: 760px; margin: -24px auto 40px; padding: 0 32px; }
