.blog-page { max-width: 1200px; margin: 0 auto; padding: 128px clamp(16px,4vw,48px) 64px; color: #0e2433; }
.blog-page *, .blog-page *::before, .blog-page *::after { box-sizing: border-box; }
.blog-page h1, .blog-page h2, .blog-page h3 { font-family: 'Bricolage Grotesque',sans-serif; line-height: 1.2; overflow-wrap: anywhere; }
.blog-page h1 { font-size: clamp(30px,4vw,48px); margin: 12px 0 18px; }
.blog-page h2 { font-size: clamp(22px,3vw,30px); margin: 0 0 18px; }
.blog-page h3 { font-size: 19px; margin: 0 0 12px; }
.blog-page p, .blog-page li { line-height: 1.65; }
.blog-page a { color: #542192; text-underline-offset: 3px; }
.blog-page a:focus-visible, .blog-table-wrap:focus-visible { outline: 3px solid #542192; outline-offset: 3px; }
.blog-crumbs { display: flex; gap: 10px; flex-wrap: wrap; font-size: 14px; color: #4d6475; }
.blog-lead { max-width: 76ch; color: #35505f; font-size: 18px; margin-bottom: 24px; }
.blog-meta { display: flex; gap: 10px 22px; flex-wrap: wrap; color: #4d6475; font-size: 14px; margin-bottom: 24px; }
.blog-section { background: #fff; border: 1px solid #dce3eb; padding: clamp(20px,3vw,32px); border-radius: 24px; margin: 24px 0; }
.blog-notice { padding: 20px 24px; border-radius: 18px; border: 1px solid #ead6a8; background: #fff7e7; color: #634710; margin-bottom: 24px; }
.blog-notice ul { margin: 12px 0 0; padding-left: 20px; }
.blog-notice summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-weight: 700; }
.blog-notice summary:focus-visible { outline: 3px solid #542192; outline-offset: 3px; }
.blog-products { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)); gap: 18px; margin: 24px 0; }
.blog-product { display: flex; flex-direction: column; gap: 12px; min-width: 0; background: #fff; border: 1px solid #dce3eb; padding: 20px; border-radius: 22px; }
.blog-product-image { width: 100%; height: 190px; display: grid; place-items: center; overflow: hidden; padding: 14px; border-radius: 16px; background: #f4f1fa; flex-shrink: 0; }
.blog-product-image img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.blog-product h2 { font-size: 20px; margin: 0; }
.blog-product p { margin: 0; }
.blog-price { font: 800 21px 'Bricolage Grotesque',sans-serif; }
.blog-button, .comparison-guide { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 99px; background: #542192; color: #fff !important; font: 700 14px 'Instrument Sans',sans-serif; text-decoration: none; text-align: center; }
.blog-product .blog-button { margin-top: auto; }
.comparison-guide { margin: 14px 0; }
.comparison-guide-host { max-width: 1328px; margin: 0 auto; padding: 0 clamp(16px,4vw,56px); }
.blog-table-wrap { overflow: auto; border: 1px solid #dce3eb; border-radius: 16px; }
.blog-table { width: 100%; min-width: calc(180px + var(--columns,2) * 220px); border-collapse: collapse; table-layout: fixed; }
.blog-table th, .blog-table td { text-align: left; vertical-align: top; padding: 16px; border-bottom: 1px solid #dce3eb; line-height: 1.5; overflow-wrap: anywhere; }
.blog-table th { width: 180px; background: #f8fafc; }
.blog-table thead th, .blog-table thead td { background: #f0ebf8; font-weight: 700; }
.blog-table thead th:not(:first-child) { width: auto; }
.blog-table tr:last-child>* { border-bottom: 0; }
.blog-scroll-hint { font-size: 14px; color: #4d6475; margin-bottom: 12px; }
.blog-differences { display: grid; gap: 20px; }
.blog-difference { padding-left: 18px; border-left: 3px solid #542192; }
.blog-difference p { margin: 0; }
.blog-guidance { padding-left: 22px; }
.blog-guidance li+li { margin-top: 12px; }
.blog-source-list { padding-left: 22px; }
.blog-source-list li+li { margin-top: 16px; }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(300px,100%),1fr)); gap: 20px; margin-top: 28px; }
.blog-card { background: #fff; border: 1px solid #dce3eb; border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.blog-card h2 { font-size: 23px; margin: 0; }
.blog-card p { color: #4d6475; margin: 0; }
.blog-card .blog-button { margin-top: auto; align-self: flex-start; }
.blog-tag { align-self: flex-start; color: #542192; background: #f0ebf8; border-radius: 99px; padding: 5px 12px; font-weight: 700; font-size: 13px; }
.blog-pagination, .blog-filters { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0; align-items: center; }
.blog-empty { text-align: center; padding: 48px 20px; }
.blog-related { margin-top: 32px; }
.blog-related li { margin-bottom: 10px; }
.blog-inline-guides { max-width: 1328px; margin: 0 auto 32px; padding: 0 clamp(16px,4vw,56px); }
.blog-inline-guides ul { display: flex; gap: 12px 24px; flex-wrap: wrap; list-style: none; padding: 0; }
@media (max-width: 768px) {
  .blog-page { padding-top: 104px; }
  .blog-products { grid-template-columns: 1fr; }
  .blog-meta { flex-direction: column; gap: 8px; }
  .blog-table { min-width: calc(140px + var(--columns,2) * 200px); }
  .blog-table th { width: 140px; }
}
.blog-body { --hero-c2: #542192; }
.blog-body .hdr:not(.scrolled) .hbar { color: #0e2433; background: rgb(255 255 255 / .95); border-color: #dce3eb; box-shadow: 0 12px 32px -16px rgb(14 36 51 / .12); }
.blog-body .hdr:not(.scrolled) .hcta { color: #fff; background: #0e2433; }
.blog-body .hdr:not(.scrolled) .hcta i { color: #0e2433; background: #fff; }

.blog-rich-content { overflow-wrap: anywhere; }
.blog-rich-content h2, .blog-rich-content h3, .blog-rich-content h4 { margin: 28px 0 14px; }
.blog-rich-content > :first-child { margin-top: 0; }
.blog-rich-content img, .blog-cover img { display: block; max-width: 100%; height: auto; }
.blog-rich-content figure { margin: 24px 0; }
.blog-rich-content figcaption { color: #4d6475; font-size: 14px; padding-top: 8px; }
.blog-rich-content .image { text-align: center; }
.blog-rich-content .image img { margin: auto; }
.blog-rich-content .image-style-side { max-width: 50%; float: right; margin-left: 24px; }
.blog-rich-content::after { content: ''; display: block; clear: both; }
.blog-rich-content figure.table { overflow-x: auto; }
.blog-rich-content table { width: 100%; border-collapse: collapse; }
.blog-rich-content td, .blog-rich-content th { padding: 12px; border: 1px solid #dce3eb; text-align: left; }
.blog-rich-content blockquote { margin: 24px 0; padding: 12px 24px; border-left: 4px solid #542192; background: #f5f1fa; }
.blog-rich-content pre { overflow-x: auto; padding: 18px; background: #f4f7fa; border-radius: 12px; }
.blog-cover { margin: 24px 0; border-radius: 24px; overflow: hidden; }
.blog-cover img { width: 100%; max-height: 540px; object-fit: cover; }
@media (max-width: 680px) { .blog-rich-content .image-style-side { float: none; max-width: 100%; margin-left: 0; } }

.blog-body { font-family: 'Instrument Sans', system-ui, sans-serif; background: #f4f7fa; color: #0e2433; }
.blog-faq-item{border-top:1px solid #dce3eb}
.blog-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:16px 0;font-weight:700;cursor:pointer;list-style:none;overflow-wrap:anywhere}
.blog-faq-item summary::-webkit-details-marker{display:none}
.blog-faq-item summary:focus-visible{outline:3px solid #542192;outline-offset:3px;border-radius:8px}
.blog-faq-item summary svg{flex-shrink:0;transition:transform .2s ease;color:#542192}
.blog-faq-item[open] summary svg{transform:rotate(180deg)}
.blog-faq-answer{padding:0 0 18px}.blog-faq-answer p+p{margin-top:12px}
.blog-faq-more{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-weight:600}
.blog-faqs,.blog-author,#blog-conclusion{scroll-margin-top:110px}
.blog-author-layout{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:start}
.blog-author-photo{margin:0}.blog-author-photo img{width:88px;height:88px;object-fit:cover;border-radius:20px}
.blog-author-photo figcaption{font-size:13px;color:#4d6475;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}
.blog-author-monogram{display:grid;place-items:center;width:88px;height:88px;border-radius:20px;background:#f0ebf8;color:#542192;font:700 27px 'Bricolage Grotesque',sans-serif}
.blog-author-info{min-width:0;overflow-wrap:anywhere}.blog-author-info h3{margin-bottom:6px}.blog-author-info p{margin:0 0 12px}.blog-author-role{color:#4d6475;font-size:15px}
.blog-author-info>a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
@media(max-width:480px){.blog-author-layout{grid-template-columns:1fr;gap:16px}}
@media(prefers-reduced-motion:reduce){.blog-faq-item summary svg{transition:none}}
