@font-face{font-family:'IBM Plex Sans';src:url(Plex-400.ttf);font-weight:400;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url(Plex-500.ttf);font-weight:500;font-display:swap}
:root{--cobalt:#233FD6;--ink:#151D3B;--muted:#545D78;--ice:#F3F5FF;--line:#D7DDEC}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font:400 18px/1.56 'IBM Plex Sans',sans-serif;font-synthesis:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-underline-offset:6px}img{display:block;max-width:100%;height:auto}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid var(--cobalt);outline-offset:6px}.wrap{width:calc(100% - 160px);max-width:1280px;margin-inline:auto}.skip{position:absolute;top:-100px;left:24px;padding:16px;background:#fff;z-index:10}.skip:focus{top:8px}.header{display:flex;align-items:center;justify-content:space-between;padding-block:24px;gap:32px;position:relative}.identity{display:flex;align-items:center;gap:16px;font-size:17.6px;font-weight:500;text-decoration:none}.mark{padding:8px}.mark img{width:32px;height:auto}.desktop-nav{display:flex;gap:40px;font-size:16px}.desktop-nav a{text-decoration:none;padding-block:12px}.desktop-nav a:hover{text-decoration:underline}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-block:64px 80px}.hero h1{font-size:clamp(36px,4.45vw,64px);line-height:1.07}.hero h1 span{color:var(--cobalt)}.hero .eyebrow{margin-bottom:24px}.hero .lead{font-size:24px;line-height:1.4;margin-top:32px;max-width:540px}.hero-art{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--cobalt);color:#fff;font-size:16px;padding:16px 24px;margin-top:32px;text-decoration:none}.button:hover{background:var(--ink)}.eyebrow{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.mission{display:grid;grid-template-columns:1fr 3fr;gap:48px;padding-block:56px 72px;border-top:1px solid var(--line)}.mission>p:last-child{font-size:28px;line-height:1.4;max-width:850px}.mission .eyebrow{padding-top:8px}.work{padding-block:56px 96px}.section-heading{margin-bottom:48px}.section-heading h2{font-size:40px;line-height:1.2;margin-top:16px}.product{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:48px;border-top:1px solid var(--line)}.product-copy{max-width:510px}.product h3{font-size:36px;line-height:1.15;margin-bottom:24px}.product .situation{font-size:24px;line-height:1.35;margin-bottom:20px}.product-copy>p:not(.situation){color:var(--muted)}.product>img{width:100%}.text-link{display:inline-flex;justify-content:space-between;gap:32px;align-items:center;font-size:16px;padding-block:14px 8px;border-bottom:1px solid var(--ink);text-decoration:none;margin-top:24px;min-height:44px}.text-link:hover{color:var(--cobalt);border-color:var(--cobalt)}.research{background:var(--ice);padding-block:80px 88px}.research h2{font-size:48px;line-height:1.15;max-width:720px;margin-top:24px}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:56px}.research-grid article{border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:40px}.research h3{font-size:28px;line-height:1.25;margin-top:20px}.research .situation{font-size:24px;line-height:1.35;margin-top:24px}.research article p:not(.eyebrow):not(.situation){margin-top:24px;color:var(--muted)}.research .method{font-size:14px}.approach{padding-block:96px;max-width:1280px}.approach h2{font-size:48px;line-height:1.15;max-width:850px;margin-top:24px}.approach>p:not(.eyebrow){max-width:760px;margin-top:24px;color:var(--muted)}footer{background:var(--ink);color:#fff;padding-block:56px}.footer-layout{display:grid;grid-template-columns:1fr 2fr 1fr;gap:48px}.footer-brand{text-decoration:none;font-size:24px;font-weight:500}.footer-products,.footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:16px}.footer-products a,.footer-legal a{text-decoration:none;padding-block:4px}.footer-products a:hover,.footer-legal a:hover{text-decoration:underline}footer a:focus-visible{outline-color:#fff}[hidden]{display:none!important}
@media(max-width:1100px){.wrap{width:calc(100% - 96px)}.hero{gap:32px}.hero .lead{font-size:20px}.hero h1{font-size:44px}.product{gap:40px}.research-grid{gap:40px}.footer-layout{grid-template-columns:1fr 2fr 1fr;gap:32px}}
@media(max-width:760px){.wrap{width:calc(100% - 48px)}.header{padding-block:12px}.desktop-nav{display:none}.menu{display:block;font-size:16px}.menu summary{cursor:pointer;min-height:44px;padding:10px 0 10px 16px}.menu nav{position:absolute;top:80px;left:0;right:0;background:#fff;z-index:3;display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);gap:8px;box-shadow:0 12px 24px #151d3b12}.menu nav a{padding-block:12px}.hero{display:flex;flex-direction:column;gap:40px;padding-block:40px 48px;align-items:stretch}.hero h1{font-size:40px;line-height:1.1}.hero .lead{font-size:20px;line-height:1.4;margin-top:24px}.hero .eyebrow{margin-bottom:24px}.hero-art{width:100%}.mission{display:block;padding-block:40px 48px}.mission>p:last-child{font-size:24px;line-height:1.4;margin-top:24px}.work{padding-block:24px 48px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:32px;line-height:1.25}.product{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-block:32px 40px}.product h3{font-size:32px;margin-bottom:24px}.product .situation{font-size:24px}.product-copy{max-width:none}.research{padding-block:48px}.research h2{font-size:36px}.research-grid{grid-template-columns:1fr;gap:40px;margin-top:40px}.research h3{font-size:28px}.research .situation{font-size:22px}.approach{padding-block:64px}.approach h2{font-size:36px}.footer-layout{grid-template-columns:1fr;gap:32px}footer{padding-block:40px}.footer-legal{border-top:1px solid #545D78;padding-top:24px}.footer-products,.footer-legal{gap:8px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:36px}.research h2,.approach h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* t_999cdcdf: wrap the shared header at narrow effective (zoomed) widths.
   Keep identity and Menu available; never conceal document overflow. */
@media(max-width:760px){
 .header{position:relative;flex-wrap:wrap;row-gap:12px}
 .header .identity{max-width:100%;flex-wrap:wrap;row-gap:0}
 .header .identity .mark{flex-shrink:0}
 .header .menu{max-width:100%;margin-left:auto}
 .header .menu summary{min-height:44px}
 .header .menu nav,.owner-internal .header .menu nav{
  top:100%;left:0;right:0;min-width:0;max-width:100%;padding:8px;
  overflow-wrap:anywhere;
 }
 .header .menu nav a{min-width:0;min-height:44px;padding-inline:0}
}

/* Closed disclosure contents must not contribute intrinsic overflow. */
.header .menu:not([open]) nav{display:none}
.header{flex-wrap:wrap;row-gap:12px}
.header .desktop-nav{flex-wrap:wrap}

/* Footer responds to its available inline size, including CSS zoom. */
footer{container-type:inline-size}
.footer-layout>*{min-width:0}
.footer-layout a{max-width:100%;overflow-wrap:anywhere}
@container(max-width:560px){
 .footer-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .footer-legal{border-top:1px solid #545D78;padding-top:24px}
}
/* Keep approach CTA arrow inside the text column when CSS zoom narrows it. */
.approach .text-link{max-width:100%;flex-wrap:wrap;overflow-wrap:anywhere}
.art-home .approach>*{min-width:0;overflow-wrap:anywhere}
