.blogs-page .service-bar { position: relative !important; }
.blogs-page .blog-post-hero, .blogs-page .blog-hero-simple { position: relative; overflow: hidden; text-align: center; }
.blogs-page .blog-hero-simple { min-height: 500px; background: linear-gradient(180deg, #fff 0%, #f5f8fc 100%); }
.blogs-page .blog-hero-simple::before, .blogs-page .blog-hero-simple::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.blogs-page .blog-hero-simple::before { width: 440px; height: 440px; top: -260px; left: -100px; border: 1px solid rgba(0,102,204,.13); box-shadow: 0 0 0 75px rgba(0,102,204,.025), 0 0 0 150px rgba(0,102,204,.015); }
.blogs-page .blog-hero-simple::after { width: 320px; height: 320px; right: -100px; bottom: -210px; background: radial-gradient(circle, rgba(41,151,255,.16), transparent 68%); }
.blogs-page .blog-post-hero .container, .blogs-page .blog-hero-simple .container { position: relative; z-index: 1; max-width: 980px; }
.blogs-page .blog-eyebrow { margin-bottom: 22px; color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.blogs-page .blog-hero-lead { max-width: 700px; margin: 0 auto; color: var(--muted); font-size: 18px; }
.blogs-page .blog-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; color: var(--muted); font-size: 13px; }
.blogs-page .blog-post-hero { min-height: 310px; padding: 72px 0 56px; background: #fff; border-bottom: 1px solid var(--soft-line); }
.blogs-page .blog-category-badge { display: inline-flex; margin-bottom: 22px; padding: 8px 13px; border-radius: 999px; color: var(--blue); background: #eaf4ff; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.blogs-page .blog-post-hero h1 { max-width: 980px; margin-inline: auto; }
.blogs-page .blog-hero-desc { max-width: 760px; margin: 0 auto 28px; color: var(--muted); font-size: 18px; }
.blogs-page .blog-meta-bar { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; color: #515154; font-size: 12px; }
.blogs-page .meta-sep { width: 3px; height: 3px; border-radius: 50%; background: #a1a1a6; }
.blogs-page .blog-breadcrumb-bar { border-top: 1px solid var(--soft-line); border-bottom: 1px solid var(--soft-line); background: #fff; }
.blogs-page .breadcrumb-list { min-height: 58px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.blogs-page .breadcrumb-list li { margin: 0; color: var(--muted); font-size: 12px; }
.blogs-page .breadcrumb-list a { color: var(--blue); }
.blogs-page .breadcrumb-list .sep { color: #c7c7cc; }
.blogs-page .blog-content-section { background: #fff !important; }
.blogs-page .blog-article-wrapper, .blogs-page .blog-article { width: min(860px, calc(100% - 48px)); margin-inline: auto; }
.blogs-page .blog-article-wrapper > p:first-of-type, .blogs-page .blog-article > p:first-of-type { color: #333336; font-size: 22px; line-height: 1.55; }
.blogs-page .blog-article-wrapper img, .blogs-page .blog-article img { width: 100%; margin: 35px 0; }
.blogs-page .blog-article-wrapper h2, .blogs-page .blog-article h2 { margin-top: 62px; margin-bottom: 18px; padding-top: 32px; scroll-margin-top: calc(var(--sticky-header-height, 76px) + 20px); border-top: 1px solid var(--soft-line); font-size: clamp(30px, 4vw, 43px); }
.blogs-page .blog-article-wrapper > ul, .blogs-page .blog-article-wrapper > ol, .blogs-page .blog-article > ul, .blogs-page .blog-article > ol { display: grid; gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.blogs-page .blog-article-wrapper > ul > li, .blogs-page .blog-article-wrapper > ol > li, .blogs-page .blog-article > ul > li, .blogs-page .blog-article > ol > li { position: relative; margin: 0; padding: 18px 20px 18px 48px; border: 1px solid var(--soft-line); border-radius: 14px; background: var(--pearl); }
.blogs-page .blog-article-wrapper > ul > li::before, .blogs-page .blog-article > ul > li::before { content: ""; position: absolute; left: 21px; top: 27px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.blogs-page .blog-article-wrapper > ol, .blogs-page .blog-article > ol { counter-reset: article-step; }
.blogs-page .blog-article-wrapper > ol > li, .blogs-page .blog-article > ol > li { counter-increment: article-step; padding-left: 68px; }
.blogs-page .blog-article-wrapper > ol > li::before, .blogs-page .blog-article > ol > li::before { content: counter(article-step, decimal-leading-zero); position: absolute; top: 50%; left: 19px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #eaf4ff; font-size: 11px; font-weight: 800; transform: translateY(-50%); }
.blogs-page .article-highlight { margin: 48px 0 !important; padding: 30px 34px; border-left: 4px solid var(--blue); border-radius: 0 16px 16px 0; color: #333336 !important; background: #eef6ff; font-size: 20px !important; line-height: 1.55 !important; }
.blogs-page .blog-author-box { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: center; margin: 70px 0 24px; padding: 28px; border: 1px solid var(--soft-line); border-radius: 18px; background: var(--parchment); }
.blogs-page .author-avatar { width: 64px; height: 64px; border-radius: 18px; color: transparent; background: #fff url("../assets/images/home/logo.webp") center / contain no-repeat; font-size: 0; }
.blogs-page .author-info h4, .blogs-page .author-info p { margin: 0; }
.blogs-page .author-info h4 { margin-bottom: 6px; font-size: 18px; }
.blogs-page .author-info p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.blogs-page .blog-share-bar { display: flex; align-items: center; gap: 9px; margin: 0 0 70px; padding: 18px 0; border-bottom: 1px solid var(--soft-line); }
.blogs-page .blog-share-bar > span { margin-right: 8px; color: var(--muted); font-size: 12px; }
.blogs-page .blog-share-bar a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); background: #fff; }
.blogs-page .blog-share-bar a:hover { color: #fff; border-color: var(--blue); background: var(--blue); }
.blogs-page .blog-cta-banner { margin-top: 60px; padding: 58px 45px; border-radius: 24px; color: #fff; background: linear-gradient(135deg, #1d1d1f 0%, #29394a 100%); text-align: center; }
.blogs-page .blog-cta-banner h3 { margin-bottom: 12px; color: #fff; font-size: clamp(30px, 4vw, 44px); }
.blogs-page .blog-cta-banner p { color: #c7c7cc; }
.blogs-page .blog-cta-banner .btn-primary { margin-top: 12px; color: #fff; }

.blogs-page .blog-listing { padding: 72px 0 120px; background: linear-gradient(180deg, #f6f8fb 0, #fff 48%, #f5f5f7 100%) !important; }
.blogs-page .insights-control-panel { max-width: 920px; margin: 0 0 32px; }
.blogs-page .insights-control-panel h1 { max-width: 900px; margin: 0 0 16px; font-size: clamp(42px, 6vw, 78px); line-height: .95; letter-spacing: -.045em; }
.blogs-page .insights-control-panel p:last-child { max-width: 680px; color: var(--muted); font-size: 17px; }
.blogs-page .blog-grid, .blogs-page .bento-grid { counter-reset: blog-card; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.blogs-page .blog-card { counter-increment: blog-card; position: relative; min-height: 330px; overflow: hidden; border: 1px solid #dfe7ef; border-radius: 22px; background: #fff; box-shadow: 0 12px 36px rgba(20,58,88,.045); transition: transform .25s, box-shadow .25s, border-color .25s; }
.blogs-page .blog-card:hover { z-index: 1; border-color: #b9d7ef; transform: translateY(-5px); box-shadow: 0 28px 70px rgba(0,69,140,.12); }
.blogs-page .blog-card > img, .blogs-page .blog-card-image img { width: 100%; height: 220px; object-fit: cover; }
.blogs-page .blog-card-content { padding: 25px; }
.blogs-page .blog-card-link { position: relative; height: 100%; display: flex; flex-direction: column; padding: 30px; color: inherit; }
.blogs-page .blog-card-link::before { content: counter(blog-card, decimal-leading-zero); width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 24px; border: 1px solid #cfe2f5; border-radius: 50%; color: var(--blue); background: #f4f9ff; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.blogs-page .blog-card-category { margin: 0 0 22px; color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.blogs-page .blog-card h2 { margin: 0 0 16px; color: var(--ink); font-size: clamp(23px, 2.3vw, 31px); line-height: 1.08; }
.blogs-page .blog-card-link > p:not(.blog-card-category) { margin: 0 0 28px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.blogs-page .blog-card-meta { display: flex; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--soft-line); color: var(--blue); font-size: 11px; }
.blogs-page .featured-card { grid-column: span 2; min-height: 440px; background: linear-gradient(135deg, #171719 0%, #26384b 100%); }
.blogs-page .featured-card::after { content: "AI"; position: absolute; right: -16px; bottom: -55px; color: rgba(255,255,255,.055); font-size: 210px; font-weight: 700; letter-spacing: -.1em; pointer-events: none; }
.blogs-page .featured-card .blog-card-link { position: relative; z-index: 1; justify-content: flex-end; padding: 44px; }
.blogs-page .featured-card .blog-card-link::before { color: #fff; border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.08); }
.blogs-page .featured-card .blog-card-category { margin-bottom: auto; color: #73b9ff; }
.blogs-page .featured-card h2 { max-width: 650px; color: #fff; font-size: clamp(36px, 4vw, 53px); }
.blogs-page .featured-card .blog-card-link > p:not(.blog-card-category) { max-width: 650px; color: #c7c7cc; }
.blogs-page .featured-card .blog-card-meta { border-color: rgba(255,255,255,.15); color: #73b9ff; }
.blogs-page .blog-card:nth-child(4n+2) { background: #eef6ff; }
.blogs-page .blog-card:nth-child(5n+3) { background: #f2f2f4; }
.blogs-page .toc, .blogs-page .table-of-contents { margin: 35px 0; padding: 28px; border-radius: 18px; background: var(--parchment); }
.blogs-page .faq-list details { margin: 12px 0; padding: 18px 20px; border: 1px solid var(--soft-line); border-radius: 12px; background: #fff; }
.blogs-page .faq-list summary { color: var(--ink); font-weight: 700; cursor: pointer; }
.blogs-page .faq-list details p { margin: 14px 0 0; }
.blogs-page main > .page-editorial-visual { display: none; }
.blogs-page .blog-article-wrapper > .page-editorial-visual,
.blogs-page .blog-article > .page-editorial-visual { width: 100%; margin: 36px 0 46px; }
.blogs-page .blog-article-wrapper > .page-editorial-visual img,
.blogs-page .blog-article > .page-editorial-visual img { margin: 0; }
.article-hover-toc { position: fixed; z-index: 60; top: 50%; right: 18px; left: auto; transform: translateY(-50%); }
.article-hover-toc[hidden] { display: none; }
.article-hover-toc nav { display: grid; gap: 4px; padding: 8px 0; }
.article-hover-toc a { position: relative; min-height: 14px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; color: var(--muted); }
.article-hover-toc a span { width: 18px; height: 2px; display: block; border-radius: 999px; background: #aeb4bc; transition: width .2s, background .2s, transform .2s; }
.article-hover-toc a b { position: absolute; right: 42px; width: max-content; max-width: min(250px, calc(100vw - 110px)); padding: 8px 10px; border: 1px solid var(--soft-line); border-radius: 8px; color: var(--ink); background: rgba(255,255,255,.96); box-shadow: 0 12px 34px rgba(0,0,0,.08); font-size: 12px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; opacity: 0; pointer-events: none; transform: translateX(8px); transition: opacity .18s, transform .18s; }
.article-hover-toc a.active span { width: 30px; background: var(--blue); }
.article-hover-toc a:hover span { width: 42px; background: var(--blue); }
.article-hover-toc a:has(+ a:hover) span { transform: translateY(-2px); }
.article-hover-toc a:hover + a span { transform: translateY(2px); }
.article-hover-toc a:hover b { opacity: 1; transform: none; }
.reading-progress { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 3px; background: var(--blue); transform: scaleX(0); transform-origin: left; }

@media (max-width: 980px) {
  .blogs-page .blog-grid, .blogs-page .bento-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .blogs-page .blog-hero-simple { min-height: 400px; }
  .blogs-page .blog-listing { padding: 55px 0 80px; }
  .blogs-page .blog-grid, .blogs-page .bento-grid { grid-template-columns: 1fr; }
  .blogs-page .featured-card { grid-column: auto; min-height: 430px; }
  .blogs-page .featured-card .blog-card-link { padding: 30px; }
  .blogs-page .blog-card { min-height: 300px; }
  .blogs-page .blog-post-hero { min-height: 300px; }
  .article-hover-toc { display: none; }
  .blogs-page .blog-meta-bar { gap: 8px; }
  .blogs-page .breadcrumb-list { min-height: 50px; gap: 7px; }
  .blogs-page .blog-article-wrapper, .blogs-page .blog-article { width: 100%; }
  .blogs-page .blog-article-wrapper > ol > li, .blogs-page .blog-article > ol > li { padding-left: 58px; }
  .blogs-page .blog-article-wrapper > ol > li::before, .blogs-page .blog-article > ol > li::before { left: 14px; }
  .blogs-page .blog-author-box { grid-template-columns: 1fr; }
  .blogs-page .blog-cta-banner { padding: 44px 22px; }
}
/* Blog listing: one content-first layout shared by Blog and All posts. */
.insights-search { position:relative; min-height:44px; display:flex; align-items:center; gap:9px; padding:0 10px; border:1px solid #d9dfd9; border-radius:8px; color:#233d50; background:#fff; }
.insights-search:focus-within { border-color:#9fc9eb; box-shadow:0 0 0 3px rgba(0,102,204,.09); }
.insights-search svg { width:19px; height:19px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.insights-search input { width:180px; min-width:0; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; font-size:14px; }
.insights-search input::placeholder { color:#64727c; opacity:1; }

.blogs-page .insights-hub, .blogs-page .all-posts-hub { min-height:70vh; padding:46px 0 96px; background:var(--parchment) !important; }
.blogs-page .insights-hub .container { width:min(100% - 42px, 1180px); }
.blogs-page .blog-home-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 28px; padding-bottom:20px; border-bottom:1px solid #d9dfd9; }
.blogs-page .blog-home-heading h1 { margin:0; color:#223a4d; font-size:clamp(32px,3.2vw,44px); line-height:1; letter-spacing:-.04em; }
.blog-home-actions, .all-posts-heading-row { display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.all-posts-link { display:inline-flex; align-items:center; gap:7px; color:#234766; font-size:14px; font-weight:750; white-space:nowrap; }
.all-posts-link:hover { color:var(--blue); }
.blogs-page .insights-search-status { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.blogs-page .insights-empty, .blogs-page .all-posts-status { margin:0 0 30px; padding:18px; border:1px dashed #b9c8d2; border-radius:10px; color:#52616a; background:#fff; text-align:center; }
.blogs-page .insights-hub [hidden], .blogs-page .all-posts-hub [hidden] { display:none !important; }

.blogs-page .insights-section { margin-top:44px; }
.blogs-page .insights-section-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid #d9dfd9; }
.blogs-page .insights-section-heading h2 { margin:0; color:#223a4d; font-size:clamp(28px,3vw,38px); line-height:1.1; letter-spacing:-.035em; }
.blogs-page .latest-heading > span { color:#64727c; font-size:13px; font-weight:700; }

.blogs-page .featured-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:16px; }
.blogs-page .featured-grid .blog-card:first-child { grid-column:1; grid-row:1 / span 2; min-height:0; }
.blogs-page .featured-grid .blog-card:not(:first-child) { grid-column:2; min-height:0; }
.blogs-page .insights-hub .blog-card, .blogs-page .all-posts-grid .blog-card { min-height:0; overflow:hidden; border:1px solid #d9dfd9; border-radius:10px; background:#fff !important; box-shadow:none; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.blogs-page .insights-hub .blog-card:hover, .blogs-page .all-posts-grid .blog-card:hover { border-color:#aebfc7; transform:translateY(-3px); box-shadow:0 14px 28px rgba(27,53,71,.1); }
.blogs-page .insights-hub .blog-card-link, .blogs-page .all-posts-grid .blog-card-link { min-height:100%; display:flex; flex-direction:column; padding:0; color:inherit; }
.blogs-page .insights-hub .blog-card-link::before, .blogs-page .all-posts-grid .blog-card-link::before { display:none; }
.insight-media { display:block; width:100%; margin:0; aspect-ratio:16 / 9; overflow:hidden; background:#e8edf0; }
.insight-media img { width:100%; height:100%; display:block; object-fit:cover; }
.blogs-page .blog-card-category { margin:16px 20px 8px !important; color:#407191 !important; font-size:10px !important; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.blogs-page .blog-card h2 { display:-webkit-box; margin:0 20px 10px; overflow:hidden; color:#223a4d !important; font-size:clamp(20px,2vw,28px) !important; line-height:1.16; letter-spacing:-.015em; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.blogs-page .blog-card-link > p:not(.blog-card-category) { display:-webkit-box; margin:0 20px 17px; overflow:hidden; color:#5a6770 !important; font-size:14px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.blogs-page .blog-card-meta { display:flex; gap:10px; margin:auto 20px 0; padding:14px 0; border-top:1px solid #e3e8e3; color:#687780 !important; font-size:11px; }
.read-indicator { margin:0 20px 18px; color:#234766; font-size:13px; font-weight:700; }
.read-indicator span { display:inline-block; transition:transform .18s ease; }
.blogs-page .blog-card:hover .read-indicator span { transform:translateX(3px); }

.blogs-page .featured-grid .blog-card:first-child .insight-media { aspect-ratio:16 / 9; }
.blogs-page .featured-grid .blog-card:first-child h2 { font-size:clamp(27px,2.5vw,36px) !important; }
.blogs-page .featured-grid .blog-card:not(:first-child) .insight-media { display:none; }
.blogs-page .featured-grid .blog-card:not(:first-child) .blog-card-link { padding:2px 0; }
.blogs-page .featured-grid .blog-card:not(:first-child) h2 { -webkit-line-clamp:2; font-size:clamp(19px,1.7vw,24px) !important; }
.blogs-page .featured-grid .blog-card:not(:first-child) .blog-card-link > p:not(.blog-card-category) { display:none; }
.blogs-page .featured-grid .blog-card:not(:first-child) .read-indicator { margin-top:4px; }
.blogs-page .latest-insights .bento-grid, .blogs-page .all-posts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }

.blogs-page .all-posts-intro { margin-bottom:34px; padding-bottom:24px; border-bottom:1px solid #d9dfd9; text-align:center; }
.blogs-page .all-posts-heading-row { justify-content:center; margin-bottom:10px; }
.blogs-page .all-posts-intro h1 { margin:4px 0; color:#223a4d; font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.045em; }
.blogs-page .all-posts-intro > p:not(.all-posts-count) { margin:0; color:#596771; }
.blogs-page .all-posts-count { display:inline-block; margin:16px 0 0; color:#64727c; font-size:13px; font-weight:700; }
.blogs-page .all-posts-intro .insights-search { width:min(100%, 360px); margin:20px auto 0; text-align:left; }
.blogs-page .all-posts-intro .insights-search input { width:100%; }
.blogs-page .insights-all-posts-cta { display:grid; justify-items:center; gap:14px; margin-top:42px; padding:36px 24px; border-top:1px solid #d9dfd9; text-align:center; }
.blogs-page .insights-all-posts-cta p { margin:0; color:#5a6770; }
.blogs-page .insights-all-posts-cta .button { min-height:46px; padding:0 22px; border-radius:999px; }
.insights-search .insights-suggestions { position:absolute; z-index:20; top:calc(100% + 8px); right:0; width:min(390px,calc(100vw - 28px)); padding:12px; border:1px solid #d5ddd7; border-radius:10px; background:#fff; box-shadow:0 18px 38px rgba(27,53,71,.14); }
.insights-suggestions-heading { margin:2px 6px 10px; color:#65717d; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.insights-suggestions a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; min-height:44px; align-items:center; padding:8px 12px; border-radius:8px; color:var(--ink); }
.insights-suggestions a:hover, .insights-suggestions a:focus-visible { color:var(--blue); background:#f3f8fd; outline:0; }
.insights-suggestions small { color:#7a8793; font-size:11px; }

@media (max-width:1040px) { .blogs-page .latest-insights .bento-grid, .blogs-page .all-posts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) {
  .blogs-page .insights-hub, .blogs-page .all-posts-hub { padding:34px 0 72px; }
  .blogs-page .insights-hub .container { width:min(100% - 28px,1180px); }
  .blogs-page .blog-home-heading { align-items:flex-start; flex-direction:column; margin-bottom:22px; }
  .blog-home-actions { width:100%; justify-content:space-between; }
  .insights-search { flex:1; }
  .insights-search input { width:100%; }
  .blogs-page .all-posts-heading-row { align-items:flex-start; flex-direction:column; }
  .blogs-page .featured-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .blogs-page .featured-grid .blog-card:first-child, .blogs-page .featured-grid .blog-card:not(:first-child) { grid-column:auto; grid-row:auto; }
  .blogs-page .featured-grid .blog-card:not(:first-child) .insight-media { display:block; }
  .blogs-page .latest-insights .bento-grid, .blogs-page .all-posts-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .blogs-page .blog-card, .read-indicator span { transition:none; } }
