.blog-page { max-width: 1080px; padding: 20px 0 32px; }
.blog-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 156px;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  min-height: 96px;
}
.blog-intro h1, .blog-article h1 {
  margin: 0 0 10px;
  color: #12263d;
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.13;
}
.blog-intro h1 { margin-bottom: 6px; font-size: clamp(27px, 3vw, 37px); }
.blog-intro p { margin: 0; color: #43586c; font-size: 15px; }
.blog-intro img { display: block; width: 100%; height: auto; max-height: 96px; object-fit: contain; border-radius: 8px; }
.blog-route { padding: 0; }
.blog-route h2 { margin: 0 0 12px; color: #12263d; font-size: clamp(20px, 2.2vw, 25px); }
.blog-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.blog-step-number { display: flex; align-items: center; gap: 8px; color: #28639a; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.blog-step-number::after { content: ""; flex: 1; height: 1px; background: #c9d9e6; }
.blog-card { display: block; height: 100%; }
.blog-card:hover { text-decoration: none; }
.blog-card:hover h3, .blog-card:focus-visible h3 { text-decoration: underline; }
.blog-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; background: #eaf0f5; }
.blog-card h3 { margin: 9px 0 5px; color: #185789; font-size: 16px; line-height: 1.3; text-underline-offset: 3px; }
.blog-card p { margin: 0; color: #34485b; font-size: 14px; line-height: 1.45; }
header nav a[aria-current="page"] { color: #185789; text-decoration: underline; text-underline-offset: 5px; }
.blog-article { max-width: 1120px; padding: 24px 0 48px; color: #12263d; }
.blog-article h1 { font-size: clamp(28px, 4vw, 45px); }
.blog-article article { line-height: 1.65; }
.blog-article article h2 { margin: 28px 0 10px; font-size: clamp(19px, 2.5vw, 26px); line-height: 1.25; }
.blog-article article p { margin: 0 0 15px; }
.blog-article article ul { padding-left: 24px; }
.blog-article article li + li { margin-top: 8px; }
.blog-article a { color: #185789; text-decoration: underline; text-underline-offset: 3px; }
.blog-breadcrumb { display: flex; justify-content: flex-start; gap: 10px; font-size: 14px; margin: 0 0 16px; }
@media (min-width: 901px) { .blog-card h3 { min-height: 2.6em; } }
@media (max-width: 900px) { .blog-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .blog-intro { grid-template-columns: 1fr; min-height: auto; }
  .blog-intro img { display: none; }
  .blog-steps { grid-template-columns: minmax(0, 1fr); }
  .blog-card img { aspect-ratio: 16 / 9; }
}

.article-cover {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 32%);
  align-items: center;
  gap: 24px;
  padding: clamp(18px, 3vw, 36px);
  border: 1px solid #dce5ec;
  border-radius: 16px;
  background: #f0f5fa;
}
.article-cover img { display: block; width: 100%; height: auto; border-radius: 10px; }
.article-kicker { margin: 0 0 10px; font-size: 13px; color: #185789; font-weight: 700; }
.article-meta { margin: 14px 0 0; font-size: 14px; color: #43586c; }
.article-layout { display: grid; grid-template-columns: minmax(190px, 245px) minmax(0, 760px); gap: clamp(24px, 4vw, 54px); margin-top: 24px; }
.article-toc { align-self: start; position: sticky; top: 16px; }
.article-toc details { background: #f5f8fb; border: 1px solid #dce5ec; border-radius: 12px; padding: 14px 16px; }
.article-toc summary { cursor: pointer; font-weight: 700; }
.article-toc ol { margin: 10px 0 0; padding-left: 18px; font-size: 14px; }
.article-toc li + li { margin-top: 7px; }
.article-toc a { text-decoration: none; }
.article-toc a:hover { text-decoration: underline; }
.article-copy h2[id] { scroll-margin-top: 24px; }
.article-copy h2[id]:target { color: #185789; }
.article-lead { padding: 14px 18px; border-inline-start: 3px solid #28639a; border-radius: 0 8px 8px 0; background: #f5f8fb; }
.blog-article .article-lead p { margin: 0; }
.article-catalog { margin-top: 26px; padding: 16px 20px; border: 1px solid #dce5ec; border-radius: 12px; background: #f5f8fb; }
.blog-article .article-catalog h2 { margin-top: 0; }
.blog-article .article-catalog-link { display: inline-block; background: #185789; color: white; padding: 9px 14px; border-radius: 7px; text-decoration: none; }
.article-related { margin-top: 28px; padding: 14px 0 0; border-top: 1px solid #dce5ec; }
.article-related h2 { margin: 0 0 10px; font-size: 22px; }
.article-related ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 0; }
.article-related a { display: block; padding: 12px 14px; border: 1px solid #dce5ec; border-radius: 8px; }

@media (max-width: 760px) {
  .article-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 16px; }
  .article-toc { position: static; }
  .article-related ul { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
  .article-cover { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .article-cover img { aspect-ratio: 2 / 1; object-fit: cover; }
}
