@font-face{font-family:Portfolio Heading Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Liberation Sans);font-style:normal;font-weight:600;size-adjust:94%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f5f7;--ink:#1d1d1f;--muted:#6e6e73;--blue:#06c;--border:#d8d8dc;--page-gutter:64px;--font-native:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI Variable Text", "Segoe UI Variable", "Segoe UI";--font-sans:var(--font-native), system-ui, "Helvetica Neue", Arial, sans-serif;--font-headings:var(--font-native), "Portfolio Heading Fallback", system-ui, "Helvetica Neue", Arial, sans-serif;font-family:var(--font-sans);background:var(--background);color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0}button,input,textarea{font:inherit}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}button{color:inherit}h1,h2,h3,h4,p,ul{margin:0}p{line-height:1.6}button,a,summary{text-underline-offset:5px}:focus-visible{outline:3px solid var(--blue);outline-offset:6px}#story:focus{outline:none}::selection{color:#fff;background:var(--blue)}main{position:relative;overflow:clip}.page-width{width:min(100% - var(--page-gutter) * 2, 1200px);margin-inline:auto}.skip-link{z-index:10;color:#fff;background:var(--blue);border-radius:12px;padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.hero{padding-top:64px;padding-bottom:1px}.hero-name{letter-spacing:-.035em;font-size:25px;font-weight:600;line-height:1.2}.hero-role{color:var(--muted);margin-top:8px;font-size:15px;line-height:1.4}.hero h1{letter-spacing:-.045em;max-width:1120px;margin-top:72px;font-size:clamp(56px,8vw,96px);font-weight:600;line-height:1.03}.hero h1>span{display:block}h1,h2,h3{font-family:var(--font-headings);overflow-wrap:anywhere;text-wrap:balance}.hero-bottom>*,.work-heading>*,.web-composition>*,.build-operations>*,.experience-layout>*,.contact-section>*{min-width:0}.hero-bottom{grid-template-columns:minmax(0,580px) auto;justify-content:space-between;align-items:end;gap:64px;margin-top:44px;margin-bottom:64px;display:grid}.hero-introduction{letter-spacing:-.02em;color:var(--muted);font-size:20px;line-height:1.55}.work-link{color:var(--blue);justify-content:space-between;align-items:center;gap:40px;padding-block:14px;font-size:17px;text-decoration:none;display:inline-flex}.work-link>span{font-size:24px;line-height:1}.work-link:hover{text-decoration:underline}.hero-rule{background:var(--border);height:1px}.hero-rule span{background:var(--blue);transform-origin:0;width:100%;height:100%;display:block}.work-section{padding-top:40px;padding-bottom:112px}.work-heading{grid-template-columns:1fr 1fr;align-items:start;gap:80px;margin-bottom:40px;display:grid}.work-heading h2{letter-spacing:-.025em;font-size:22px;font-weight:600;line-height:1.3}.work-heading>p{max-width:500px;color:var(--muted);font-size:17px}.build{isolation:isolate;position:relative}.build-surface{z-index:-1;pointer-events:none;background:#fff;border-radius:28px;position:absolute;inset:0}.build-content{padding:48px 52px}.build-platform{color:var(--blue);align-items:center;gap:10px;font-size:16px;font-weight:500;line-height:1.5;display:flex}.build-platform svg{flex:0 0 24px}.build-mark{flex:0 0 24px;display:inline-flex}.build h3{letter-spacing:-.045em;font-weight:600;line-height:1.1}.build-copy>p,.operations-copy>p:first-child{color:var(--muted);letter-spacing:-.012em;margin-top:24px;font-size:18px;line-height:1.6}.web-composition{grid-template-columns:1.25fr 1fr;align-items:center;gap:100px;margin-top:44px;display:grid}.build-web h3{max-width:470px;font-size:52px}.build-capabilities{padding:0;list-style:none}.build-web .build-capabilities{border-left:1px solid var(--border);padding-left:40px}.build-web .build-capabilities li{letter-spacing:-.025em;border-bottom:1px solid #e8e8ed;padding-block:20px;font-size:21px;font-weight:500;line-height:1.35}.build-web .build-capabilities li:first-child{padding-top:0}.build-web .build-capabilities li:last-child{border-bottom:0;padding-bottom:0}.build-bottom{margin-top:52px}.build-technologies{color:var(--muted);font-size:14px;line-height:1.6}.build-line{background:var(--blue);transform-origin:0;pointer-events:none;width:100%;height:1px;display:block}.build-web .build-line{margin-top:24px}.build-native{max-width:980px;margin-top:32px;margin-left:auto}.build-native .build-surface{background:#eaf2fb}.build-native .build-copy{max-width:660px;margin-top:38px}.build-native h3{max-width:630px;font-size:52px}.build-native .build-copy>p,.build-native .build-technologies{color:#505c6b}.native-capabilities{border-left:1px solid #c4d8ed;margin-block:36px;padding-left:24px;position:relative}.native-capabilities>.build-line{transform-origin:50% 0;width:2px;height:100%;position:absolute;top:0;left:-1px}.build-native .build-capabilities{grid-template-columns:1.2fr 1fr 1fr;gap:24px;display:grid}.build-native .build-capabilities li{letter-spacing:-.025em;max-width:220px;font-size:20px;font-weight:500;line-height:1.4}.build-operations{border-bottom:1px solid var(--border);grid-template-columns:1fr 1.2fr;gap:80px;margin-top:72px;padding-bottom:44px;display:grid}.build-operations h3{max-width:400px;margin-top:24px;font-size:36px}.operations-copy>p:first-child{margin-top:0}.operations-copy .build-capabilities{flex-wrap:wrap;gap:12px 28px;margin-block:24px;font-size:16px;line-height:1.5;display:flex}.operations-copy .build-capabilities li:before{content:"";background:var(--blue);border-radius:50%;width:4px;height:4px;margin-bottom:3px;margin-right:9px;display:inline-block}.build-operations>.build-line{position:absolute;bottom:-1px;left:0}.experience-section{isolation:isolate;padding-block:100px;position:relative}.experience-surface{z-index:-1;pointer-events:none;background:#fff;position:absolute;inset:0}.experience-layout{grid-template-columns:.8fr 1.2fr;gap:100px;display:grid}.experience-heading h2{letter-spacing:-.045em;max-width:max(360px,9em);font-size:44px;font-weight:600;line-height:1.12}.experience-heading>p{max-width:340px;color:var(--muted);margin-top:24px;font-size:17px}.experience-records{--record-inset:32px;border-left:1px solid var(--border);padding-left:var(--record-inset);position:relative}.experience-record{position:relative}.experience-node{top:10px;left:calc(-1 * var(--record-inset) - 6px);background:var(--blue);width:10px;height:10px;box-shadow:0 0 0 1px var(--blue);pointer-events:none;border:2px solid #fff;border-radius:50%;position:absolute}.experience-record+.experience-record .experience-node{top:42px}.experience-line{background:var(--blue);transform-origin:50% 0;width:2px;position:absolute;top:0;bottom:0;left:-1px}.experience-record+.experience-record{border-top:1px solid #e8e8ed;margin-top:36px;padding-top:32px}.experience-record h3{letter-spacing:-.03em;font-size:23px;font-weight:600;line-height:1.35}.experience-record h3>span{color:var(--muted);letter-spacing:0;margin-left:12px;font-size:15px;font-weight:400;display:inline-block}.experience-record h3+div{margin-top:16px}.experience-record p{color:var(--muted);font-size:17px;line-height:1.65}.experience-record p+p{margin-top:12px}.background-disclosure{border-top:1px solid var(--border);margin-top:40px;margin-left:32px}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding-block:20px;font-size:16px;font-weight:500;line-height:1.5;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary>span{width:16px;height:16px;color:var(--blue);flex:0 0 16px;position:relative}summary>span:before,summary>span:after{content:"";background:currentColor;width:14px;height:1.5px;position:absolute;top:7px;left:1px}summary>span:after{transform:rotate(90deg)}details[open]>summary>span:after{transform:none}summary:hover{color:var(--blue)}.full-records{padding-bottom:16px}.full-record{border-top:1px solid #e8e8ed;padding-block:26px}.full-record h3{letter-spacing:-.025em;font-size:20px;font-weight:600;line-height:1.35}.full-record h4{margin-top:20px;font-size:16px;font-weight:600;line-height:1.5}.full-record p,.full-record li{color:var(--muted);margin-top:12px;font-size:16px;line-height:1.65}.full-record ul{padding-left:20px}.full-record .record-kicker{color:var(--blue);font-size:14px}.contact-section{grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-block:100px 112px;display:grid;position:relative}.contact-rule{background:var(--blue);transform-origin:0;pointer-events:none;width:100%;height:2px;position:absolute;top:0;left:0}.contact-intro h2{letter-spacing:-.06em;max-width:500px;font-size:72px;font-weight:600;line-height:1.05}.contact-intro>p{max-width:320px;color:var(--muted);margin-top:24px;font-size:17px}.contact-links{gap:12px;font-style:normal;display:grid}.contact-links a{--link-progress:0;border-bottom:1px solid var(--border);color:var(--blue);letter-spacing:-.025em;overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:20px;padding-block:16px;font-size:30px;line-height:1.4;text-decoration:none;display:flex;position:relative}.contact-links a:after{content:"";width:100%;height:1px;transform:scaleX(var(--link-progress));transform-origin:0;background:var(--blue);position:absolute;bottom:-1px;left:0}.contact-links a>span:last-child{flex-shrink:0}[data-contact-arrival],[data-contact-pointer]{display:inline-block}.contact-links a:hover,.contact-links a:focus-visible{text-decoration:underline}@media (max-width:1099px){:root{--page-gutter:40px}.hero h1{margin-top:80px}.hero-bottom{grid-template-columns:1.5fr 1fr;gap:40px}.hero-introduction{font-size:19px}.work-link{justify-self:end;gap:20px}.work-heading{gap:40px}.build-content{padding:40px}.web-composition{gap:48px}.build-web h3,.build-native h3{font-size:44px}.build-web .build-capabilities{padding-left:28px}.build-web .build-capabilities li{font-size:19px}.build-native{max-width:calc(100% - 60px)}.build-native .build-capabilities{gap:20px}.build-native .build-capabilities li{font-size:18px}.build-operations{gap:48px}.experience-layout{grid-template-columns:.8fr 1.2fr;gap:56px}.experience-heading h2{font-size:36px}.experience-records{--record-inset:24px}.background-disclosure{margin-left:24px}.contact-section{gap:48px}.contact-intro h2{font-size:56px}.contact-links a{font-size:25px}}@media (max-width:1199px){.experience-layout{grid-template-columns:minmax(0,1fr);gap:40px}}@media (min-width:700px) and (max-width:959px){.web-composition,.build-operations,.contact-section{grid-template-columns:minmax(0,1fr)}.build-web .build-capabilities{border-left:0;padding-left:0}.build-operations,.contact-section{gap:32px}}@media (max-width:699px){:root{--page-gutter:24px}html{scroll-padding-top:24px}.hero{padding-top:76px}.hero-name{font-size:23px}.hero-role{font-size:14px}.hero h1{letter-spacing:-.045em;margin-top:56px;font-size:clamp(32px,10.2vw,56px);line-height:1.06}.hero-bottom{grid-template-columns:1fr;gap:22px;margin-top:32px;margin-bottom:44px}.hero-introduction{font-size:18px;line-height:1.6}.work-link{justify-self:start;gap:28px;padding-block:10px;font-size:16px}.work-section{padding-top:32px;padding-bottom:64px}.work-heading{margin-bottom:32px;display:block}.work-heading h2{font-size:21px}.work-heading>p{margin-top:14px;font-size:16px}.build-content{padding:28px 26px}.build-surface{border-radius:24px}.build-platform{font-size:15px}.web-composition{margin-top:30px;display:block}.build-web h3,.build-native h3{font-size:34px}.build-copy>p,.operations-copy>p:first-child{margin-top:20px;font-size:17px}.build-web .build-capabilities{border-left:0;margin-top:28px;padding-left:0}.build-web .build-capabilities li{padding-block:14px;font-size:18px}.build-bottom{margin-top:32px}.build-technologies{font-size:13px}.build-native{max-width:none;margin-top:24px}.build-native .build-copy{margin-top:30px}.native-capabilities{margin-block:28px;padding-left:20px}.build-native .build-capabilities{grid-template-columns:1fr;gap:16px}.build-native .build-capabilities li{max-width:none;font-size:18px}.build-operations{margin-top:44px;padding-bottom:32px;display:block}.build-operations h3{margin-top:24px;font-size:32px}.operations-copy{margin-top:24px}.operations-copy>p:first-child{margin-top:0}.operations-copy .build-capabilities{gap:12px;font-size:16px;display:grid}.experience-section{padding-block:64px}.experience-layout{display:block}.experience-heading h2{max-width:340px;font-size:36px}.experience-heading>p{max-width:none;margin-top:20px;font-size:16px}.experience-body{margin-top:40px}.experience-records{--record-inset:20px}.experience-record h3{font-size:22px}.experience-record h3>span{margin-left:10px;font-size:14px}.experience-record p{font-size:16px}.background-disclosure{margin-top:32px;margin-left:20px}summary{gap:20px;font-size:15px}.contact-section{padding-block:64px;display:block}.contact-intro h2{font-size:54px}.contact-intro>p{margin-top:20px;font-size:16px}.contact-links{margin-top:32px}.contact-links a{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.recovery{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;padding-block:64px;display:flex;overflow:visible}.recovery-identity{letter-spacing:-.035em;margin-bottom:48px;font-size:23px;font-weight:600;line-height:1.25}.recovery-code{color:var(--blue);margin-bottom:16px;font-size:16px}.recovery h1{letter-spacing:-.045em;max-width:800px;font-size:clamp(32px,5.6vw,72px);font-weight:600;line-height:1.08}.recovery-description{max-width:560px;color:var(--muted);margin-top:24px;font-size:18px}.recovery-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;max-width:100%;margin-top:32px;display:flex}.recovery-actions>a,.recovery-actions>button{border:1px solid var(--border);min-width:0;max-width:100%;min-height:44px;color:var(--blue);text-align:center;overflow-wrap:anywhere;cursor:pointer;background:0 0;border-radius:24px;justify-content:center;align-items:center;padding:12px 20px;font-size:16px;line-height:1.4;text-decoration:none;display:inline-flex}.recovery-actions>.recovery-primary{border-color:var(--blue);background:var(--blue);color:#fff}.recovery-actions>a:hover,.recovery-actions>button:hover{text-decoration:underline}@media (max-width:699px){.recovery{padding-block:40px}.recovery-identity{margin-bottom:32px}.recovery-description{font-size:17px}}
