body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,Helvetica,sans-serif;margin:0}button,input{font:inherit}:root{--paper:#fbfaf8;--ink:#101820;--muted:#596475;--label:#5f6d7c;--line:#dce1e5;--blue:#2877bd;--teal:#12bfb2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{background:#fbfaf8;background:var(--paper);color:#101820;color:var(--ink);overflow-x:hidden}a{text-decoration:none}a,button{color:inherit}button{background:none;border:0;cursor:pointer;font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #2877bd;outline:2px solid var(--blue);outline-offset:6px}a:hover{color:#2877bd;color:var(--blue)}.skip-link{background:#fff;left:20px;padding:12px;position:fixed;top:-60px;z-index:10}.skip-link:focus{top:12px}.site-header{align-items:center;display:flex;justify-content:space-between;left:50%;padding:25px 0;position:absolute;top:0;transform:translateX(-50%);width:min(1296px,88%);z-index:5}.wordmark{font-size:23px;font-weight:600;letter-spacing:-.8px}nav{display:flex;font-size:14px;gap:34px}nav a[aria-current=page]{text-decoration:underline;text-decoration-color:#12bfb2;text-decoration-color:var(--teal);text-underline-offset:5px}.page{margin:auto;max-width:1190px}.globe-intro{--scroll-progress:0;height:125svh;position:relative}.globe-stage{display:grid;height:100svh;min-height:620px;overflow:hidden;place-items:center;position:sticky;top:0}.opening-kicker{color:#5f6d7c;color:var(--label);font-size:11px;font-weight:600;left:50%;letter-spacing:2.4px;margin:0;opacity:calc(1 - var(--scroll-progress)*1.5);position:absolute;text-transform:uppercase;top:17%;transform:translateX(-50%)}.opening-copy{bottom:10%;left:6%;opacity:calc(1 - var(--scroll-progress)*1.2);position:absolute;transform:translateY(calc(var(--scroll-progress)*-28px))}.opening-copy h1{font-size:clamp(38px,4.5vw,68px);letter-spacing:-2.5px;margin:0 0 8px}.opening-copy p{color:#596475;color:var(--muted);font-size:16px;letter-spacing:.35px;margin:0}.scroll-cue{align-items:center;bottom:10%;color:#5f6d7c;color:var(--label);display:flex;font-size:10px;font-weight:600;gap:10px;letter-spacing:1.7px;opacity:calc(1 - var(--scroll-progress)*1.8);position:absolute;right:6%;text-transform:uppercase}.scroll-cue svg{animation:scroll-pulse 1.8s ease-in-out infinite;height:17px;width:17px}@keyframes scroll-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.profile-intro{align-items:center;display:flex;justify-content:space-between;min-height:520px;padding:105px 0 80px;scroll-margin-top:0}.profile-title{font-size:64px;font-weight:600;letter-spacing:-2.8px;line-height:1.12;margin:0 0 22px}.profile-note{margin:0 2% 0 0}.eyebrow{color:#5f6d7c;color:var(--label);font-size:11px;letter-spacing:2.1px;margin:0 0 23px;text-transform:uppercase}.eyebrow,h1{font-weight:600}h1{font-size:64px;letter-spacing:-2.8px;line-height:1.12;margin:0 0 22px}.intro-copy{color:#596475;color:var(--muted);font-size:25px;line-height:1.3;margin:0}.social-links{margin-top:35px}.social-links,.social-links a{align-items:center;display:flex}.social-links a{border-right:1px solid #d0d6dd;font-size:16px;gap:13px;padding:0 29px}.social-links a:first-child{padding-left:0}.social-links a:last-child{border:0}.social-links svg{height:22px;width:22px}.network{padding:0;perspective:900px}.network--hero{height:min(78vmin,780px);opacity:calc(1 - var(--scroll-progress)*.62);transform:translateY(calc(var(--scroll-progress)*-10vh)) scale(calc(1 - var(--scroll-progress)*.28));transition:filter .35s ease;width:min(78vmin,780px);will-change:transform,opacity}.network--hero:focus-visible,.network--hero:hover{filter:saturate(1.18)}.globe-company-card{animation:company-card-in .2s ease;background:#fbfaf8eb;border:1px solid #748fa647;border-radius:8px;bottom:15%;box-shadow:0 12px 35px #2d415014;display:flex;flex-direction:column;gap:3px;min-width:190px;padding:13px 15px;pointer-events:none;position:absolute;right:4%}.globe-company-card strong{font-size:13px;letter-spacing:.2px}.globe-company-card span{color:#596475;color:var(--muted);font-size:12px}.globe-company-card small{color:#5f6d7c;color:var(--label);font-size:9px;letter-spacing:1.2px;margin-top:5px;text-transform:uppercase}@keyframes company-card-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.margin-note{color:#5f6d7c;color:var(--label);font-size:10px;letter-spacing:1.65px;line-height:1.85;text-transform:uppercase}.margin-note:before{border-top:1px solid #adb6c0;content:"";display:block;margin-bottom:12px;width:28px}.work-section{padding-top:30px}.work-section>.eyebrow{margin-bottom:20px}h2{font-size:34px;font-weight:500;letter-spacing:-1.2px;margin:0 0 38px}.work-list{border-top:1px solid #dce1e5;border-top:1px solid var(--line)}.work-item{border-bottom:1px solid #dce1e5;border-bottom:1px solid var(--line)}.work-item h3{margin:0}.work-toggle{align-items:center;display:grid;grid-template-columns:175px 1fr 25px;min-height:60px;padding:0;text-align:left;transition:background .2s;width:100%}.work-toggle:hover{background:#f0f5f4}.work-name{font-size:20px;font-weight:600;letter-spacing:-.4px}.work-role{color:#596475;color:var(--muted);font-size:18px;font-weight:400}.work-toggle svg{color:#47596c;width:23px}.is-open .work-toggle{border-bottom:1px solid #12bfb2;border-bottom:1px solid var(--teal)}.work-panel{animation:arrive .3s ease;padding:18px 28px 20px 175px}.work-panel p{font-size:16px;line-height:1.45;margin:0 0 6px}.work-tags{color:#596475;color:var(--muted)}.text-link{align-items:center;color:#2877bd;color:var(--blue);display:inline-flex;font-size:16px;gap:9px;padding:0;text-decoration:underline;text-underline-offset:3px}.text-link svg{height:17px;transition:transform .2s;width:17px}.text-link:hover svg{transform:translate(2px,-2px)}.work-actions{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:10px}.skills-section{padding-top:64px}.skills-section>.eyebrow{margin-bottom:20px}.skills-grid{grid-gap:36px;display:grid;gap:36px;grid-template-columns:repeat(4,1fr)}.skills-group h3{font-size:16px;font-weight:600;letter-spacing:-.2px;margin:0 0 15px}.skill-tags{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}.skill-tags li{border:1px solid #dce1e5;border:1px solid var(--line);border-radius:100px;color:#596475;color:var(--muted);font-size:14px;padding:7px 14px}.projects-teaser{padding-top:64px}.projects-teaser-head{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.projects-teaser-head .eyebrow{margin-bottom:15px}.projects-teaser-head h2{margin:0}.projects-preview-grid{grid-gap:1px;background:#dce1e5;background:var(--line);border:1px solid #dce1e5;border:1px solid var(--line);display:grid;gap:1px;grid-template-columns:repeat(2,1fr)}.project-preview-card{background:#fbfaf8;background:var(--paper);display:block;padding:24px 26px;transition:background .2s}.project-preview-card:hover{background:#f0f5f4;color:inherit}.project-preview-card h3{font-size:17px;font-weight:600;letter-spacing:-.3px;margin:0 0 8px}.project-preview-card p{color:#596475;color:var(--muted);font-size:14px;line-height:1.5;margin:0}.project-preview-card--featured{grid-column:1/-1;padding:30px 26px 28px}.project-preview-card--featured h3{font-size:24px;letter-spacing:-.6px;margin-bottom:10px}.project-preview-card--featured p{font-size:15px;max-width:42em}.preview-flow{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:8px 0;list-style:none;margin:22px 0 0;padding:0}.preview-flow li+li:before{background:#12bfb2;background:var(--teal);content:"";display:inline-block;height:2px;margin:0 12px;vertical-align:middle;width:28px}footer{align-items:flex-start;display:flex;justify-content:space-between;padding:80px 0 30px}footer p{color:#596475;color:var(--muted);font-size:16px;margin:0 0 8px}footer .margin-note{margin:0;padding-top:6px}.contact-block .eyebrow{margin-bottom:15px}.contact-block h2{margin-bottom:22px}.contact-email{display:inline-block;font-size:20px;font-weight:500;letter-spacing:-.2px;text-decoration:underline;text-underline-offset:3px}.footer-links{margin-top:30px}.details-dialog{background:#fbfaf8;background:var(--paper);border:1px solid #dce1e5;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 100px #10203022;color:#101820;color:var(--ink);max-width:620px;padding:45px;width:calc(100% - 40px)}.details-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14243255}.details-dialog h2{margin-bottom:10px}.details-dialog .eyebrow{margin-right:25px}.detail-role{color:#596475;color:var(--muted)}.details-dialog li{line-height:1.65;margin:16px 0;padding-left:4px}.details-dialog ul{margin:26px 0;padding-left:20px}.close-dialog{padding:5px;position:absolute;right:16px;top:18px}.details-dialog[open]{animation:arrive .25s ease}.back-link{color:#596475;color:var(--muted);display:inline-block;font-size:14px;margin-bottom:26px}.back-link:hover{color:#2877bd;color:var(--blue)}.projects-hero{padding:150px 0 50px}.projects-hero h1{margin-bottom:14px}.projects-intro{color:#596475;color:var(--muted);font-size:18px;line-height:1.5;margin:0;max-width:620px}.project-list{border-top:1px solid #dce1e5;border-top:1px solid var(--line);padding-bottom:60px}.project-card{border-bottom:1px solid #dce1e5;border-bottom:1px solid var(--line);padding:38px 0}.project-card-head{align-items:baseline;display:flex;gap:20px;justify-content:space-between}.project-card-head h2{font-size:24px;letter-spacing:-.6px;margin:0}.project-type{color:#596475;color:var(--muted);font-size:12px;letter-spacing:1.1px;text-transform:uppercase;white-space:nowrap}.project-summary{font-size:17px;margin:12px 0 6px}.project-tags{color:#596475;color:var(--muted);margin:0 0 16px}.project-card ul{margin:0;padding-left:20px}.project-card li{line-height:1.65;margin:9px 0}.project-card .text-link{margin-top:16px}.subpage .site-footer{padding-top:60px}.featured,.subpage .site-footer{border-top:1px solid #dce1e5;border-top:1px solid var(--line)}.featured{padding:44px 0 64px}.featured-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}.featured-head h2{font-size:56px;font-weight:600;letter-spacing:-2.2px;line-height:1;margin:0}.featured-since{color:#596475;color:var(--muted);font-size:14px;margin:0}.featured-summary{font-size:22px;line-height:1.42;margin:22px 0 60px;max-width:31em}.pipeline{--node:36px;--gap:32px;grid-gap:var(--gap);display:grid;gap:var(--gap);grid-template-columns:repeat(4,1fr);list-style:none;margin:0 0 64px;padding:0;position:relative}.pipeline:before{animation:flow-x 1.3s cubic-bezier(.6,0,.2,1) .2s both;background:#12bfb2;background:var(--teal);content:"";height:2px;left:calc(var(--node)/2);position:absolute;right:calc(25% - var(--gap)*3/4 - var(--node)/2);top:calc(var(--node)/2 - 1px);transform-origin:left}.pipeline-node{animation:node-on .3s ease both;background:#12bfb2;background:var(--teal);border:2px solid #12bfb2;border:2px solid var(--teal);border-radius:50%;color:#101820;color:var(--ink);display:grid;font-size:14px;font-weight:600;height:var(--node);place-items:center;position:relative;width:var(--node);z-index:1}.pipeline-step:first-child .pipeline-node{animation-delay:.2s}.pipeline-step:nth-child(2) .pipeline-node{animation-delay:.6s}.pipeline-step:nth-child(3) .pipeline-node{animation-delay:1s}.pipeline-step:nth-child(4) .pipeline-node{animation-delay:1.4s}.pipeline-step h3{font-size:20px;font-weight:600;letter-spacing:-.4px;margin:20px 0 10px}.pipeline-step p{color:#596475;color:var(--muted);font-size:15px;line-height:1.55;margin:0}@keyframes flow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes flow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes node-on{0%{background:#fbfaf8;background:var(--paper)}to{background:#12bfb2;background:var(--teal)}}.featured-columns{grid-gap:64px;border-top:1px solid #dce1e5;border-top:1px solid var(--line);display:grid;gap:64px;grid-template-columns:1.15fr 1fr;padding-top:40px}.featured-columns h3{font-size:16px;font-weight:600;letter-spacing:-.2px;margin:0 0 16px}.featured-safeguards{margin:0;padding-left:20px}.featured-safeguards li{font-size:15px;line-height:1.6;margin:0 0 12px}.featured-stack{margin:0 0 26px}.featured-stack>div{grid-gap:12px;display:grid;gap:12px;grid-template-columns:92px 1fr;margin-bottom:14px}.featured-stack dt{color:#596475;color:var(--muted);font-size:14px;padding-top:7px}.featured-stack dd{margin:0}.earlier-title{margin:0 0 24px}.case-study-card{align-items:flex-end;background:#fff;border:1px solid #dce1e5;border-left:3px solid #12bfb2;border:1px solid var(--line);border-left:3px solid var(--teal);display:flex;gap:24px 48px;justify-content:space-between;margin:0 0 64px;padding:34px 36px}.case-study-card .eyebrow{margin-bottom:14px}.case-study-card h2{font-size:26px;letter-spacing:-.7px;line-height:1.25;margin:0 0 12px;max-width:24em}.case-study-card p:not(.eyebrow){color:#596475;color:var(--muted);font-size:16px;line-height:1.55;margin:0;max-width:40em}.case-study-card .text-link{white-space:nowrap}.not-found-hero{padding:150px 0 110px}.not-found-hero h1{max-width:12em}.not-found-links{display:flex;flex-wrap:wrap;gap:14px 34px;list-style:none;margin:34px 0 0;padding:0}.cs-hero h1:focus,.not-found-hero h1:focus{outline:none}.cs-hero{padding:150px 0 56px}.cs-hero h1{font-size:52px;letter-spacing:-2px;line-height:1.1;max-width:15em}.cs-lede{color:#101820;color:var(--ink);font-size:21px;line-height:1.5;margin:0;max-width:38em}.cs-stats{grid-gap:1px;background:#dce1e5;background:var(--line);border:1px solid #dce1e5;border:1px solid var(--line);display:grid;gap:1px;grid-template-columns:repeat(4,1fr);list-style:none;margin:52px 0 0;padding:0}.cs-stats li{background:#fbfaf8;background:var(--paper);color:#596475;color:var(--muted);font-size:14px;line-height:1.45;padding:22px 22px 24px}.cs-stats strong{color:#101820;color:var(--ink);display:block;font-size:36px;font-weight:600;letter-spacing:-1.2px;line-height:1;margin-bottom:8px}.cs-section{grid-gap:24px 56px;border-top:1px solid #dce1e5;border-top:1px solid var(--line);display:grid;gap:24px 56px;grid-template-columns:260px minmax(0,1fr);padding:52px 0}.cs-section>h2{font-size:22px;font-weight:600;letter-spacing:-.5px;line-height:1.3;margin:0}.cs-body,.cs-snapshot,.cs-steps{max-width:44em}.cs-body li,.cs-body p,.cs-steps p{font-size:17px;line-height:1.65}.cs-body p{margin:0 0 18px}.cs-body>:last-child{margin-bottom:0}.cs-body ul,.cs-list{padding-left:20px}.cs-body li{margin:0 0 10px}.cs-list,.cs-snapshot{margin:0}.cs-snapshot>div{grid-gap:16px;border-bottom:1px solid #dce1e5;border-bottom:1px solid var(--line);display:grid;gap:16px;grid-template-columns:130px 1fr;padding:13px 0}.cs-snapshot>div:first-child{padding-top:0}.cs-snapshot dt{color:#5f6d7c;color:var(--label);font-size:12px;font-weight:600;letter-spacing:1.2px;padding-top:3px;text-transform:uppercase}.cs-snapshot dd{font-size:16px;line-height:1.55;margin:0}.cs-steps{counter-reset:step;list-style:none;margin:0;padding:0}.cs-steps li{counter-increment:step;padding:0 0 30px 56px;position:relative}.cs-steps li:last-child{padding-bottom:0}.cs-steps li:before{background:#12bfb2;background:var(--teal);border-radius:50%;color:#101820;color:var(--ink);content:counter(step);display:grid;font-size:14px;font-weight:600;height:34px;left:0;place-items:center;position:absolute;top:0;width:34px}.cs-steps li:not(:last-child):after{background:#dce1e5;background:var(--line);bottom:8px;content:"";left:16px;position:absolute;top:42px;width:2px}.cs-steps h3{font-size:19px;font-weight:600;letter-spacing:-.3px;line-height:1.35;margin:5px 0 10px}.cs-steps p{color:#101820;color:var(--ink);margin:0 0 12px}.cs-steps p:last-child{margin-bottom:0}.cs-callout{background:#fff;border:1px solid #dce1e5;border-left:3px solid #12bfb2;border:1px solid var(--line);border-left:3px solid var(--teal);padding:30px 34px}.cs-next{border-top:1px solid #dce1e5;border-top:1px solid var(--line);padding:8px 0 0}.cs-next .back-link{margin:24px 0 0}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1350px){.site-header{margin:0 6%}.page{margin:0 10%}.site-header{margin:0;width:88%}.profile-title{font-size:54px}.intro-copy{font-size:22px}.desktop-break{display:none}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.page{margin:0 7%}.profile-title{font-size:45px}.intro-copy{font-size:20px}.social-links a{padding:0 18px}.work-toggle{grid-template-columns:155px 1fr 25px}.work-panel{padding-left:155px}.skills-grid{gap:28px;grid-template-columns:repeat(2,1fr)}.pipeline{--gap:28px;grid-template-columns:1fr}.pipeline:before{display:none}.pipeline-step{grid-column-gap:20px;column-gap:20px;display:grid;grid-template-columns:var(--node) 1fr;position:relative}.pipeline-step:not(:last-child):after{animation:flow-y .4s ease both;background:#12bfb2;background:var(--teal);bottom:calc(var(--gap)*-1);content:"";left:calc(var(--node)/2 - 1px);position:absolute;top:var(--node);transform-origin:top;width:2px}.pipeline-step:first-child:after{animation-delay:.3s}.pipeline-step:nth-child(2):after{animation-delay:.7s}.pipeline-step:nth-child(3):after{animation-delay:1.1s}.pipeline-node{grid-row:1/3}.pipeline-step h3{margin:5px 0 6px}.featured-columns{gap:40px;grid-template-columns:1fr}.cs-hero h1{font-size:42px;letter-spacing:-1.6px}.cs-stats{grid-template-columns:repeat(2,1fr)}.cs-section{grid-template-columns:1fr;padding:44px 0}.case-study-card{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.site-header{margin:0;padding:23px 0}.wordmark{font-size:19px}nav{font-size:12px;gap:14px}nav a[href="#profile"],nav a[href="#skills"]{display:none}.page{margin:0 7%}.globe-intro{height:120svh}.globe-stage{min-height:540px}.network--hero{height:min(88vw,68svh);transform:translateY(calc(var(--scroll-progress)*-9vh)) scale(calc(1 - var(--scroll-progress)*.22));width:min(88vw,68svh)}.opening-kicker{font-size:9px;top:16%;white-space:nowrap}.opening-copy{bottom:14%;left:7%;right:7%}.opening-copy h1{font-size:36px;letter-spacing:-1.5px}.opening-copy p{font-size:14px}.scroll-cue{bottom:7%;right:7%}.profile-intro{display:block;min-height:auto;padding:82px 0 72px}.profile-note{display:none}.eyebrow{font-size:10px;margin-bottom:20px}.profile-title{font-size:clamp(33px,10vw,43px);letter-spacing:-1.9px;white-space:nowrap}.intro-copy{font-size:20px;line-height:1.5}.social-links{margin-top:28px}.social-links a{font-size:14px;gap:8px;padding:0 18px}.social-links svg{width:19px}.globe-company-card{bottom:9%;min-width:155px;padding:10px 12px;right:0}.work-section{padding-top:14px}h2{font-size:27px;letter-spacing:-.9px;line-height:1.25;margin-bottom:27px}.work-toggle{gap:6px;grid-template-columns:1fr 24px;padding:16px 0}.work-name{font-size:18px}.work-role{font-size:15px;grid-column:1;grid-row:2}.work-toggle svg{grid-column:2;grid-row:1/3}.work-panel{padding:17px 0 22px}.work-panel p{font-size:15px}footer{padding:42px 0 25px}footer>div>p{font-size:14px}footer>.margin-note{display:none}.contact-email{font-size:17px}.footer-links{margin-top:24px}.footer-links a{font-size:14px;padding:0 16px}.details-dialog{padding:32px 25px}.details-dialog li{font-size:15px}.skills-section{padding-top:44px}.skills-grid{gap:26px;grid-template-columns:1fr}.projects-teaser{padding-top:44px}.projects-teaser-head{align-items:flex-start;flex-direction:column;gap:12px}.projects-preview-grid{grid-template-columns:1fr}.projects-hero{padding:118px 0 34px}.projects-hero h1{font-size:clamp(33px,10vw,43px);letter-spacing:-1.9px}.projects-intro{font-size:16px}.project-card{padding:28px 0}.project-card-head{flex-direction:column;gap:6px}.project-card-head h2{font-size:20px}.project-summary{font-size:15px}.featured{padding:32px 0 48px}.featured-head h2{font-size:40px;letter-spacing:-1.6px}.featured-summary{font-size:18px;margin:16px 0 40px}.pipeline{margin-bottom:44px}.pipeline-step h3{font-size:18px}.featured-stack>div{gap:8px;grid-template-columns:1fr}.featured-stack dt{padding-top:0}.project-preview-card--featured{padding:24px 22px}.project-preview-card--featured h3{font-size:21px}nav .nav-home{display:none}.not-found-hero{min-height:auto;padding:118px 0 40px}.cs-hero h1,.not-found-hero h1{font-size:clamp(30px,8.5vw,40px);letter-spacing:-1.4px}.cs-hero{padding:118px 0 40px}.cs-lede{font-size:18px}.cs-stats{margin-top:36px}.cs-stats li{font-size:13px;padding:18px 16px 20px}.cs-stats strong{font-size:28px}.cs-section{padding:36px 0}.cs-section>h2{font-size:20px}.cs-body li,.cs-body p,.cs-steps p{font-size:16px}.cs-snapshot>div{gap:4px;grid-template-columns:1fr}.cs-steps li{padding-left:48px}.cs-callout{padding:22px 20px}.case-study-card{margin-bottom:48px;padding:26px 22px}.case-study-card h2{font-size:21px}.subpage .site-footer{padding-top:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}@media(min-width:901px){.wordmark{font-weight:500}}.globe-canvas{display:block;height:100%;touch-action:pan-y;width:100%}.globe-canvas:focus-visible{border-radius:50%;outline:1px solid #2877bd8c;outline-offset:-18%}