.blog-hero, .blog-shell {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
}
.blog-hero {
  padding: clamp(58px, 7vw, 96px) clamp(20px, 5vw, 72px) 32px;
}
.blog-hero h1 {
  max-width: 980px;
}
.blog-hero p {
  max-width: 760px;
  font-size: clamp(17px, 1.6vw, 21px);
}
.blog-shell {
  padding: 0 clamp(20px, 5vw, 72px) 56px;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.blog-card, .blog-detail {
  border: 1px solid var(--line);
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.045));
  box-shadow: var(--shadow);
}
.blog-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 24px;
}
.blog-card small, .blog-detail small {
  color: var(--cream);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.blog-card h2 {
  margin: 14px 0;
  font-size: 28px;
  letter-spacing: -.05em;
}
.blog-card p { flex: 1; }
.blog-card a, .blog-back {
  color: var(--cream);
  font-weight: 900;
  text-decoration: none;
}
.blog-detail {
  padding: clamp(24px, 5vw, 56px);
}
.blog-detail h1 {
  margin: 18px 0;
  font-size: clamp(42px, 5vw, 76px);
}
.blog-body {
  max-width: 860px;
  color: #ddd;
  font-size: 18px;
  line-height: 1.8;
  white-space: pre-line;
}
@media (max-width: 920px) {
  .blog-grid { grid-template-columns: 1fr; }
}
