/* Public blog and article layout */
.blog-main{min-height:70vh}
.blog-hero{position:relative;overflow:hidden;padding:68px 0 62px;background:radial-gradient(ellipse at 83% 12%,rgba(255,255,255,.9),transparent 32%),linear-gradient(130deg,#e8ebf1 0%,#f6f7fa 54%,#e3e6ed 100%)}
.blog-hero:after{position:absolute;right:-105px;bottom:-225px;width:430px;height:430px;border:1px solid rgba(23,46,114,.09);border-radius:50%;box-shadow:0 0 0 35px rgba(23,46,114,.025),0 0 0 78px rgba(23,46,114,.02);content:"";pointer-events:none}
.blog-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.blog-hero-inner>div{max-width:790px}
.blog-hero h1{max-width:800px;margin:16px 0 14px;color:var(--ink);font-size:clamp(42px,6vw,69px);font-weight:760;letter-spacing:-.065em;line-height:1.02}
.blog-hero p{max-width:710px;margin:0;color:#626f83;font-size:17px;line-height:1.8}
.blog-hero-stats{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:23px;color:#637089;font-size:12px;font-weight:650}
.blog-hero-stats span{display:inline-flex;align-items:center;gap:7px}
.blog-hero-stats span:before{width:6px;height:6px;border-radius:50%;background:#7888b5;content:""}
.blog-hero-stats strong{color:var(--ink)}
.blog-hero-link{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;padding:13px 17px;border:1px solid rgba(23,46,114,.15);border-radius:999px;background:rgba(255,255,255,.72);color:var(--ink);font-size:12px;font-weight:750;box-shadow:0 8px 24px rgba(23,46,114,.07);transition:transform .2s,box-shadow .2s}
.blog-hero-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,46,114,.12)}
.blog-hero-link span{font-size:16px}
.blog-archive-section{padding:48px 0 92px}
.blog-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:24px;color:#7a8495;font-size:12px}
.blog-breadcrumbs a{color:#475c91;font-weight:650}
.blog-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.blog-breadcrumbs span:last-child{color:#657185}
.blog-category-nav{display:flex;flex-wrap:wrap;gap:9px;overflow:visible;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#c4cad7 transparent}
.blog-category-chip{display:inline-flex;flex:0 0 auto;align-items:center;min-height:38px;padding:8px 13px;border:1px solid rgba(23,46,114,.12);border-radius:999px;background:rgba(255,255,255,.72);color:#52617c;font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.blog-category-chip:hover,.blog-category-chip.active{border-color:#172e72;background:#172e72;color:#fff}
.blog-search{display:flex;align-items:center;gap:9px;max-width:480px;margin:17px 0 26px;padding:6px;border:1px solid rgba(23,46,114,.13);border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(23,46,114,.045)}
.blog-search input{width:100%;min-width:0;min-height:42px;padding:0 11px;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}
.blog-search input::placeholder{color:#8a94a4}
.blog-search button{min-height:40px;padding:0 18px;border:0;border-radius:9px;background:var(--blue-gradient);color:#fff;font-size:12px;font-weight:750}
.blog-search-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.blog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blog-card{min-width:0;overflow:hidden;border:1px solid rgba(23,46,114,.1);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(20,39,89,.055);transition:transform .22s ease,box-shadow .22s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(20,39,89,.12)}
.blog-card[hidden]{display:none!important}
.blog-card-image{position:relative;display:block;overflow:hidden;aspect-ratio:3/2;background:#dce1e9}
.blog-card-image:after{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(12,24,58,.3));content:"";pointer-events:none}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.035)}
.blog-card-category{position:absolute;z-index:1;left:14px;bottom:13px;max-width:calc(100% - 28px);overflow:hidden;padding:7px 10px;border:1px solid rgba(255,255,255,.76);border-radius:999px;background:rgba(248,249,252,.92);color:#172e72;font-size:9px;font-weight:850;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;backdrop-filter:blur(8px)}
.blog-card-content{padding:19px 20px 20px}
.blog-card-meta{display:flex;align-items:center;gap:10px;color:#8992a1;font-size:10px;font-weight:650}
.blog-card-meta span:before{display:inline-block;width:3px;height:3px;margin:0 9px 2px 0;border-radius:50%;background:#a5adbb;content:""}
.blog-card h2{margin:11px 0 9px;color:var(--ink);font-size:20px;font-weight:760;letter-spacing:-.04em;line-height:1.27}
.blog-card h2 a:hover{color:#405a9b}
.blog-card-content>p{min-height:68px;margin:0;color:#68758a;font-size:13px;line-height:1.7}
.blog-read-link{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:#263f87;font-size:12px;font-weight:800}
.blog-read-link span{font-size:16px;transition:transform .2s}
.blog-read-link:hover span{transform:translateX(3px)}
.blog-empty{grid-column:1/-1;padding:40px;border:1px dashed rgba(23,46,114,.2);border-radius:16px;color:#657185;text-align:center}
.blog-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:34px 0 0}
.blog-page-link{display:grid;place-items:center;min-width:40px;height:40px;padding-inline:11px;border:1px solid rgba(23,46,114,.14);border-radius:11px;background:#fff;color:#43547c;font-size:13px;font-weight:750}
.blog-page-link:hover,.blog-page-link.active{border-color:#172e72;background:#172e72;color:#fff}
.blog-editorial-note{margin-top:36px;padding:19px 22px;border:1px solid rgba(23,46,114,.1);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(232,235,241,.55));color:#67748a;font-size:12px;line-height:1.75}
.blog-editorial-note strong{color:#172e72;font-size:12px}
.blog-editorial-note p{margin:5px 0 0}
.blog-article-main{padding:38px 0 96px;background:linear-gradient(180deg,#f7f8fa 0%,#f3f5f8 46%,#f7f8fa 100%)}
.blog-article-main>.container{max-width:1180px}
.blog-article{overflow:hidden;border:1px solid rgba(23,46,114,.09);border-radius:24px;background:#fff;box-shadow:0 22px 60px rgba(23,46,114,.075)}
.blog-article-header{max-width:950px;margin:0 auto;padding:52px 44px 30px;text-align:center}
.blog-category-label{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border:1px solid rgba(23,46,114,.13);border-radius:999px;background:linear-gradient(135deg,#f7f8fa,#e8ebf1);color:#3f558f;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.blog-article-header h1{margin:16px 0 13px;color:var(--ink);font-size:clamp(35px,5.3vw,61px);font-weight:770;letter-spacing:-.065em;line-height:1.05}
.blog-article-summary{max-width:780px;margin:0 auto;color:#657287;font-size:17px;line-height:1.8}
.blog-byline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px;color:#7b8799;font-size:11px;font-weight:650}
.blog-byline span:first-child{color:#354b88}
.blog-cover{max-width:1040px;margin:0 auto;padding:0 26px}
.blog-cover img{width:100%;height:clamp(270px,48vw,540px);border-radius:18px;object-fit:cover;background:#e2e6ed}
.blog-cover figcaption{margin:8px 8px 0;color:#8a93a1;font-size:10px;line-height:1.5}
.blog-article-layout{display:grid;grid-template-columns:200px minmax(0,760px);justify-content:center;gap:52px;padding:46px 38px 34px}
.blog-toc{position:sticky;top:105px;align-self:start;display:grid;gap:4px;padding:16px 14px;border:1px solid rgba(23,46,114,.1);border-radius:14px;background:linear-gradient(145deg,#f8f9fb,#edf0f5)}
.blog-toc strong{margin:0 0 7px;padding:0 6px;color:#172e72;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.blog-toc a{padding:7px 7px;border-radius:7px;color:#5f6d83;font-size:11px;line-height:1.45}
.blog-toc a:hover{background:#fff;color:#172e72}
.blog-prose{min-width:0;color:#5e6c82;font-size:16px;line-height:1.9}
.blog-prose h2{margin:37px 0 11px;color:#172e72;font-size:clamp(24px,3vw,32px);font-weight:760;letter-spacing:-.045em;line-height:1.2}
.blog-prose h2:first-of-type{margin-top:30px}
.blog-prose p{margin:0 0 17px}
.blog-prose li{padding-left:4px;margin:8px 0}
.blog-prose ol,.blog-prose ul{padding-left:22px;margin:10px 0 23px}
.blog-prose a{color:#304b9c;font-weight:700;text-decoration:underline;text-decoration-color:rgba(48,75,156,.38);text-underline-offset:3px}
.blog-prose a:hover{text-decoration-color:currentColor}
.blog-prose .blog-lead-paragraph{color:#26385f;font-size:19px;font-weight:570;line-height:1.75}
.blog-key-takeaway{margin:19px 0 29px;padding:19px 22px;border:1px solid rgba(23,46,114,.12);border-left:4px solid #172e72;border-radius:13px;background:linear-gradient(110deg,#f0f2f6 0%,#fafbfd 100%)}
.blog-key-takeaway strong{display:block;margin-bottom:5px;color:#172e72;font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.blog-key-takeaway p{margin:0;color:#4e5f7a;font-size:14px;line-height:1.75}
.blog-prose .blog-key-takeaway+h2{margin-top:0}
.blog-tag-list{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:0 30px 32px}
.blog-tag-list span{padding:7px 11px;border:1px solid rgba(23,46,114,.1);border-radius:999px;background:#f4f6f9;color:#62708a;font-size:10px;font-weight:700}
.blog-related{padding-top:60px}
.blog-section-heading{margin:0 0 23px;text-align:center}
.blog-section-heading h2{margin:9px 0 0;color:var(--ink);font-size:clamp(29px,4vw,40px);letter-spacing:-.05em}
.blog-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:60px;padding:30px 34px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:radial-gradient(ellipse at 8% 0%,rgba(255,255,255,.13),transparent 35%),linear-gradient(125deg,#172e72 0%,#243c84 61%,#465887 100%);box-shadow:0 22px 52px rgba(23,46,114,.17);color:#fff}
.blog-cta .eyebrow{color:#e1e5ec;font-size:10px}
.blog-cta h2{max-width:650px;margin:9px 0 7px;font-size:clamp(23px,3vw,33px);font-weight:760;letter-spacing:-.045em;line-height:1.16}
.blog-cta p{max-width:670px;margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.7}
.blog-cta .btn{flex:0 0 auto;background:linear-gradient(135deg,#f9fafc,#dce0e8);color:#172e72;box-shadow:0 9px 22px rgba(5,15,45,.22)}
.blog-cta .btn:hover{background:#fff}
@media(max-width:900px){
  .blog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
  .blog-article-layout{grid-template-columns:160px minmax(0,1fr);gap:28px;padding-inline:27px}
  .blog-article-header{padding-inline:30px}
}
@media(max-width:680px){
  .blog-hero{padding:48px 0 43px}
  .blog-hero-inner{align-items:flex-start;flex-direction:column;gap:22px}
  .blog-hero h1{font-size:clamp(39px,11vw,55px)}
  .blog-hero p{font-size:15px}
  .blog-hero-stats{font-size:11px}
  .blog-archive-section{padding:34px 0 68px}
  .blog-category-nav{flex-wrap:nowrap;overflow-x:auto}
  .blog-card-grid{gap:13px}
  .blog-card-content{padding:15px 14px 16px}
  .blog-card h2{font-size:17px}
  .blog-card-content>p{min-height:94px;font-size:12px}
  .blog-card-meta{font-size:9px;gap:5px}
  .blog-card-meta span:before{margin-right:5px}
  .blog-card-category{left:9px;bottom:9px;font-size:8px}
  .blog-article-main{padding:24px 0 68px}
  .blog-article{border-radius:17px}
  .blog-article-header{padding:33px 20px 22px}
  .blog-article-header h1{font-size:clamp(33px,9vw,47px)}
  .blog-article-summary{font-size:14px}
  .blog-cover{padding:0 13px}
  .blog-cover img{height:clamp(220px,58vw,360px);border-radius:12px}
  .blog-article-layout{grid-template-columns:1fr;gap:24px;padding:28px 21px 18px}
  .blog-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:12px}
  .blog-toc strong{grid-column:1/-1}
  .blog-toc a{font-size:10px}
  .blog-prose{font-size:15px;line-height:1.82}
  .blog-prose .blog-lead-paragraph{font-size:17px}
  .blog-prose h2{margin-top:29px;font-size:24px}
  .blog-key-takeaway{padding:16px}
  .blog-tag-list{justify-content:flex-start;padding:0 20px 23px}
  .blog-related{padding-top:45px}
  .blog-cta{align-items:flex-start;flex-direction:column;padding:24px 21px;gap:18px}
  .blog-cta .btn{width:100%}
}
@media(max-width:420px){
  .blog-card-grid{grid-template-columns:1fr}
  .blog-card-image{aspect-ratio:16/9}
  .blog-card-content>p{min-height:0}
  .blog-card-content{padding:16px}
  .blog-card h2{font-size:19px}
  .blog-card-meta{font-size:10px}
  .blog-article-header{padding-inline:16px}
  .blog-article-layout{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
  .blog-card,.blog-card-image img,.blog-read-link span,.blog-hero-link{transition:none!important}
  .blog-card:hover,.blog-hero-link:hover{transform:none}
}
