@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root { --navy:#07142b; --ink:#0d1a30; --paper:#f7f6f1; --soft:#e9edf0; --line:#bdc5cb; --blue:#6284a4; --serif: Georgia, 'Times New Roman', serif; --sans:'IBM Plex Sans',Arial,sans-serif; --mono:'IBM Plex Mono',monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; }
.skip-link { position:absolute; left:12px; top:-50px; z-index:10; padding:10px; background:var(--paper); }.skip-link:focus { top:12px; }
.site-header { width:min(1052px,calc(100% - 48px)); height:66px; margin:32px auto 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.wordmark { width:172px; line-height:1; text-decoration:none; display:flex; flex-direction:column; gap:4px; }.wordmark img { display:block; width:172px; height:30px; object-fit:contain; filter:brightness(0) saturate(100%) invert(8%) sepia(32%) saturate(1561%) hue-rotate(181deg) brightness(93%) contrast(94%); }.wordmark small { width:172px; color:#455166; font-family:var(--mono); font-size:8.5px; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.primary-nav { display:flex; gap:26px; align-items:center; }.primary-nav a { font-family:var(--mono); font-size:10px; letter-spacing:.02em; text-decoration:none; }.primary-nav a:hover,.primary-nav a:focus-visible { color:#567a9b; }.menu-toggle { display:none; }
.section-shell { width:min(1024px,calc(100% - 48px)); margin:auto; }.hero { padding:142px 0 108px; }.kicker,.section-number { font:500 10px/1.4 var(--mono); letter-spacing:.13em; text-transform:uppercase; }.kicker { margin:0 0 22px; color:#506378; }.hero-grid { display:grid; grid-template-columns:1.5fr .72fr; gap:75px; align-items:end; }.hero h1,.section-intro h2,.ecosystem h2,.contact h2,.capabilities h2 { margin:0; font:normal clamp(48px,6vw,85px)/.93 var(--serif); letter-spacing:-.065em; }.hero-copy { padding-bottom:5px; }.hero-copy p:not(.status),.section-intro>p:last-child,.ecosystem-copy>p:last-child,.contact>p,.capabilities-intro>p { color:#455166; font-size:17px; line-height:1.55; }.status { margin:0 0 20px; color:#455166; font:10px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.status span { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#7899b4; }.text-link { display:inline-flex; gap:18px; margin-top:25px; padding-bottom:5px; border-bottom:1px solid var(--ink); font:500 11px var(--mono); text-decoration:none; }.text-link b,.button b { font-size:16px; line-height:.7; }.hero-rule { display:flex; align-items:center; gap:12px; margin-top:89px; }.hero-rule:before,.hero-rule:after { content:""; height:1px; flex:1; background:var(--line); }.hero-rule span { width:7px; height:7px; border:1px solid var(--ink); border-radius:50%; }
.foundations { display:grid; grid-template-columns:112px 1fr; padding:113px 0 130px; }.section-number { margin:3px 0 0; color:#788497; }.section-intro { max-width:685px; }.section-intro h2,.capabilities h2 { font-size:clamp(42px,5.2vw,70px); }.section-intro>p:last-child { max-width:490px; margin:28px 0 55px; }.foundation-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }.foundation-grid article { min-height:216px; padding:17px 17px 20px 0; border-right:1px solid var(--line); }.foundation-grid article+article { padding-left:17px; }.foundation-grid article:last-child { border-right:0; }.foundation-grid span,.capability-grid span { color:#607487; font:10px var(--mono); }.foundation-grid h3,.capability-grid h3 { margin:63px 0 12px; font:normal 26px var(--serif); letter-spacing:-.04em; }.foundation-grid p,.capability-grid p { margin:0; color:#556174; font-size:13px; line-height:1.5; }
.capabilities { padding:0 0 130px; }.capabilities-intro { display:grid; grid-template-columns:1.35fr .72fr; gap:75px; align-items:end; padding:0 0 55px; border-bottom:1px solid var(--ink); }.capabilities h2 { max-width:650px; }.capabilities-intro>p { max-width:300px; margin:0 0 4px; }.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }.capability-grid article { min-height:235px; padding:17px 17px 22px 0; border-right:1px solid var(--line); }.capability-grid article:nth-child(3n+2),.capability-grid article:nth-child(3n+3) { padding-left:17px; }.capability-grid article:nth-child(3n) { border-right:0; }.capability-grid article:nth-child(-n+3) { border-bottom:1px solid var(--line); }.capability-grid h3 { margin-top:52px; font-size:23px; }.capability-note { display:flex; gap:28px; align-items:baseline; padding-top:24px; }.capability-note .status { flex:0 0 auto; margin:0; }.capability-note p { max-width:570px; margin:0; color:#556174; font-size:13px; line-height:1.5; }.capability-note a { text-decoration:underline; text-underline-offset:3px; }
.principles { background:var(--navy); color:#f7f6f1; }.principles .section-shell { padding:107px 0 112px; }.principles .section-number,.principles .kicker { color:#a7b5c5; }.principles-header { display:flex; align-items:start; justify-content:space-between; margin:0 0 60px 112px; }.principles-header .kicker { margin:0; }.principles-header>p:last-child { max-width:260px; margin:0; color:#bec8d3; font-size:14px; line-height:1.5; }.principle-list { margin-left:112px; border-top:1px solid #6d7988; }.principle-list article { display:grid; grid-template-columns:1fr 260px; align-items:baseline; padding:21px 0; border-bottom:1px solid #485568; }.principle-list h2 { margin:0; font:normal clamp(34px,4vw,56px)/1 var(--serif); letter-spacing:-.05em; }.principle-list p { margin:0; color:#b7c4d0; font-size:14px; }
.ecosystem { display:grid; grid-template-columns:112px 1fr 280px; padding:119px 0 131px; }.ecosystem-copy { max-width:510px; }.ecosystem-copy h2 { font-size:clamp(42px,5vw,70px); }.ecosystem-copy>p:last-child { max-width:430px; margin:29px 0 0; }.ecosystem-links { align-self:end; border-top:1px solid var(--ink); }.ecosystem-links a { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); font:normal 22px var(--serif); text-decoration:none; }.ecosystem-links a:hover { color:#587b99; }.ecosystem-links b { font:15px var(--mono); }
.contact { padding:104px 0 108px; border-top:1px solid var(--ink); }.contact h2 { font-size:clamp(46px,5.6vw,76px); }.contact>p { max-width:380px; margin:27px 0 30px; }.button { display:inline-flex; align-items:center; gap:34px; padding:15px 17px; color:var(--paper); background:var(--navy); font:500 11px var(--mono); text-decoration:none; }.button:hover,.button:focus-visible { background:#284761; }
.site-footer { color:#f7f6f1; background:var(--navy); }.footer-shell { position:relative; display:grid; grid-template-columns:2fr 1fr 1fr; column-gap:50px; width:min(1024px,calc(100% - 48px)); min-height:167px; margin:auto; padding:29px 0 30px; }.footer-statement { align-self:end; font:normal 21px/1.05 var(--serif); letter-spacing:-.04em; }.footer-group { display:flex; flex-direction:column; gap:7px; align-self:end; }.footer-group p { margin:0 0 7px; color:#a8b7c6; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.footer-group a { color:#f2f1ed; font-size:11px; text-decoration:none; }.footer-group a:hover { color:#a7c0d5; }.footer-meta { position:absolute; right:0; top:30px; color:#a8b7c6; font:10px var(--mono); }
@media (max-width:700px) { .site-header { width:calc(100% - 40px); margin-top:20px; }.section-shell,.footer-shell { width:calc(100% - 40px); }.menu-toggle { display:flex; align-items:center; gap:12px; padding:8px 0; border:0; background:transparent; color:var(--ink); font:10px var(--mono); text-transform:uppercase; }.menu-toggle i,.menu-toggle i:before { display:block; width:18px; height:1px; background:currentColor; content:""; }.menu-toggle i:before { transform:translateY(-5px); }.primary-nav { display:none; position:absolute; top:86px; left:20px; right:20px; z-index:3; flex-direction:column; align-items:start; gap:0; padding:14px; background:var(--paper); border:1px solid var(--ink); }.primary-nav.is-open { display:flex; }.primary-nav a { width:100%; padding:13px 0; border-bottom:1px solid var(--line); }.primary-nav a:last-child { border:0; }.hero { padding:96px 0 73px; }.hero-grid,.ecosystem,.capabilities-intro { grid-template-columns:1fr; gap:30px; }.hero h1 { font-size:clamp(48px,14vw,66px); }.hero-copy p:not(.status),.section-intro>p:last-child,.ecosystem-copy>p:last-child,.contact>p,.capabilities-intro>p { font-size:15px; }.hero-rule { margin-top:57px; }.foundations { grid-template-columns:1fr; gap:25px; padding:76px 0 80px; }.capabilities { padding-bottom:80px; }.section-intro h2,.ecosystem h2,.contact h2,.capabilities h2 { font-size:clamp(42px,13vw,60px); }.foundation-grid { grid-template-columns:1fr 1fr; }.foundation-grid article:nth-child(2) { border-right:0; }.foundation-grid article:nth-child(-n+2) { border-bottom:1px solid var(--line); }.capabilities-intro { padding-bottom:35px; }.capability-grid { grid-template-columns:1fr 1fr; }.capability-grid article:nth-child(3n+2),.capability-grid article:nth-child(3n+3) { padding-left:0; }.capability-grid article:nth-child(even) { padding-left:17px; border-right:0; }.capability-grid article:nth-child(odd) { border-right:1px solid var(--line); }.capability-grid article:nth-child(3) { border-bottom:1px solid var(--line); }.capability-grid article:nth-child(3n+3) { border-right:0; }.capability-grid h3 { margin-top:42px; font-size:21px; }.capability-note { display:block; padding-top:22px; }.capability-note p { margin-top:16px; }.principles .section-shell { padding:73px 0 76px; }.principles-header,.principle-list { margin-left:0; }.principles-header { display:block; margin-bottom:39px; }.principles-header>p:last-child { margin-top:18px; }.principle-list article { grid-template-columns:1fr; gap:12px; padding:18px 0; }.ecosystem { padding:80px 0; }.ecosystem-links { margin-top:15px; }.contact { padding:78px 0; }.footer-shell { grid-template-columns:1fr 1fr; row-gap:29px; padding:28px 0 55px; }.footer-statement { grid-column:1 / -1; }.footer-meta { top:auto; bottom:23px; left:0; right:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
