.blog-container { max-width: 900px; }
.blog-header { margin-bottom: 2rem; }
.blog-header h1 { max-width: 22ch; line-height: 1.12; }
.blog-header .lead { max-width: 68ch; }
.blog-article { line-height: 1.75; font-size: 1.05rem; overflow-wrap: anywhere; }
.blog-article > section { margin: 2.8rem 0; scroll-margin-top: 7rem; }
.blog-article h2 { line-height: 1.25; margin-bottom: 1rem; }
.blog-article p, .blog-article li { max-width: 75ch; }
.blog-article li + li { margin-top: .65rem; }
.blog-article ul, .blog-article ol { padding-left: 1.5rem; }
.blog-article a:not(.button), .blog-index a:not(.button), .blog-related a { text-decoration: underline; text-underline-offset: .18em; }
.blog-toc { padding: 1.5rem; border: 1px solid #d6cbe7; background: #faf7ff; border-radius: 1rem; }
.blog-toc h2 { font-size: 1.15rem; }
.blog-link-list { padding-left: 1.3rem; }
.blog-link-list li { margin: .45rem 0; }
.blog-table-wrap { width: 100%; margin: 1.4rem 0; }
.blog-table-wrap table { width: 100%; border-collapse: collapse; table-layout: fixed; background: #fff; color: #242132; }
.blog-table-wrap th, .blog-table-wrap td { padding: .8rem; border: 1px solid #d6cbe7; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.blog-table-wrap thead { background: #eee6f8; }
.blog-table-wrap caption { text-align: left; margin-bottom: .65rem; font-size: .9rem; }
.blog-table-hint { display: none; }
.blog-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; list-style: none; padding: 0 !important; }
.blog-word-card { display: grid; place-items: center; min-height: 5rem; padding: .8rem; margin: 0 !important; border: 1px dashed #6b587d; background: #fff; color: #242132; font-size: 1.2rem; font-weight: 700; }
.blog-product-path, .blog-related { margin-top: 2.5rem; }
.blog-disclaimer { margin-top: 2rem; font-size: .88rem; }
.blog-index-card h2 { font-size: 1.4rem; line-height: 1.3; }
.blog-index > nav { margin-top: 2rem; }
@media (max-width: 600px) {
  .blog-article { font-size: 1rem; }
  .blog-header h1 { font-size: 2rem; }
  .blog-table-wrap th, .blog-table-wrap td { padding: .45rem; font-size: .86rem; }
  .blog-table-wide { overflow-x: auto; }
  .blog-table-wide table { min-width: 640px; }
  .blog-table-hint { display: block; font-size: .86rem; }
  .blog-toc { padding: 1rem; }
  .blog-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-product-path .button { white-space: normal; text-align: center; }
}
@media print {
  body:has(.blog-print-sheet) > :not(main),
  body:has(.blog-print-sheet) main > :not(.section),
  body:has(.blog-print-sheet) .blog-article > :not(.blog-print-sheet) { display: none !important; }
  body:has(.blog-print-sheet), body:has(.blog-print-sheet) main, body:has(.blog-print-sheet) .section, body:has(.blog-print-sheet) .container { margin: 0 !important; padding: 0 !important; max-width: none !important; background: white !important; }
  .blog-print-sheet { margin: 0 !important; color: black; }
  .blog-print-sheet h2 { font-size: 16pt; margin: 0 0 4mm; }
  .blog-print-sheet p { font-size: 10pt; margin: 0 0 4mm; }
  .blog-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2mm; margin: 0; }
  .blog-word-card { height: 22mm; min-height: 0; padding: 1mm; font-size: 14pt; break-inside: avoid; border: 1px dashed black; }
}
