/* Keep the editorial lead compact so recent posts remain in the first reading flow. */
.steins-blog-page .sb-hero {
  padding-top: clamp(88px, 9vw, 118px);
}

.steins-blog-page .sb-hero__layout {
  gap: clamp(30px, 6vw, 78px);
}

.steins-blog-page .sb-hero h1 {
  max-width: 610px;
  font-size: clamp(32px, 3.8vw, 54px);
  letter-spacing: -0.04em;
}

.steins-blog-page .sb-hero__summary {
  margin-top: 22px;
  max-width: 510px;
  font-size: 15px;
  line-height: 1.6;
}

.steins-blog-page .sb-hero__index {
  margin-bottom: 4px;
}

.steins-blog-page .sb-rule {
  height: 12px;
  margin-top: 12px;
}

.steins-blog-page .sb-listing {
  padding-top: 12px;
  padding-bottom: 36px;
}

/* The section title now shares the same left edge and reading direction as the post grid. */
.steins-blog-page .sb-listing__head {
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  padding-bottom: 14px;
}
.steins-blog-page .sb-listing__head > p { padding-top: 0; }
.steins-blog-page .sb-listing__head h2 {
  max-width: 560px;
  font-size: clamp(25px, 3vw, 38px);
  letter-spacing: -0.035em;
  text-align: left;
}

.steins-blog-page .sb-listing__content {
  margin-top: 12px;
}

.steins-blog-page .sb-listing__content .ablog-listing {
  padding: 0 !important;
}

.steins-blog-page .sb-closing h2 {
  max-width: 430px;
  font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: -0.03em;
}

@media (max-width: 760px) {
  .steins-blog-page .sb-hero {
    padding-top: 78px;
  }

  .steins-blog-page .sb-hero h1 {
    font-size: clamp(29px, 8.2vw, 39px);
  }

  .steins-blog-page .sb-hero__summary {
    font-size: 14px;
  }

  .steins-blog-page .sb-rule {
    height: 10px;
    margin-top: 10px;
  }

  .steins-blog-page .sb-listing {
    padding-top: 10px;
    padding-bottom: 28px;
  }
}
