.blog-intro { padding:140px 0 48px; background:#f4f5f7; }
.blog-intro .breadcrumb,.article-header .breadcrumb { margin-bottom:35px; font-size:13px; }
.blog-intro-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:70px; align-items:end; }
.blog-intro h1 { font-size:56px; max-width:730px; margin:18px 0 0; }
.blog-intro h1 span { display:block; font-size:32px; margin-top:15px; line-height:1.25; font-weight:400; }
.blog-intro-grid>p { color:var(--slate); font-size:17px; margin:0 0 3px; max-width:410px; }
.blog-featured { display:grid; grid-template-columns:1.25fr 1fr; gap:48px; padding-top:48px; padding-bottom:64px; align-items:center; }
.blog-featured .featured-cover { display:block; overflow:hidden; border-radius:6px; }
.blog-featured .featured-cover>img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .4s; }
.blog-featured .featured-cover:hover>img { transform:scale(1.025); }
.blog-featured h2 { font-size:36px; margin:16px 0; }
.blog-featured p,.blog-card>p { color:var(--slate); }
.blog-featured .button { margin-top:14px; }
.blog-card-meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:12px; color:#5c606b; margin:18px 0 12px; }
.blog-card-meta>:first-child { color:#193dc1; font-weight:600; }
.blog-library { padding-top:62px; background:#f4f5f7; border-top:1px solid var(--line); }
.blog-library-heading { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:30px; }
.blog-library-heading h2 { font-size:32px; max-width:560px; margin:0; }
.blog-search { display:grid; gap:6px; font-size:12px; width:280px; max-width:100%; }
.blog-search input { min-width:0; width:100%; padding:12px 14px; background:#fff; color:var(--ink); border:1px solid #9ba1ad; border-radius:4px; }
.blog-filters { display:flex; gap:8px; flex-wrap:wrap; }
.blog-filters button { border:1px solid #c4c8d0; border-radius:4px; background:transparent; color:#333842; padding:9px 14px; cursor:pointer; font-size:13px; }
.blog-filters button[aria-pressed="true"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.blog-filters button:hover { border-color:var(--blue); }
#blog-status { font-size:12px; color:var(--slate); margin:18px 0 26px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:46px 30px; }
.blog-card { min-width:0; border:0; border-radius:0; background:transparent; }
.blog-card[hidden],#blog-empty[hidden] { display:none; }
.blog-card-cover { display:block; overflow:hidden; border-radius:5px; background:#e5e7eb; }
.blog-card-cover>img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .4s; }
.blog-card:hover .blog-card-cover>img { transform:scale(1.035); }
.blog-card h2 { font-size:23px; font-weight:500; line-height:1.3; margin:0 0 12px; text-wrap:pretty; }
.blog-card h2 a:hover { color:var(--blue); }
.blog-card>p { font-size:14px; margin:0 0 18px; }
.blog-read { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; border-bottom:1px solid #b9c2d8; padding-bottom:5px; }
.blog-bottom { background:#25282d; color:#fff; padding:70px 0; }
.blog-bottom>.container { display:flex; justify-content:space-between; align-items:center; gap:45px; }
.blog-bottom h2 { font-size:36px; max-width:650px; }
.blog-bottom p { color:#d4d8df; max-width:660px; }
.blog-bottom .eyebrow { color:var(--lime); }
.blog-bottom .button { flex-shrink:0; background:var(--lime); color:var(--ink); }
.blog-bottom .button:hover { background:#e5ffab; color:var(--ink); }
.blog-bottom .button::after { filter:none; }
.blog-related-heading { display:flex; justify-content:space-between; gap:25px; align-items:end; margin-bottom:38px; }
.blog-related-heading h2 { font-size:34px; margin:12px 0 0; }
.blog-related-heading>a:not(.button) { border-bottom:1px solid #7c879e; padding:6px 0; font-size:14px; flex-shrink:0; }
.blog-home { border-top:1px solid var(--line); background:#fff; }
.article-header { padding-top:128px; padding-bottom:32px; max-width:1050px; }
.article-header h1 { font-size:48px; line-height:1.15; max-width:920px; margin:18px 0; }
.article-deck { font-size:19px; color:var(--slate); max-width:760px; }
.article-byline { display:flex; gap:10px; flex-wrap:wrap; color:var(--slate); font-size:12px; margin:25px 0 0; }
.article-byline a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.article-cover { max-width:1050px; margin:0 auto 54px; }
.article-cover>img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:6px; }
.article-cover figcaption { color:var(--slate); font-size:11px; margin-top:8px; }
.article-layout { display:grid; grid-template-columns:230px minmax(0,740px); gap:70px; justify-content:center; padding-bottom:70px; }
.article-sidebar { align-self:start; position:sticky; top:115px; font-size:13px; }
.article-sidebar nav { border-top:2px solid var(--ink); padding-top:18px; }
.article-sidebar strong { font-size:14px; font-weight:600; }
.article-sidebar ol { list-style:none; padding:0; display:grid; gap:12px; }
.article-sidebar a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.sidebar-service { display:flex; gap:10px; align-items:center; border-top:1px solid var(--line); padding-top:20px; margin-top:25px; color:#193dc1; }
.sidebar-service img { flex-shrink:0; }
.article-content { min-width:0; font-size:16px; line-height:1.85; }
.article-content section { scroll-margin-top:115px; margin-top:42px; }
.article-content h2 { font-size:28px; line-height:1.3; font-weight:500; margin:0 0 20px; text-wrap:pretty; }
.article-content p { margin:0 0 20px; }
.article-content ul,.article-content ol { padding-left:24px; }
.article-content li { margin-bottom:10px; }
.article-lead { font-size:18px; }
.article-takeaway { border-left:3px solid var(--blue); padding:20px 24px; background:#f1f4fb; margin:32px 0 38px; }
.article-takeaway strong { display:block; font-size:13px; color:#193dc1; margin-bottom:8px; }
.article-takeaway p { margin:0; }
.article-table-wrap { overflow:auto; max-width:100%; margin:25px 0; border:1px solid var(--line); border-radius:4px; }
.article-content table { border-collapse:collapse; width:100%; font-size:14px; text-align:left; }
.article-content td,.article-content th { padding:15px 16px; border-bottom:1px solid var(--line); vertical-align:top; min-width:130px; }
.article-content th { background:#eef1f6; font-weight:600; }
.article-faq details { border-bottom:1px solid var(--line); padding:17px 0; }
.article-faq summary { cursor:pointer; font-weight:500; padding-right:18px; }
.article-faq details p { margin:16px 0 0; color:var(--slate); }
.article-sources { padding-top:25px; border-top:1px solid var(--line); }
.article-sources h2 { font-size:18px; }
.article-sources a,.article-service-link { text-decoration:underline; text-underline-offset:4px; color:#193dc1; }
.article-sources ul { font-size:13px; }
.article-cta { border-top:3px solid var(--blue); padding:28px 0 0; }
.article-cta h2 { margin-top:15px; font-size:30px; }
.article-cta .button { margin-top:4px; }
.article-service-link { display:block; font-size:13px; margin-top:18px; width:fit-content; }
.blog-related { background:#f4f5f7; }
.related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:850px; }
.blog-page a:focus-visible,.blog-page button:focus-visible,.blog-page input:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
@media(max-width:1000px) {
  .blog-intro-grid { gap:30px; grid-template-columns:1.3fr 1fr; }
  .blog-intro h1 { font-size:46px; }
  .blog-intro h1 span { font-size:27px; }
  .blog-featured { gap:30px; }
  .blog-featured h2 { font-size:29px; }
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-layout { gap:35px; grid-template-columns:190px minmax(0,1fr); }
  .blog-bottom>.container { align-items:start; flex-direction:column; gap:15px; }
}
@media(max-width:760px) {
  .blog-intro { padding:112px 0 32px; }
  .blog-intro-grid { grid-template-columns:1fr; gap:22px; }
  .blog-intro h1 { font-size:38px; }
  .blog-intro h1 span { font-size:27px; }
  .blog-intro-grid>p { font-size:15px; }
  .blog-featured { grid-template-columns:1fr; padding-top:28px; padding-bottom:42px; gap:22px; }
  .blog-featured h2 { font-size:28px; }
  .blog-library { padding-top:40px; }
  .blog-library-heading { align-items:start; flex-direction:column; gap:22px; }
  .blog-library-heading h2 { font-size:28px; }
  .blog-search { width:100%; }
  .blog-grid,.related-grid { grid-template-columns:1fr; gap:36px; }
  .blog-filters button { padding:8px 11px; font-size:12px; }
  .blog-related-heading { flex-direction:column; align-items:start; }
  .blog-related-heading h2,.blog-bottom h2 { font-size:29px; }
  .article-header { padding-top:110px; padding-bottom:24px; }
  .article-header .breadcrumb { margin-bottom:24px; }
  .article-header h1 { font-size:34px; line-height:1.17; overflow-wrap:break-word; }
  .article-deck { font-size:17px; }
  .article-cover { margin-bottom:32px; }
  .article-cover>img { aspect-ratio:3/2; }
  .article-layout { display:flex; flex-direction:column; gap:32px; }
  .article-sidebar { position:static; width:100%; }
  .article-sidebar ol { grid-template-columns:1fr; gap:9px; }
  .article-content { font-size:16px; }
  .article-content h2 { font-size:25px; }
  .article-lead { font-size:17px; }
  .article-takeaway { padding:18px; }
  .article-content td,.article-content th { padding:12px; min-width:100px; overflow-wrap:break-word; }
  .article-content table { table-layout:fixed; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .blog-card-cover>img,.blog-featured .featured-cover>img { transition:none; transform:none!important; } }
