.editorial { max-width: 800px; padding: 40px 24px 64px; margin: auto; }
.editorial h1 { font-size: clamp(2rem, 4.8vw, 3.2rem); line-height: 1.13; letter-spacing: -.035em; color: #0a1f5c; margin: 0 0 20px; }
.editorial .article-lead { font-size: 1.15rem; color: #46526e; line-height: 1.7; }
.editorial h2 { font-size: 1.45rem; line-height: 1.35; margin: 36px 0 14px; letter-spacing: -.02em; }
.editorial h3 { margin-top: 24px; font-size: 1.08rem; }
.editorial p, .editorial li { font-size: 1rem; line-height: 1.8; color: #46526e; }
.editorial p { margin: 0 0 18px; }
.editorial ul, .editorial ol { padding-left: 24px; margin-bottom: 22px; }
.editorial li { padding-left: 3px; margin-bottom: 8px; }
.editorial a { color: #14307f; text-underline-offset: 3px; }
.article-meta { font-size: .8rem; color: #65708b; margin-bottom: 25px; }
.article-callout { padding: 20px 22px; background: #fbf3dc; border: 1px solid #e3b341; border-radius: 12px; margin: 24px 0; }
.article-callout p:last-child { margin-bottom: 0; }
.article-formula { font-size: .96rem; background: #0a1f5c; color: #fff; padding: 18px 20px; border-radius: 10px; margin: 20px 0; font-variant-numeric: tabular-nums; }
.article-table-wrap { overflow-x: auto; margin: 20px 0 24px; }
.article-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.article-table th, .article-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid #dedacf; }
.article-table thead { background: #eeebe3; }
.article-table td:not(:first-child) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.article-table caption { text-align: left; font-size: .82rem; color: #64708c; margin-bottom: 8px; }
.article-toc { padding: 18px 22px; background: #eeebe3; border-radius: 10px; margin: 24px 0; }
.article-toc strong { font-size: .85rem; }
.article-toc ol { margin: 8px 0 0; }
.article-toc a { font-size: .88rem; }
.editorial .article-note { font-size: .82rem; color: #64708c; }
.article-sources { border-top: 1px solid #dedacf; margin-top: 40px; padding-top: 20px; }
.article-sources h2 { font-size: 1.05rem; margin-top: 0; }
.article-sources li { font-size: .85rem; }
.article-related { border-top: 1px solid #dedacf; margin-top: 30px; padding-top: 20px; }
.article-related h2 { margin: 0 0 12px; font-size: 1.05rem; }
.contact-link { overflow-wrap: anywhere; }
.blog-index { max-width: 1120px; margin: auto; padding: 40px 24px 64px; }
.blog-index h1 { font-size: clamp(2.4rem, 5vw, 3.5rem); letter-spacing: -.035em; margin: 0 0 16px; }
.blog-intro { max-width: 640px; color: #46526e; font-size: 1.08rem; margin-bottom: 30px; }
.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.blog-card { display: flex; flex-direction: column; gap: 14px; padding: 26px; background: #fff; border: 1px solid #dedacf; border-radius: 14px; text-decoration: none; color: #0c1a3a; }
.blog-card:hover { border-color: #b38b2c; box-shadow: 0 8px 24px rgba(10,31,92,.06); }
.blog-card h2 { font-size: 1.3rem; line-height: 1.35; letter-spacing: -.02em; margin: 0; }
.blog-card p { margin: 0; font-size: .9rem; color: #56617a; }
.blog-card .blog-category { color: #8a6212; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.blog-card .blog-cta { font-size: .82rem; font-weight: 700; margin-top: auto; padding-top: 8px; }
@media(max-width:680px) { .blog-grid { grid-template-columns: 1fr; } .editorial { padding: 28px 20px 48px; } .article-table th, .article-table td { padding: 10px; font-size: .82rem; } }
