body.page-blogs.page-blogs{--page-scope:1} body.page-blogs{ --bg:#ffffff; --paper:#f7f8fb; --ink:#10142b; --slate:#5b6472; --indigo:#3b4fe0; --indigo-deep:#2638b0; --violet:#8b5cf6; --teal:#0ea5a4; --amber:#e8a33d; --coral:#e2574c; --pink:#ec4899; --line:#e2e5ee; --line-strong:#c7ccdc; --grad-a: linear-gradient(135deg, var(--indigo), var(--violet)); --grad-b: linear-gradient(135deg, var(--teal), var(--indigo)); --grad-c: linear-gradient(135deg, var(--amber), var(--coral)); --grad-d: linear-gradient(135deg, var(--violet), var(--pink)); } body.page-blogs *{box-sizing:border-box;} body.page-blogs{scroll-behavior:auto;} body.page-blogs{ margin:0; background:var(--bg); color:var(--ink); font-family:"Inter",sans-serif; -webkit-font-smoothing:antialiased; } body.page-blogs h1,body.page-blogs h2,body.page-blogs h3{ font-family:"Space Grotesk",sans-serif; margin:0; letter-spacing:-0.01em; color:var(--ink); } body.page-blogs p{margin:0;} body.page-blogs a{text-decoration:none;color:inherit;} body.page-blogs .eyebrow{ font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--indigo-deep); display:inline-flex; align-items:center; gap:8px; } body.page-blogs .eyebrow::before{ content:""; width:16px; height:1px; background:var(--indigo); display:inline-block; } body.page-blogs .eyebrow.on-dark{color:var(--amber);} body.page-blogs .eyebrow.on-dark::before{background:var(--amber);} body.page-blogs .wrap{ max-width:1180px; margin:0 auto; padding:0 32px; } body.page-blogs .grad-text{ background:var(--grad-a); -webkit-background-clip:text; background-clip:text; color:transparent; } body.page-blogs header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.88); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); } body.page-blogs nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1180px; margin:0 auto; } body.page-blogs .logo{ display:flex; align-items:center; gap:10px; font-family:"Space Grotesk",sans-serif; font-weight:600; font-size:19px; color:var(--ink); } body.page-blogs .logo-mark{ width:34px;height:34px; border-radius:8px; position:relative; flex-shrink:0; background:var(--grad-a); } body.page-blogs .logo-mark::before,body.page-blogs .logo-mark::after{ content:""; position:absolute; background:#fff; } body.page-blogs .logo-mark::before{width:14px;height:1.6px;top:16px;left:10px;border-radius:2px;} body.page-blogs .logo-mark::after{width:1.6px;height:14px;top:10px;left:16px;border-radius:2px;} body.page-blogs .logo small{ display:block; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:0.08em; color:var(--slate); font-weight:400; text-transform:uppercase; margin-top:1px; } body.page-blogs .nav-links{ display:flex; gap:28px; font-size:14.5px; font-weight:500; color:var(--slate); } body.page-blogs .nav-links a{position:relative; padding:4px 0;} body.page-blogs .nav-links a:hover{color:var(--ink);} body.page-blogs .nav-links a.active{color:var(--ink);} body.page-blogs .nav-links a.active::after{ content:""; position:absolute; left:0;right:0;bottom:-2px; height:2px; background:var(--grad-a); border-radius:2px; } body.page-blogs .nav-cta{ display:flex; align-items:center; gap:18px; } body.page-blogs .btn{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; padding:11px 20px; border-radius:8px; border:1px solid transparent; cursor:pointer; font-family:"Inter",sans-serif; } body.page-blogs .btn-primary{ background:var(--grad-a); color:#fff; box-shadow:0 8px 20px -8px rgba(59,79,224,0.55); } body.page-blogs .btn-primary:hover{transform:translateY(-1px); box-shadow:0 12px 24px -8px rgba(59,79,224,0.6);} body.page-blogs .btn-ghost{ border-color:var(--line-strong); color:var(--ink); background:#fff; } body.page-blogs .btn-ghost:hover{border-color:var(--ink);} @media (max-width:960px){ body.page-blogs .nav-links{display:none;} } body.page-blogs .crumb{padding:16px 0 0;} body.page-blogs .crumb .wrap{ display:flex; align-items:center; gap:8px; font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--slate); } body.page-blogs .crumb a{color:var(--slate);} body.page-blogs .crumb a:hover{color:var(--indigo-deep);} body.page-blogs .crumb span.sep{color:var(--line-strong);} body.page-blogs .crumb span.here{color:var(--ink);} body.page-blogs .blog-hero{ padding:44px 0 40px; position:relative; overflow:hidden; } body.page-blogs .hero-glow{ position:absolute; z-index:-1; border-radius:50%; filter:blur(70px); opacity:0.3; } body.page-blogs .hero-glow.g1{width:380px;height:380px; background:var(--grad-a); top:-160px; right:-80px;} body.page-blogs .hero-glow.g2{width:300px;height:300px; background:var(--grad-c); bottom:-140px; left:-100px; opacity:0.2;} body.page-blogs .blog-hero h1{ font-size:clamp(34px,4vw,50px); line-height:1.06; font-weight:600; margin:16px 0 16px; } body.page-blogs .blog-hero p.lede{ font-size:16.5px; line-height:1.65; color:var(--slate); max-width:58ch; } body.page-blogs .filters{ display:flex; flex-wrap:wrap; gap:10px; padding:28px 0 40px; border-bottom:1px solid var(--line); } body.page-blogs .filter-chip{ font-family:"IBM Plex Mono",monospace; font-size:12.5px; letter-spacing:.02em; padding:9px 16px; border-radius:20px; border:1px solid var(--line-strong); color:var(--slate); background:#fff; cursor:pointer; } body.page-blogs .filter-chip:hover{border-color:var(--ink); color:var(--ink);} body.page-blogs .filter-chip.active{ background:var(--ink); border-color:var(--ink); color:#fff; } body.page-blogs section{padding:80px 0;} body.page-blogs .section-head{max-width:640px; margin-bottom:44px;} body.page-blogs .section-head .eyebrow{margin-bottom:0;} body.page-blogs .section-head h2{ font-size:clamp(24px,2.6vw,32px); font-weight:600; line-height:1.15; margin-top:12px; } body.page-blogs #featured{padding-top:56px; padding-bottom:24px;} body.page-blogs .featured-card{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:0; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; } body.page-blogs .featured-card:hover{box-shadow:0 30px 60px -30px rgba(16,20,43,0.28); transform:translateY(-4px);} body.page-blogs .featured-media{ position:relative; min-height:320px; background:var(--grad-a); overflow:hidden; } body.page-blogs .featured-media svg{position:absolute; inset:0; width:100%; height:100%;} body.page-blogs .featured-tag{ position:absolute; top:20px; left:20px; font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(16,20,43,0.35); backdrop-filter:blur(6px); padding:6px 12px; border-radius:20px; } body.page-blogs .featured-body{ padding:40px 44px; display:flex; flex-direction:column; justify-content:center; } body.page-blogs .featured-body .eyebrow{margin-bottom:14px;} body.page-blogs .featured-body h3{ font-size:clamp(22px,2.6vw,30px); font-weight:600; line-height:1.18; margin-bottom:16px; } body.page-blogs .featured-body p.excerpt{ font-size:15px; color:var(--slate); line-height:1.65; margin-bottom:24px; } body.page-blogs .post-meta{ display:flex; align-items:center; gap:14px; font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--slate); margin-bottom:22px; } body.page-blogs .post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--line-strong);} body.page-blogs .read-link{ display:inline-flex; align-items:center; gap:7px; font-size:14.5px; font-weight:600; color:var(--indigo-deep); } body.page-blogs .read-link svg{} body.page-blogs .featured-card:hover .read-link svg{transform:translateX(3px);} @media (max-width:820px){ body.page-blogs .featured-card{grid-template-columns:1fr;} body.page-blogs .featured-media{min-height:220px;} body.page-blogs .featured-body{padding:30px 26px;} } body.page-blogs #blog-grid{padding-top:16px;} body.page-blogs .blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; } body.page-blogs .blog-card{ border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; display:flex; flex-direction:column; } body.page-blogs .blog-card:hover{transform:translateY(-5px); box-shadow:0 22px 40px -22px rgba(16,20,43,0.28);} body.page-blogs .blog-media{ position:relative; height:150px; overflow:hidden; } body.page-blogs .blog-media svg{position:absolute; inset:0; width:100%; height:100%;} body.page-blogs .blog-media .tag{ position:absolute; top:14px; left:14px; font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:rgba(16,20,43,0.35); backdrop-filter:blur(6px); padding:5px 10px; border-radius:20px; } body.page-blogs .blog-body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; } body.page-blogs .blog-body h3{ font-size:17.5px; font-weight:600; line-height:1.3; margin-bottom:10px; } body.page-blogs .blog-body p.excerpt{ font-size:13.5px; color:var(--slate); line-height:1.6; margin-bottom:18px; } body.page-blogs .blog-body .post-meta{margin-bottom:16px; margin-top:auto;} body.page-blogs .blog-body .read-link{font-size:13.5px;} @media (max-width:960px){ body.page-blogs .blog-grid{grid-template-columns:1fr 1fr;} } @media (max-width:620px){ body.page-blogs .blog-grid{grid-template-columns:1fr;} } body.page-blogs .load-more-wrap{ display:flex; justify-content:center; margin-top:48px; } body.page-blogs .cta-band{ background:var(--ink); border-radius:22px; padding:56px 64px; display:flex; align-items:center; justify-content:space-between; gap:40px; color:#fff; position:relative; overflow:hidden; } body.page-blogs .cta-band::before{ content:""; position:absolute; inset:0; background: radial-gradient(600px 300px at 85% 15%, rgba(139,92,246,0.4), transparent 60%), radial-gradient(500px 260px at 10% 100%, rgba(14,165,164,0.3), transparent 60%); pointer-events:none; } body.page-blogs .cta-band .copy{position:relative; z-index:1; max-width:46ch;} body.page-blogs .cta-band h2{color:#fff; font-size:clamp(24px,2.8vw,30px); font-weight:600; line-height:1.2;} body.page-blogs .cta-band p.lede2{color:#b7bcd6; font-size:14.5px; margin-top:12px; line-height:1.6;} body.page-blogs .cta-inline-form{ position:relative; z-index:1; display:flex; gap:10px; flex-shrink:0; } body.page-blogs .cta-inline-form input{ width:260px; border:1px solid rgba(255,255,255,0.2); background:rgba(255,255,255,0.06); border-radius:8px; padding:13px 16px; font-family:"Inter",sans-serif; font-size:14px; color:#fff; } body.page-blogs .cta-inline-form input::placeholder{color:#8d92ac;} body.page-blogs .cta-inline-form input:focus{outline:2px solid var(--violet); outline-offset:1px;} body.page-blogs .cta-inline-form button{ background:var(--grad-a); color:#fff; border:none; border-radius:8px; padding:13px 22px; font-weight:600; font-size:14px; cursor:pointer; white-space:nowrap; } body.page-blogs .cta-inline-form button:hover{opacity:.92; transform:translateY(-1px);} @media (max-width:820px){ body.page-blogs .cta-band{flex-direction:column; align-items:flex-start; padding:36px 26px;} body.page-blogs .cta-inline-form{flex-direction:column; width:100%;} body.page-blogs .cta-inline-form input{width:100%;} } body.page-blogs footer{ border-top:1px solid var(--line); padding:56px 0 28px; } body.page-blogs .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; } body.page-blogs .foot-grid h4{ font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); margin-bottom:16px; } body.page-blogs .foot-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;} body.page-blogs .foot-grid a{font-size:14.5px; color:var(--ink);} body.page-blogs .foot-grid a:hover{color:var(--indigo);} body.page-blogs .foot-grid p{font-size:14px; color:var(--slate); line-height:1.7; max-width:32ch;} body.page-blogs .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--slate); flex-wrap:wrap; gap:12px; } @media (max-width:820px){ body.page-blogs .foot-grid{grid-template-columns:1fr 1fr;} } body.page-blogs .reveal{ opacity:1;transform:none;} body.page-blogs .reveal.in{ opacity:1;transform:none;} @media (prefers-reduced-motion: reduce){ body.page-blogs .reveal{ opacity:1;transform:none;} }
/* Global typography and editorial alignment | 2026-10-15 */
:root { --site-font: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
html, body { font-family: var(--site-font); font-synthesis: none; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body, main, article, section, .content, .page-content, .report-content, .report-description, .card-text, .accordion-body { font-family: var(--site-font); }
main p, main li, main blockquote, article p, article li, .page-content p, .report-content p, .report-description p, .accordion-body p, .card-text { text-align: justify; text-justify: inter-word; overflow-wrap: break-word; hyphens: auto; }
/* Keep UI labels, headings, navigation and controls readable */
h1,h2,h3,h4,h5,h6,nav,header,footer,button,input,select,textarea,label,.btn,.nav-link,.breadcrumb,.badge,th,td { font-family: var(--site-font); }
@media (max-width: 575.98px) { main p, article p, .page-content p, .report-content p, .report-description p { hyphens: auto; } }
