/* ============================================================
   72-blog — Blog index grid + blog post prose. The 76 posts are
   rebuilt verbatim from the old midcountypt.com WordPress blog at
   their original root URLs (2026-10-15). Shares .sec-00-inthero for
   hero banners. Ported from the Back On Track T3 client build.
   ============================================================ */

/* --- Blog index grid --- */
.sec-70-blog-grid {
  background: var(--bone);
}
.sec-70-blog-grid__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--sp-gap);
}
.sec-70-blog-grid__card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 300ms var(--ease-out), transform 300ms var(--ease-out);
}
.sec-70-blog-grid__card:hover,
.sec-70-blog-grid__card:focus-visible {
  box-shadow: var(--shadow-lift);
  transform: translateY(-3px);
}
.sec-70-blog-grid__photo {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}
.sec-70-blog-grid__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.6rem;
  padding: 1.75rem;
}
.sec-70-blog-grid__date {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent-strong);
}
.sec-70-blog-grid__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.15rem;
  line-height: 1.3;
  color: var(--text-on-bone);
}
.sec-70-blog-grid__excerpt {
  color: var(--text-on-bone-dim);
  font-size: 0.92rem;
  line-height: 1.55;
}
.sec-70-blog-grid__more {
  margin-top: auto;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--accent-strong);
}

/* --- Blog post prose body --- */
.sec-71-blog-post {
  background: var(--bone);
}
.sec-71-blog-post__wrap {
  max-width: 42rem;
  margin-inline: auto;
}
.sec-71-blog-post__meta {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent-strong);
  margin-bottom: 1.5rem;
}
.sec-71-blog-post__body {
  color: var(--text-on-bone);
  line-height: 1.7;
  font-size: 1.02rem;
}
.sec-71-blog-post__body h2 {
  font-size: var(--fs-h3);
  margin: 2.25rem 0 1rem;
}
.sec-71-blog-post__body h3 {
  font-size: var(--fs-h4);
  margin: 1.75rem 0 0.85rem;
}
.sec-71-blog-post__body p {
  margin-bottom: 1.15rem;
}
.sec-71-blog-post__body ul {
  margin: 0 0 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.sec-71-blog-post__body li {
  list-style: disc;
}
.sec-71-blog-post__body a {
  color: var(--accent);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: hsl(var(--accent-h) 60% 60% / 0.4);
  text-underline-offset: 2px;
}
.sec-71-blog-post__body a:hover {
  text-decoration-color: currentColor;
}
.sec-71-blog-post__cta {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line-bone);
  text-align: center;
}
.sec-71-blog-post__cta p {
  margin-bottom: 1.25rem;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--text-on-bone);
}
.sec-71-blog-post__back {
  display: inline-block;
  margin-bottom: 2rem;
  color: var(--accent-strong);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}
.sec-71-blog-post__back:hover { color: var(--accent); }

.sec-71-blog-post__body ol {
  margin: 0 0 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.sec-71-blog-post__body ol li {
  list-style: decimal;
}
.sec-71-blog-post__photo {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  margin-bottom: 2rem;
  display: block;
}

.sec-71-blog-post__photo--portrait {
  max-width: 26rem;
  margin-inline: auto;
}

@media (max-width: 820px) {
  .sec-71-blog-post__back {
    padding-block: 12px;
    margin-block: -12px 1.25rem;
  }
}

/* Most of the old featured images are ~300px originals: show them at their own size
   instead of stretching them across the column. */
.sec-71-blog-post__photo {
  width: auto;
  max-width: 100%;
  margin-inline: auto;
}
.sec-71-blog-post__body h4 {
  font-size: 1.1rem;
  margin: 1.5rem 0 0.75rem;
}
.sec-71-blog-post__body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.5rem auto;
  border-radius: var(--radius-card);
}
.sec-71-blog-post__body video {
  display: block;
  width: 100%;
  max-height: 80vh;
  margin: 1.5rem auto;
  border-radius: var(--radius-card);
  background: var(--ink, #0e1b21);
}
.sec-71-blog-post__body blockquote {
  margin: 1.5rem 0;
  padding-left: 1.25rem;
  border-left: 3px solid var(--accent);
}
