:root {
  color: #101828;
  background: #f5f7fb;
  font-family: Inter, "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
a { color: #3157d5; text-underline-offset: 3px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 20; padding: 10px 14px; color: #fff; background: #101828; border-radius: 9px; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.blog-wrap { width: min(1140px, calc(100% - 32px)); margin: 0 auto; }
.blog-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; }
.blog-brand { display: inline-flex; align-items: center; gap: 10px; color: #101828; font-size: 1.08rem; font-weight: 900; text-decoration: none; }
.blog-brand img { width: 38px; height: 38px; }
.blog-links { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.blog-links a { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 12px; color: #536174; border-radius: 9px; font-size: .9rem; font-weight: 750; text-decoration: none; }
.blog-links a:hover, .blog-links a[aria-current="page"] { color: #2447b5; background: #e9efff; }
.blog-links .blog-cta { color: #fff; background: #3157d5; }
.blog-links .blog-cta:hover { color: #fff; background: #2447b5; }
.blog-hero { padding: clamp(42px, 8vw, 88px) clamp(22px, 6vw, 70px); background: linear-gradient(128deg, #111d3a 0%, #253b77 56%, #4567cb 100%); border-radius: 26px; color: #fff; box-shadow: 0 24px 60px rgba(31, 53, 111, .2); }
.blog-eyebrow { margin: 0 0 16px; color: #b8c9ff; font-size: .78rem; font-weight: 850; letter-spacing: .16em; }
.blog-hero h1 { max-width: 760px; margin: 0; font-size: clamp(2.1rem, 5vw, 4rem); line-height: 1.2; letter-spacing: -.045em; text-wrap: balance; }
.blog-hero p { max-width: 720px; margin: 20px 0 0; color: #d7e0ff; font-size: 1.05rem; line-height: 1.85; }
.blog-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.blog-hero-actions a { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 16px; color: #162344; background: #fff; border-radius: 10px; font-weight: 800; text-decoration: none; }
.blog-hero-actions a.secondary { color: #e2e9ff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); }
.blog-section { margin-top: 62px; }
.blog-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.blog-section-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.035em; }
.blog-section-heading p { max-width: 510px; margin: 0; color: #667085; line-height: 1.75; }
.article-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.article-card { display: flex; flex-direction: column; min-height: 300px; padding: 25px; color: inherit; background: #fff; border: 1px solid #dce3ee; border-radius: 18px; box-shadow: 0 12px 32px rgba(16, 24, 40, .04); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.article-card:hover { border-color: #aebfee; box-shadow: 0 18px 42px rgba(16, 24, 40, .1); transform: translateY(-2px); }
.article-card .tag { color: #3157d5; font-size: .76rem; font-weight: 850; letter-spacing: .1em; }
.article-card h3 { margin: 15px 0 10px; color: #101828; font-size: 1.35rem; line-height: 1.42; letter-spacing: -.025em; }
.article-card p { margin: 0; color: #59677a; line-height: 1.8; }
.article-card .meta { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 24px; color: #8591a2; font-size: .8rem; }
.article-card .read { margin-left: auto; color: #3157d5; font-weight: 800; }
.topic-row { display: flex; flex-wrap: wrap; gap: 9px; }
.topic-row a { display: inline-flex; align-items: center; min-height: 40px; padding: 7px 13px; color: #445166; background: #fff; border: 1px solid #d8e0ec; border-radius: 999px; font-size: .88rem; font-weight: 700; text-decoration: none; }
.topic-row a:hover { color: #2447b5; border-color: #aebfee; background: #edf2ff; }
.editorial-note { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); gap: 32px; align-items: start; padding: 30px; background: #fff; border: 1px solid #dce3ee; border-radius: 18px; }
.editorial-note h2 { margin: 0 0 12px; font-size: 1.4rem; }
.editorial-note p { margin: 0; color: #59677a; line-height: 1.8; }
.editorial-list { margin: 0; padding-left: 20px; color: #59677a; line-height: 1.9; }
.blog-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px; margin-top: 76px; padding: 28px 0 48px; color: #7a879a; border-top: 1px solid #dce3ee; font-size: .86rem; }
.blog-footer a { color: inherit; text-decoration: none; }
.article-shell { width: min(850px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 70px; }
.article-header { padding: 34px 0 30px; border-bottom: 1px solid #dce3ee; }
.article-header .tag { margin: 0 0 14px; color: #3157d5; font-size: .78rem; font-weight: 850; letter-spacing: .14em; }
.article-header h1 { max-width: 790px; margin: 0; color: #101828; font-size: clamp(2.15rem, 5vw, 3.65rem); line-height: 1.22; letter-spacing: -.05em; text-wrap: balance; }
.article-header .lead { max-width: 750px; margin: 20px 0 0; color: #526071; font-size: 1.1rem; line-height: 1.9; }
.article-meta { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 20px; color: #7a879a; font-size: .84rem; }
.article-content { padding-top: 32px; }
.article-content h2 { margin: 42px 0 14px; color: #101828; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.35; letter-spacing: -.035em; }
.article-content h3 { margin: 25px 0 9px; color: #253247; font-size: 1.16rem; line-height: 1.5; }
.article-content p, .article-content li { color: #4e5d70; line-height: 1.95; }
.article-content p { margin: 15px 0; }
.article-content ul, .article-content ol { padding-left: 24px; }
.article-content li { margin: 8px 0; padding-left: 4px; }
.article-content strong { color: #253247; }
.article-callout { margin: 26px 0; padding: 20px 22px; background: #edf3ff; border-left: 4px solid #5274dc; border-radius: 0 12px 12px 0; }
.article-callout p { margin: 0; color: #344866; }
.article-table-wrap { overflow-x: auto; margin: 22px 0; border: 1px solid #dce3ee; border-radius: 12px; }
.article-table { width: 100%; min-width: 570px; border-collapse: collapse; background: #fff; }
.article-table th, .article-table td { padding: 13px 15px; color: #4e5d70; border-bottom: 1px solid #e4e9f0; text-align: left; vertical-align: top; line-height: 1.7; }
.article-table th { color: #253247; background: #f5f7fb; font-size: .9rem; }
.article-table tr:last-child td { border-bottom: 0; }
.article-faq { margin-top: 45px; padding-top: 24px; border-top: 1px solid #dce3ee; }
.article-faq h2 { margin-top: 0; }
.article-faq details { margin: 10px 0; padding: 0 17px; background: #fff; border: 1px solid #dce3ee; border-radius: 12px; }
.article-faq summary { padding: 16px 0; color: #253247; cursor: pointer; font-weight: 800; line-height: 1.65; }
.article-faq details p { margin: 0 0 16px; font-size: .95rem; }
.article-cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 48px; padding: 22px 24px; background: #101828; border-radius: 15px; }
.article-cta p { margin: 0; color: #dbe4ff; line-height: 1.7; }
.article-cta a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 15px; color: #162344; background: #fff; border-radius: 9px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; color: #7a879a; font-size: .83rem; }
.breadcrumbs a { color: #5b6b85; }
@media (max-width: 700px) {
  .blog-nav { align-items: flex-start; flex-direction: column; padding-block: 16px; }
  .blog-links { width: 100%; justify-content: flex-start; }
  .blog-links a { padding-inline: 9px; font-size: .84rem; }
  .blog-hero { border-radius: 19px; }
  .article-grid, .editorial-note { grid-template-columns: 1fr; }
  .article-card { min-height: 260px; }
  .blog-section-heading { align-items: flex-start; flex-direction: column; }
  .article-shell { padding-top: 12px; }
  .article-header { padding-top: 26px; }
  .article-cta { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .article-card { transition: none; } }
