:root{--navy:#011640;--blue:#1b75bb;--blue-soft:#e7f1fa;--tag-ink:#16659f;--accent:#e8832a;--accent-ink:#1a0f02;--accent-text:#b5560a;--bg:#fff;--surface:#f5f7fa;--border:#dce3ec;--text:#0e1a2e;--muted:#4a5870;--on-navy:#f3f7fc;--on-navy-muted:#b8c7dc;--on-navy-blue:#8cc8f2;--radius:12px;--max:1200px;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Archivo", "IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--blue:#5aaee8;--blue-soft:#10263f;--tag-ink:#5aaee8;--accent-text:#f29b4c;--bg:#0a1222;--surface:#111c30;--border:#22314a;--text:#e6edf7;--muted:#a3b3ca;color-scheme:dark}}:root[data-theme=dark]{--blue:#5aaee8;--blue-soft:#10263f;--tag-ink:#5aaee8;--accent-text:#f29b4c;--bg:#0a1222;--surface:#111c30;--border:#22314a;--text:#e6edf7;--muted:#a3b3ca;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:17px/1.6 var(--body);margin:0}img{max-width:100%;height:auto}a{color:var(--blue)}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0 0 .5em;line-height:1.08}h1{letter-spacing:-.02em;font-size:clamp(2.6rem,6vw,5rem);font-weight:800;font-stretch:118%;line-height:.98}h2{letter-spacing:-.015em;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;font-stretch:112%}h3{font-size:1.25rem;font-weight:700;line-height:1.25}p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding-inline:16px}@media (width>=720px){.wrap{padding-inline:24px}}.skip{position:absolute;left:-999px}.skip:focus{background:var(--bg);z-index:10;padding:8px 12px;top:8px;left:16px}.site-header{border-bottom:1px solid var(--border);background:var(--bg);top:env(safe-area-inset-top,0px);z-index:5;position:sticky}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.logo{align-items:center;display:inline-flex}.logo img{width:230px;height:auto;display:block}@media (width<=640px){.logo img{width:200px}}.nav{flex-wrap:wrap;align-items:center;gap:4px 28px;display:flex}.nav a{color:var(--text);padding:6px 0;font-size:.95rem;font-weight:500;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--blue)}@media (width<=640px){.site-header{position:static}.site-header .wrap{padding-block:10px}.nav{justify-content:space-between;width:100%}.nav .btn{display:none}}.to-top{display:none}@media (width<=640px){.to-top.show{z-index:6;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--accent);width:48px;height:48px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:1.4rem;font-weight:700;text-decoration:none;display:grid;position:fixed;box-shadow:0 4px 14px #00000040}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.btn{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:6px;padding:14px 24px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.15)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{color:inherit;background:0 0;border-color:currentColor}.nav .btn{color:#fff;padding:10px 18px}.nav .btn:hover{color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nav .btn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}}:root[data-theme=dark] .nav .btn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}section{padding-block:104px}section.tight{padding-block:40px}.alt{background:var(--surface)}.navy{background:var(--navy);color:var(--on-navy)}.navy .lead,.navy p{color:var(--on-navy-muted)}.navy .eyebrow{color:var(--on-navy-blue)}.navy a:not(.btn){color:var(--on-navy)}.orange{background:var(--accent);color:var(--accent-ink)}.orange p{color:var(--accent-ink)}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:1.1em;font-size:.8rem;font-weight:600}.eyebrow.warm{color:var(--accent-text)}.lead{color:var(--muted);max-width:44rem;font-size:1.15rem}.mono{font-family:var(--mono)}.hero{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:48px 48px;padding-block:96px 88px}.hero .lead{max-width:33rem;margin-top:28px;font-size:1.2rem}.hero .actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));align-items:center;gap:56px;display:grid}@media (width>=1000px){.hero-grid{grid-template-columns:1.15fr 1fr}}.hero h1{font-size:clamp(2.6rem,5.4vw,4.4rem);font-stretch:112%}.hero-grid>*{min-width:0}.page-hero{padding-block:72px 56px}.page-hero h1{font-size:clamp(2.4rem,5vw,3.75rem)}.split{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:end;gap:24px 64px;display:grid}.split .lead{margin:0}.row-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.row-head h2{margin:0}.proof{border-bottom:1px solid var(--border);padding-block:48px 56px}.proof-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:32px;display:grid}.proof-item{border-top:2px solid var(--text);flex-direction:column;gap:10px;min-width:0;padding-top:18px;display:flex}.proof-item .figure{font-family:var(--display);font-size:2.25rem;font-weight:800;font-stretch:112%;line-height:1.05}.proof-item p{margin:0}.proof-item .project{font-family:var(--mono);color:var(--muted);font-size:.75rem}.steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:32px;margin:56px 0 0;padding:0;list-style:none;display:grid}.steps li{border-top:2px solid var(--text);padding-top:18px}.steps .n{font-family:var(--mono);color:var(--blue);font-size:.8rem;font-weight:600}.steps strong{font-family:var(--display);margin:6px 0;font-size:1.25rem;display:block}.steps span{color:var(--muted);font-size:.95rem}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin-top:48px;display:grid}.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:40px}.grid.three p{color:var(--muted);margin:0}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.card p{color:var(--muted);margin:0}.tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.tags li{font-family:var(--mono);background:var(--blue-soft);color:var(--tag-ink);border-radius:999px;padding:3px 10px;font-size:.75rem}.chips{flex-wrap:wrap;align-items:center;gap:10px;margin:48px 0 0;padding:0;list-style:none;display:flex}.chips .label{font-family:var(--mono);color:var(--muted);margin-right:6px;font-size:.8rem}.chips li:not(.label){border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.9rem}.svc-list{border-top:1px solid #f3f7fc33;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));column-gap:32px;margin-top:48px;display:grid}.svc-list a{border-bottom:1px solid #f3f7fc33;flex-direction:column;gap:10px;padding-block:32px;text-decoration:none;display:flex}.svc-list .n{font-family:var(--mono);color:var(--on-navy-blue);font-size:.8rem}.svc-list .t{font-family:var(--display);color:var(--on-navy);font-size:1.35rem;font-weight:700;line-height:1.2}.svc-list .d{color:var(--on-navy-muted);font-size:.95rem}.svc-list .go{color:var(--on-navy);margin-top:6px;font-size:.95rem;font-weight:600}.svc-list a:hover .t{text-decoration:underline 2px}.work-card{color:var(--text);flex-direction:column;gap:12px;text-decoration:none;display:flex}.work-card .ind{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.work-card .figure{font-family:var(--display);color:var(--blue);font-size:2.5rem;font-weight:800;font-stretch:112%;line-height:1}.work-card .fl{color:var(--muted);font-size:.9rem}.work-card .t{font-family:var(--display);margin-top:8px;font-size:1.25rem;font-weight:700;line-height:1.25}.work-card .tg{font-family:var(--mono);color:var(--muted);font-size:.8rem}.work-card .go{color:var(--blue);margin-top:auto;font-weight:600}.work-card:hover{border-color:var(--blue)}.stack{flex-wrap:wrap;align-items:center;gap:12px 32px;font-weight:600;display:flex}.stack .label{font-family:var(--mono);color:var(--muted);font-size:.8rem;font-weight:400}.cta-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:center;gap:32px;display:grid}.cta-grid h2{margin:0;font-stretch:115%}.cta-grid p{font-size:1.15rem}.cta-grid .mail{font-family:var(--mono);margin-left:16px;font-size:.9rem}.cta{text-align:center}.cta .lead{margin:0 auto 24px}.flow{color:var(--on-navy);flex-direction:column;gap:10px;font-size:.85rem;display:flex}.flow .row{gap:8px;display:grid}.flow .row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.flow .row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.flow .src{text-align:center;border:1px solid #f3f7fc59;border-radius:6px;padding:10px 6px;line-height:1.3}.flow .hop{text-align:center;font-family:var(--mono);color:var(--on-navy-blue);font-size:.75rem}.flow .lake{background:#ffffff08;border:1px dashed #f3f7fc73;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.flow .lake-label{font-family:var(--mono);letter-spacing:.12em;color:var(--on-navy-blue);font-size:.75rem}.flow .layer{border:1.5px solid;border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.flow .layer b{font-family:var(--display);font-size:1rem}.flow .layer span{font-family:var(--mono);opacity:.85;font-size:.75rem}.flow .bronze{background:#c88b4f38;border-color:#c88b4f}.flow .silver{background:#a9b6c638;border-color:#a9b6c6}.flow .gold{background:#e2b53e3d;border-color:#e2b53e}.flow .out{text-align:center;background:var(--on-navy);color:var(--navy);border-radius:6px;padding:12px 6px;font-weight:600}.flow .out.hot{background:var(--accent);color:var(--accent-ink)}@media (width<=420px){.flow .row.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.flow button{font:inherit;color:inherit;cursor:pointer;width:100%;transition:transform .12s,box-shadow .12s,border-color .12s}.flow .src{background:0 0}.flow .layer{color:var(--on-navy);text-align:left}.flow .out{border:0}.flow button:hover{border-color:var(--on-navy);transform:translateY(-1px)}.flow .out:hover{box-shadow:0 0 0 2px #f3f7fc80}.flow button[aria-expanded=true]{box-shadow:0 0 0 3px var(--on-navy-blue);border-color:var(--on-navy-blue)}.flow .flow-detail{background:#ffffff0a;border:1px solid #f3f7fc40;border-radius:10px;min-height:52px;margin-top:8px;padding:14px 16px}.flow .flow-hint{font-family:var(--mono);color:var(--on-navy-blue);margin:0;font-size:.75rem}.flow .flow-kind{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-blue);font-size:.7rem}.flow .flow-title{font-family:var(--display);margin:2px 0 6px;font-size:1.1rem;font-weight:700}.flow .flow-text{color:var(--on-navy-muted);margin:0 0 10px;font-size:.9rem;line-height:1.5}.flow .flow-link{color:var(--on-navy);font-size:.9rem;font-weight:600}@media (prefers-reduced-motion:reduce){.flow button{transition:none}.flow button:hover{transform:none}}.approval{background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:56px;padding:32px;display:flex}.service .approval{margin-top:8px}.approval .col{flex-direction:column;flex:140px;gap:8px;display:flex}.approval .cap{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);font-size:.75rem}.approval .chip{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-weight:500}.approval .sys{border:1px solid var(--text);text-align:center;border-radius:6px;padding:8px 12px}.approval .step{background:var(--bg);border:1px solid var(--border);text-align:center;border-radius:8px;flex:130px;padding:16px}.approval .step b{font-family:var(--display);display:block}.approval .step small{color:var(--muted);font-size:.8rem}.approval .step.human{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);flex:1.3 180px}.approval .step.human small{color:var(--accent-ink)}.approval .step.human b{font-size:1.1rem;font-weight:800}.approval .step.exec{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.approval .step.exec small{color:var(--on-navy-muted)}.approval .arrow{font-family:var(--mono);color:var(--muted);text-align:center;font-size:.8rem}@media (width<=640px){.approval{padding:20px}.approval .arrow{flex-basis:100%}.approval .arrow br{display:none}}.approval-note{color:var(--muted);margin-top:12px;font-size:.9rem}.icon{color:var(--blue);margin-bottom:12px;display:block}.diagram{margin:0}.diagram svg{width:100%;max-width:100%;height:auto;display:block}.diagram figcaption{color:var(--muted);margin-top:8px;font-size:.9rem}.lifecycle{max-width:470px;margin-top:28px}.service{border-top:1px solid var(--border);gap:24px 56px;padding-block:64px;display:grid}.service:first-of-type{border-top:0}@media (width>=860px){.service{grid-template-columns:1fr 1.3fr}}.service>*{min-width:0}.service ul{margin:0;padding-left:1.2em}.service li{margin-bottom:.45em}.span-all{grid-column:1/-1;min-width:0}.ai-list{gap:28px 32px;display:grid}@media (width>=640px){.ai-list{grid-template-columns:1fr 1fr}}.ai-list>div{min-width:0}.ai-list h3{margin-bottom:.3em;font-size:1.1rem}.ai-list p{color:var(--muted);margin:0;font-size:.97rem}.case{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-top:24px;padding:32px}.case .meta{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.case dl{gap:4px 24px;margin:16px 0 0;display:grid}@media (width>=720px){.case dl{grid-template-columns:9rem 1fr}}.case dt{font-weight:600}.case dd{color:var(--muted);margin:0 0 10px}.person .role{font-family:var(--mono);color:var(--blue);margin-bottom:12px;font-size:.85rem}.person p+p{margin-top:12px}form{gap:16px;max-width:560px;display:grid}label{gap:6px;font-weight:600;display:grid}input,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;padding:12px}input:focus,textarea:focus{border-color:var(--blue)}textarea{resize:vertical;min-height:150px}.hp{position:absolute;left:-9999px}label.check{align-items:flex-start;gap:10px;font-weight:400;display:flex}label.check input{width:auto;margin-top:4px}.notice{color:#7a1c12;background:#fdecea;border-radius:8px;padding:12px 16px}.two-col{gap:48px;display:grid}@media (width>=860px){.two-col{grid-template-columns:1.3fr 1fr}}.site-footer{background:var(--navy);color:var(--on-navy-muted);padding-block:48px;font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.site-footer strong{font-family:var(--display);color:var(--on-navy);font-size:1rem}.site-footer a{color:var(--on-navy-muted)}.site-footer .links{flex-wrap:wrap;gap:8px 24px;display:flex}.site-footer .subscribe{gap:8px;max-width:360px}.site-footer .subscribe label{color:var(--on-navy);font-weight:600}.site-footer .subscribe .row{gap:8px;display:flex}.site-footer .subscribe input{padding:10px 12px}.avatar{object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:18px;display:block}.avatar.initials{background:var(--navy);color:var(--on-navy);font-family:var(--display);place-items:center;font-size:1.6rem;font-weight:800;display:grid}.hero h1{max-width:12ch}.hero-note{margin:28px 0 0;font-size:.9rem}.hero-note,.navy .hero-note{color:var(--on-navy-muted)}.qa-stack{flex-direction:column;gap:12px;display:flex}.qa-cap{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;color:var(--on-navy-blue)!important}.qa{background:#ffffff0f;border:1px solid #f3f7fc2e;border-radius:12px;flex-direction:column;gap:6px;padding:20px 22px;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.qa:hover{border-color:var(--on-navy-blue);background:#ffffff17}.qa .q{font-family:var(--display);color:var(--on-navy);font-size:1.2rem;font-weight:700;line-height:1.25}.qa .a{color:var(--on-navy-muted);font-size:.95rem}.qa .who{font-family:var(--mono);color:var(--on-navy-blue);font-size:.75rem}.qa:first-of-type{border-color:var(--accent)}.problems{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:0 40px;margin-top:48px;display:grid}.problem{border-bottom:1px solid var(--border);color:var(--text);flex-direction:column;gap:10px;padding:28px 0;text-decoration:none;display:flex}.problem .p{font-family:var(--display);font-size:1.25rem;font-weight:700;line-height:1.3}.problem .a{color:var(--muted)}.problem .go{color:var(--blue);font-size:.9rem;font-weight:600}.problem:hover .p{color:var(--blue)}.navy-panel{background:var(--navy);border-radius:14px;padding:28px}@media (prefers-reduced-motion:reduce){.qa{transition:none}}.crumbs{font-family:var(--mono);color:var(--muted);margin-bottom:20px;font-size:.8rem}.case-figure{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:24px 0 0;display:flex}.case-figure .figure{font-family:var(--display);color:var(--blue);font-size:2.5rem;font-weight:800;font-stretch:112%;line-height:1}.case-body{max-width:760px}.case-body h2{margin:40px 0 10px;font-size:1.5rem}.case-body h2:first-child{margin-top:0}.case-body p{font-size:1.05rem}.case-note{color:var(--muted);margin-top:16px;font-size:.9rem}.case-link h2 a{color:var(--text);text-decoration:none}.case-link h2 a:hover{color:var(--blue)}.approval .example-tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);flex-basis:100%;margin-bottom:4px;font-size:.75rem}.approval .step small{margin-top:4px;line-height:1.4;display:block}.partner-band{border-top:1px solid var(--border)}.partner{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:center;gap:32px 64px;display:grid}.partner>*{min-width:0}.partner-logo{border:1px solid var(--border);border-radius:var(--radius);background:#fff;place-items:center;padding:48px 40px;display:grid}.partner-logo img{width:100%;max-width:360px;height:auto;display:block}.partner p:not(.eyebrow){color:var(--muted)}.partner p:last-child{margin:0}.partner-band .partner{border-top:1px solid var(--border);margin-top:48px;padding-top:48px}.partner-band .partner:first-of-type{border-top:0;padding-top:0}.partner h3{font-size:1.6rem}.hero.has-video{isolation:isolate;background-image:none;position:relative;overflow:hidden}.hero-video{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero.has-video:before{content:"";z-index:-1;background-color:#011640c7;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.hero.has-video .qa{backdrop-filter:blur(2px);background:#0116408c}.shot{margin:28px 0 8px}.shot img{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;height:auto;display:block}.shot figcaption{color:var(--muted);margin-top:10px;font-size:.9rem}.shot .credit{margin-top:4px;font-size:.75rem;display:block}.shot .credit a{color:var(--muted)}.policy ul{padding-left:1.2em}.policy li{color:var(--muted);margin-bottom:.6em}.policy li strong{color:var(--text)}.post-meta{font-family:var(--mono);color:var(--muted);margin:18px 0 0;font-size:.85rem}.prose h2{margin:40px 0 10px;font-size:1.5rem}.prose h3{margin:28px 0 8px;font-size:1.2rem}.prose p,.prose li{font-size:1.05rem}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}.prose li{margin-bottom:.4em}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:24px 0;padding:4px 0 4px 18px}.prose code{font-family:var(--mono);background:var(--surface);border-radius:4px;padding:1px 5px;font-size:.9em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border:1px solid var(--border);border-radius:8px}.prose table{border-collapse:collapse;margin:0 0 1em;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:8px 12px}.prose ul.tags{margin-top:32px;padding-left:0}.prose .tags li{margin:0;font-size:.75rem}.proof-item .figure .unit{margin-top:2px;font-size:1.05rem;font-weight:700;font-stretch:105%;display:block}
