@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:wght@500;600;700&display=swap');
:root{--ink:#101418;--black:#080c10;--paper:#f2f6fa;--white:#fff;--silver:#c8d0dc;--blue:#48b8e8;--navy:#1a4870;--card:#182028;--line:#305878;--green:#1a5c2a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--black);font:16px/1.7 'IBM Plex Sans',sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{background:var(--ink);color:var(--white);border-bottom:1px solid #304858}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between}.logo{font:700 32px/1 'IBM Plex Serif';color:var(--white)}nav{display:flex;align-items:center;gap:24px;text-transform:uppercase;letter-spacing:.08em;font-size:12px}nav a:hover,footer a:hover{color:var(--blue)}.nav-cta{border:1px solid var(--blue);padding:10px 16px;color:var(--blue)}.menu-toggle{display:none;background:none;border:0;color:var(--blue);font-size:24px}.hero{min-height:85vh;position:relative;display:flex;align-items:center;color:var(--white);background:var(--ink);overflow:hidden}.hero img{max-width:100%;height:auto;display:block}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.35))}.hero-content{position:relative;z-index:1;max-width:780px;padding:96px 0}.hero h1{font:600 clamp(36px,6vw,58px)/1.1 'IBM Plex Serif';color:var(--white);margin:0 0 24px}.hero p{color:var(--silver);font-size:19px;max-width:680px}.btn{display:inline-block;background:var(--blue);color:var(--white);padding:13px 21px;border:1px solid var(--blue);font-weight:600;margin:14px 10px 0 0}.btn.alt{background:transparent;color:var(--white);border-color:var(--white)}section{padding:88px 0}section h2{font:600 clamp(28px,4vw,42px)/1.2 'IBM Plex Serif';color:var(--navy);margin:0 0 18px}section h3{color:var(--navy);font-size:20px}.dark{background:var(--ink);color:var(--white)}.dark h2,.dark h3,.dark p{color:var(--white)}.dark h3{color:var(--blue)}.lead{font-size:18px;max-width:760px}.grid-2,.grid-3,.grid-4,.footer-grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{padding:28px;background:var(--white);border:1px solid var(--navy);overflow:hidden}.dark .card{background:var(--card);border-color:var(--blue)}.card p{color:var(--black)}.dark .card p{color:var(--silver)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:stretch}.split img,.content-img{width:100%;height:330px;object-fit:cover;display:block}.stats{background:var(--navy);color:var(--white)}.stats h3{color:var(--blue);font:600 42px 'IBM Plex Serif'}.stats p{color:var(--white)}.quote{background:var(--ink);border-left:3px solid var(--blue);color:var(--blue);font:italic 25px/1.5 'IBM Plex Serif'}.steps .number{font:64px 'IBM Plex Serif';color:var(--navy);opacity:.4}.page-hero{background:var(--ink);color:var(--white);padding:72px 0}.page-hero h1{font:600 48px 'IBM Plex Serif';color:var(--white)}.page-hero p{color:var(--silver);max-width:740px}.article-layout{display:grid;grid-template-columns:1fr 280px;gap:48px}.sidebar{background:var(--ink);padding:24px;color:var(--silver);height:max-content}.sidebar h3{color:var(--blue);text-transform:uppercase;font-size:12px;letter-spacing:.1em}.sidebar a{display:block;padding:8px 0}.sidebar a:hover{color:var(--blue)}table{width:100%;border-collapse:collapse;background:var(--white);margin:24px 0}th,td{padding:15px;text-align:left;border:1px solid #b9c8d6;color:#172033}th{background:var(--navy);color:var(--white)}.callout{border-left:4px solid var(--blue);background:#dcecf5;padding:24px}.site-footer{background:var(--black);color:var(--silver);padding:64px 0 24px}.footer-grid{grid-template-columns:1.5fr 1fr 1.4fr 1.4fr}.site-footer h3{color:var(--blue);text-transform:uppercase;font-size:11px;letter-spacing:.12em}.site-footer a{display:block;margin:6px 0;color:#90a8c0}.footer-bottom{border-top:1px solid #304858;margin-top:48px;padding-top:18px;color:#90a8c0}.cookie{position:fixed;bottom:0;left:0;right:0;background:var(--ink);border-top:2px solid var(--blue);color:var(--white);padding:14px 5%;display:flex;align-items:center;gap:18px;z-index:5}.cookie p{margin:0;flex:1}.cookie button,.cookie a:not(.btn){background:none;border:0;color:var(--silver);cursor:pointer}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea{padding:14px;border:1px solid var(--line);font:inherit}.contact-form textarea{min-height:150px}.success{background:var(--green);color:var(--white);padding:16px}@media(max-width:768px){.wrap{width:min(100% - 32px,600px)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:24px;flex-direction:column;align-items:flex-start;z-index:4}.nav-open nav{display:flex}.menu-toggle{display:block}.hero{min-height:60vh}.hero-content{padding:64px 0}.grid-2,.grid-3,.grid-4,.split,.article-layout,.footer-grid{grid-template-columns:1fr}section{padding:48px 0}.page-hero h1{font-size:36px}.cookie{flex-wrap:wrap}.cookie p{flex-basis:100%}}

/* BUG-IMG: Safe image sizing */
img{max-width:100%;height:auto;display:block}
.card img,.article-card img,.info-card img{width:100%;height:220px;object-fit:cover;display:block}
.card,.article-card,.info-card{overflow:hidden}
.hero img,.hero-img,.banner img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.split img{width:100%;max-height:460px;object-fit:cover;display:block}
/* BUG2: paragraph link blue highlight */
.section p a,.content p a,.policy p a,.prose p a,.article p a,.legal p a,
.wrap p a,.page-content p a,.container p a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.dark p a,.hero p a,.stats p a,.cta p a,.callout p a,.site-footer p a,.footer p a{color:#fff;text-decoration:underline}
/* BUG3: prevent double-grid section+wrap */
section.split,section.grid-2,section.grid-3,section.grid-4,
section.timeline,section.stats,section.stat-grid,section.articles,
section.features,section.collection,section.showcase,section.hero{display:block}
.split > div,.grid-2 > div,.grid-3 > div{min-width:0}
/* BUG3-ext */
section.split{display:block}