
.blog-page {
  --blog-blue: #104a9a;
  --blog-blue-dark: #0b376f;
  --blog-green: #058900;
  --blog-ink: #18324a;
  --blog-muted: #5b6f82;
  --blog-line: #dce5ef;
  --blog-soft-blue: #eef6ff;
  --blog-soft-green: #f0faee;
  --blog-radius: 1.35rem;
  color: var(--blog-ink);
}
.blog-page main { overflow: clip; }
.blog-page .blog-icon { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.blog-page .blog-hero { padding: clamp(2.8rem, 6vw, 5.5rem) 0 clamp(3.2rem, 7vw, 6rem); background: linear-gradient(135deg,#f7fbff 0%,#fff 50%,#f1faef 100%); }
.blog-page .blog-hero__grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr); gap:clamp(2rem,6vw,5rem); align-items:center; }
.blog-page .blog-hero__copy { min-width:0; }
.blog-page .blog-hero h1 { max-width: 19ch; margin: 0 0 1.1rem; font-size:clamp(2.45rem,5.2vw,4.8rem); line-height:.98; letter-spacing:-.045em; text-wrap:balance; }
.blog-page .blog-hero .lead { max-width:60ch; margin:0 0 1.55rem; color:var(--blog-muted); font-size:clamp(1.05rem,1.5vw,1.25rem); }
.blog-page .blog-hero__visual { position:relative; border:1px solid rgba(16,74,154,.12); border-radius:2rem; padding:.7rem; background:rgba(255,255,255,.7); box-shadow:0 26px 70px rgba(25,60,99,.13); }
.blog-page .blog-hero__visual img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:1.55rem; }
.blog-page .blog-proof { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.5rem; }
.blog-page .blog-proof span { display:inline-flex; align-items:center; gap:.45rem; border:1px solid var(--blog-line); border-radius:999px; padding:.55rem .8rem; color:var(--blog-blue-dark); background:#fff; font-size:.88rem; font-weight:800; }
.blog-page .blog-proof .blog-icon { width:1.05rem; height:1.05rem; color:var(--blog-green); }
.blog-page .blog-section-premium { padding:clamp(3.8rem,7vw,6.5rem) 0; }
.blog-page .blog-section-premium--soft { background:#f7f9fc; }
.blog-page .blog-section-premium--green { background:linear-gradient(135deg,#f0faee,#f8fbff); }
.blog-page .blog-heading { max-width:760px; margin-bottom:clamp(1.7rem,4vw,3rem); }
.blog-page .blog-heading--center { margin-inline:auto; text-align:center; }
.blog-page .blog-heading h2 { margin:.35rem 0 .8rem; font-size:clamp(2rem,3.7vw,3.25rem); line-height:1.05; letter-spacing:-.035em; text-wrap:balance; }
.blog-page .blog-heading p:last-child { margin:0; color:var(--blog-muted); font-size:1.08rem; }
.blog-page .blog-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.blog-page .blog-category-card { position:relative; display:flex; flex-direction:column; min-height:310px; overflow:hidden; border:1px solid var(--blog-line); border-radius:var(--blog-radius); padding:1.7rem; background:#fff; box-shadow:0 14px 36px rgba(24,50,74,.07); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.blog-page .blog-category-card:hover { transform:translateY(-4px); border-color:rgba(16,74,154,.28); box-shadow:0 22px 46px rgba(24,50,74,.12); }
.blog-page .blog-category-card__icon { display:grid; place-items:center; width:3.25rem; height:3.25rem; margin-bottom:1.35rem; border-radius:1rem; color:var(--blog-blue); background:var(--blog-soft-blue); }
.blog-page .blog-category-card:nth-child(2) .blog-category-card__icon { color:var(--blog-green); background:var(--blog-soft-green); }
.blog-page .blog-category-card:nth-child(3) .blog-category-card__icon { color:#3c6e71; background:#eef7f5; }
.blog-page .blog-category-card h3 { margin:0 0 .75rem; font-size:1.45rem; line-height:1.12; }
.blog-page .blog-category-card p { margin:0; color:var(--blog-muted); }
.blog-page .blog-category-card a { display:inline-flex; align-items:center; gap:.45rem; margin-top:auto; padding-top:1.4rem; color:var(--blog-blue); font-weight:900; text-decoration:none; }
.blog-page .blog-category-card a::after { content:'→'; transition:transform .2s ease; }
.blog-page .blog-category-card:hover a::after { transform:translateX(4px); }
.blog-page .blog-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.35rem; }
.blog-page .blog-article-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--blog-line); border-radius:var(--blog-radius); background:#fff; box-shadow:0 14px 34px rgba(24,50,74,.07); }
.blog-page .blog-article-card__media { display:block; overflow:hidden; aspect-ratio:16/10; background:var(--blog-soft-blue); }
.blog-page .blog-article-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.blog-page .blog-article-card:hover .blog-article-card__media img { transform:scale(1.025); }
.blog-page .blog-article-card__body { display:flex; flex-direction:column; flex:1; padding:1.45rem; }
.blog-page .blog-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .7rem; margin-bottom:.8rem; color:#6b7d8e; font-size:.83rem; font-weight:800; }
.blog-page .blog-meta span+span::before,.blog-page .blog-meta time+span::before { content:'•'; margin-right:.7rem; color:#a7b4c1; }
.blog-page .blog-kicker { color:var(--blog-green); font-weight:900; }
.blog-page .blog-article-card h3 { margin:0 0 .7rem; font-size:1.35rem; line-height:1.18; text-wrap:balance; }
.blog-page .blog-article-card h3 a { color:var(--blog-ink); text-decoration:none; }
.blog-page .blog-article-card p { margin:0 0 1.25rem; color:var(--blog-muted); }
.blog-page .blog-article-card__link { display:inline-flex; align-items:center; gap:.45rem; margin-top:auto; color:var(--blog-blue); font-weight:900; text-decoration:none; }
.blog-page .blog-article-card__link::after { content:'→'; }
.blog-page .blog-quality-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.blog-page .blog-quality-item { border:1px solid rgba(16,74,154,.12); border-radius:1.15rem; padding:1.35rem; background:rgba(255,255,255,.78); }
.blog-page .blog-quality-item .blog-icon { color:var(--blog-green); }
.blog-page .blog-quality-item h3 { margin:.75rem 0 .4rem; font-size:1.12rem; }
.blog-page .blog-quality-item p { margin:0; color:var(--blog-muted); font-size:.95rem; }
.blog-page .blog-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; border-radius:1.75rem; padding:clamp(1.7rem,4vw,3rem); color:#fff; background:linear-gradient(135deg,var(--blog-blue-dark),var(--blog-blue)); box-shadow:0 24px 55px rgba(16,74,154,.2); }
.blog-page .blog-cta h2 { margin:0 0 .55rem; color:#fff; font-size:clamp(1.75rem,3vw,2.65rem); }
.blog-page .blog-cta p { margin:0; color:rgba(255,255,255,.83); }
.blog-page .blog-cta .button--secondary { border-color:#fff; color:#fff; background:transparent; }
.blog-page .blog-cta .button--secondary:hover { color:var(--blog-blue-dark); background:#fff; }
.blog-page .blog-category-hero { padding:clamp(2.7rem,6vw,5.2rem) 0; background:linear-gradient(135deg,#f7fbff,#fff 56%,#f0faee); }
.blog-page .blog-category-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); gap:clamp(2rem,5vw,4rem); align-items:center; }
.blog-page .blog-category-hero h1 { max-width:15ch; margin:.4rem 0 .85rem; font-size:clamp(2.4rem,5vw,4.4rem); line-height:1; letter-spacing:-.045em; text-wrap:balance; }
.blog-page .blog-category-hero .lead { max-width:56ch; color:var(--blog-muted); }
.blog-page .blog-category-hero img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:1.5rem; box-shadow:0 22px 55px rgba(24,50,74,.13); }
.blog-page .blog-featured { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr); gap:clamp(1.5rem,4vw,3.2rem); align-items:center; border:1px solid var(--blog-line); border-radius:1.6rem; padding:clamp(1rem,2vw,1.35rem); background:#fff; box-shadow:0 18px 45px rgba(24,50,74,.08); }
.blog-page .blog-featured img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:1.15rem; }
.blog-page .blog-featured__copy { padding:clamp(.5rem,2vw,1.3rem); }
.blog-page .blog-featured h2 { margin:.4rem 0 .75rem; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.08; text-wrap:balance; }
.blog-page .blog-featured p { color:var(--blog-muted); }
.blog-page .blog-inline-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.blog-page .blog-inline-link { display:flex; gap:1rem; align-items:flex-start; border:1px solid var(--blog-line); border-radius:1.05rem; padding:1.2rem; color:var(--blog-ink); background:#fff; text-decoration:none; }
.blog-page .blog-inline-link .blog-icon { flex:0 0 auto; color:var(--blog-green); }
.blog-page .blog-inline-link strong { display:block; margin-bottom:.25rem; }
.blog-page .blog-inline-link span { color:var(--blog-muted); font-size:.93rem; }
.blog-page .blog-article-hero { padding:clamp(2.4rem,5vw,4.7rem) 0 clamp(3rem,6vw,5.4rem); background:linear-gradient(135deg,#f7fbff,#fff 54%,#f0faee); }
.blog-page .blog-article-hero__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.blog-page .blog-article-hero h1 { margin:.45rem 0 .9rem; font-size:clamp(2.35rem,4.7vw,4.35rem); line-height:1; letter-spacing:-.045em; text-wrap:balance; }
.blog-page .blog-article-hero .lead { max-width:62ch; color:var(--blog-muted); font-size:1.12rem; }
.blog-page .blog-article-hero__image { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border:1px solid rgba(16,74,154,.1); border-radius:1.6rem; box-shadow:0 22px 55px rgba(24,50,74,.13); }
.blog-page .blog-article-meta { display:flex; flex-wrap:wrap; gap:.55rem 1rem; margin-top:1.25rem; color:#5f7285; font-size:.88rem; font-weight:800; }
.blog-page .blog-article-meta span { display:inline-flex; align-items:center; gap:.4rem; }
.blog-page .blog-article-meta .blog-icon { width:1rem; height:1rem; color:var(--blog-green); }
.blog-page .blog-article-layout { display:grid; grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr); gap:clamp(2rem,6vw,5.5rem); align-items:start; padding:clamp(3rem,6vw,5.5rem) 0; }
.blog-page .blog-toc { position:sticky; top:calc(var(--header-height) + 1.5rem); border:1px solid var(--blog-line); border-radius:1.2rem; padding:1.25rem; background:#f8fafc; }
.blog-page .blog-toc h2 { margin:0 0 .8rem; font-size:1.05rem; }
.blog-page .blog-toc ol { margin:0; padding-left:1.1rem; }
.blog-page .blog-toc li+li { margin-top:.55rem; }
.blog-page .blog-toc a { color:#496176; font-size:.91rem; text-decoration:none; }
.blog-page .blog-toc a:hover { color:var(--blog-blue); text-decoration:underline; text-underline-offset:3px; }
.blog-page .blog-article-content { min-width:0; }
.blog-page .blog-article-content > *:first-child { margin-top:0; }
.blog-page .blog-article-content section { scroll-margin-top:calc(var(--header-height) + 1.25rem); }
.blog-page .blog-article-content section+section { margin-top:clamp(2.4rem,5vw,4.2rem); }
.blog-page .blog-article-content h2 { margin:0 0 1rem; font-size:clamp(1.7rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em; text-wrap:balance; }
.blog-page .blog-article-content h3 { margin:1.55rem 0 .7rem; font-size:1.25rem; }
.blog-page .blog-article-content p,.blog-page .blog-article-content li { color:#40576c; font-size:1.04rem; line-height:1.78; }
.blog-page .blog-article-content ul,.blog-page .blog-article-content ol { padding-left:1.35rem; }
.blog-page .blog-article-content li+li { margin-top:.55rem; }
.blog-page .blog-summary { display:grid; grid-template-columns:auto 1fr; gap:1rem; border:1px solid rgba(5,137,0,.18); border-radius:1.2rem; padding:1.25rem; background:var(--blog-soft-green); }
.blog-page .blog-summary__icon { display:grid; place-items:center; width:3rem; height:3rem; border-radius:.9rem; color:var(--blog-green); background:#fff; }
.blog-page .blog-summary h2 { margin:0 0 .6rem; font-size:1.35rem; }
.blog-page .blog-summary ul { margin:0; }
.blog-page .blog-callout { border-left:4px solid var(--blog-green); border-radius:0 1rem 1rem 0; padding:1.15rem 1.25rem; background:#f7fafc; }
.blog-page .blog-callout h3 { margin:0 0 .4rem; font-size:1.08rem; }
.blog-page .blog-callout p { margin:0; }
.blog-page .blog-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin:1.25rem 0; }
.blog-page .blog-data-card { border:1px solid var(--blog-line); border-radius:1rem; padding:1.05rem; background:#fff; }
.blog-page .blog-data-card strong { display:block; margin-bottom:.35rem; color:var(--blog-blue-dark); }
.blog-page .blog-data-card p { margin:0; font-size:.96rem; line-height:1.55; }
.blog-page .blog-checklist { list-style:none; padding:0 !important; }
.blog-page .blog-checklist li { position:relative; padding-left:2rem; }
.blog-page .blog-checklist li::before { content:'✓'; position:absolute; left:0; top:.1rem; display:grid; place-items:center; width:1.35rem; height:1.35rem; border-radius:50%; color:#fff; background:var(--blog-green); font-size:.8rem; font-weight:900; }
.blog-page .blog-source-list { border-top:1px solid var(--blog-line); padding-top:1rem !important; }
.blog-page .blog-source-list a { color:var(--blog-blue); overflow-wrap:anywhere; }
.blog-page .blog-disclaimer { margin-top:2rem; border:1px solid var(--blog-line); border-radius:1rem; padding:1.1rem 1.2rem; color:#5d6e7e; background:#f8fafc; font-size:.93rem; }
.blog-page .blog-related { margin-top:clamp(3rem,6vw,5rem); padding-top:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--blog-line); }
.blog-page .blog-related h2 { margin-bottom:1.25rem; }
.blog-page .blog-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.blog-page .blog-related-card { display:grid; grid-template-columns:120px 1fr; gap:1rem; align-items:center; border:1px solid var(--blog-line); border-radius:1rem; padding:.75rem; color:var(--blog-ink); background:#fff; text-decoration:none; }
.blog-page .blog-related-card img { width:120px; height:75px; aspect-ratio:16/10; object-fit:cover; border-radius:.8rem; }
.blog-page .blog-related-card strong { display:block; line-height:1.25; }
.blog-page .blog-related-card span { display:block; margin-top:.35rem; color:var(--blog-muted); font-size:.85rem; }
.blog-page .breadcrumbs { margin-bottom:1.1rem; }
.blog-page .breadcrumbs ol { flex-wrap:wrap; }
.blog-page .eyebrow { color:var(--blog-green); }
@media (max-width: 980px) {
  .blog-page .blog-hero__grid,.blog-page .blog-category-hero__grid,.blog-page .blog-article-hero__grid { grid-template-columns:1fr; }
  .blog-page .blog-hero__copy,.blog-page .blog-category-hero__grid>div:first-child,.blog-page .blog-article-hero__grid>div:first-child { max-width:780px; }
  .blog-page .blog-hero__visual,.blog-page .blog-category-hero img,.blog-page .blog-article-hero__image { max-width:760px; }
  .blog-page .blog-category-grid,.blog-page .blog-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-page .blog-category-card:last-child { grid-column:1/-1; min-height:240px; }
  .blog-page .blog-quality-grid { grid-template-columns:1fr; }
  .blog-page .blog-featured { grid-template-columns:1fr; }
  .blog-page .blog-article-layout { grid-template-columns:1fr; }
  .blog-page .blog-toc { position:static; }
}
@media (max-width: 700px) {
  .blog-page .blog-hero,.blog-page .blog-category-hero,.blog-page .blog-article-hero { padding-top:2rem; }
  .blog-page .blog-hero h1,.blog-page .blog-category-hero h1,.blog-page .blog-article-hero h1 { max-width:none; }
  .blog-page .blog-category-grid,.blog-page .blog-article-grid,.blog-page .blog-inline-links,.blog-page .blog-related-grid,.blog-page .blog-data-grid { grid-template-columns:1fr; }
  .blog-page .blog-category-card:last-child { grid-column:auto; min-height:0; }
  .blog-page .blog-category-card { min-height:0; }
  .blog-page .blog-cta { grid-template-columns:1fr; }
  .blog-page .blog-cta .cluster { justify-content:flex-start; }
  .blog-page .blog-related-card { grid-template-columns:92px 1fr; }
  .blog-page .blog-related-card img { width:92px; height:58px; }
}
@media (max-width: 480px) {
  .blog-page .blog-hero__visual,.blog-page .blog-category-hero img,.blog-page .blog-article-hero__image { border-radius:1.15rem; }
  .blog-page .blog-summary { grid-template-columns:1fr; }
  .blog-page .blog-proof span { width:100%; }
  .blog-page .blog-article-card__body,.blog-page .blog-category-card { padding:1.2rem; }
  .blog-page .blog-meta span+span::before,.blog-page .blog-meta time+span::before { display:none; }
  .blog-page .blog-meta { gap:.35rem .8rem; }
}
