@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f5f2e9;--ink:#20221d;--blue:#244be3;--line:#cbcfc3;--muted:#62675b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:20px}.masthead,main,footer{max-width:1440px;margin:auto;padding-left:6.5%;padding-right:6.5%}.masthead{display:flex;justify-content:space-between;align-items:center;padding-top:29px;padding-bottom:26px;border-bottom:1px solid var(--line);gap:20px}.wordmark{font-size:26px;font-weight:600;letter-spacing:-1px}.wordmark span{font-size:14px;letter-spacing:0;font-weight:400;margin-left:13px}nav{display:flex;gap:28px;font-size:14px}nav a:hover{color:var(--blue)}.eyebrow,.index,.project-meta,.margin-note,.map-caption,.thread>span,.note-list small,footer{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px}.hero{position:relative;padding-top:52px;padding-bottom:63px}.hero>.eyebrow{display:flex;justify-content:space-between}.hero h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(64px,8.8vw,126px);font-weight:400;line-height:.96;letter-spacing:-3px;margin:54px 0 40px;max-width:940px}.hero h1 em{color:var(--blue);font-weight:400}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:50px}.hero-bottom p{max-width:480px;margin:0;font-size:18px;line-height:1.6}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:14px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.text-link span{font-family:'IBM Plex Mono',monospace;color:var(--blue)}.margin-note{position:absolute;right:0;top:300px;writing-mode:vertical-rl;font-size:12px;color:var(--muted);line-height:1.9}.section-heading h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(40px,4.5vw,62px);line-height:1.07;letter-spacing:-1px;margin:20px 0}.section-heading>p{font-size:15px;color:var(--muted)}.index{color:var(--blue)}.atlas-section{border-top:1px solid var(--ink);padding-top:42px}.atlas-section>.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:baseline}.atlas-section>.section-heading h2{margin:0}.atlas-section>.section-heading p{grid-column:2;margin:8px 0 27px}.atlas-layout{display:grid;grid-template-columns:1.65fr 1fr;border:1px solid var(--line)}.atlas-map{position:relative;min-height:410px;border-right:1px solid var(--line);overflow:hidden}.atlas-map svg{width:100%;height:100%;position:absolute}.atlas-map svg text{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1px;fill:var(--blue)}.atlas-node{position:absolute;background:var(--paper);border:1px solid var(--ink);padding:15px 18px;text-align:left;font-size:16px;line-height:1.35;transition:background .2s,color .2s}.atlas-node small{display:block;font-family:'IBM Plex Mono',monospace;font-size:12px;opacity:.65;margin-bottom:8px}.atlas-node.active{background:var(--blue);color:white;border-color:var(--blue)}.banking{left:6%;top:14%}.quant{right:5%;top:14%}.ai{left:40%;bottom:12%}.map-caption{position:absolute;bottom:16px;left:20px;color:var(--muted);font-size:10px;letter-spacing:.5px}.atlas-detail{padding:35px}.atlas-detail h3{font-family:'Instrument Serif',Georgia,serif;font-size:43px;line-height:1.1;font-weight:400;margin:26px 0 20px}.atlas-detail>p{font-size:16px}.thread{border-top:1px solid var(--line);margin-top:27px;padding-top:19px}.thread>span{color:var(--blue);font-size:10px}.thread p{font-size:14px;line-height:1.6}.section{padding:90px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.prose{max-width:650px;padding-top:24px}.prose p{margin:0 0 24px}.prose .large{font-size:26px;line-height:1.45;letter-spacing:-.5px}.prose .text-link{margin-top:13px}.work{display:block}.work>.section-heading{margin-bottom:48px}.work>.section-heading h2{max-width:650px}.project{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;border-top:1px solid var(--ink);padding:30px 0 36px}.project-meta{display:flex;flex-direction:column;gap:12px}.project-meta span+span{color:var(--muted);font-size:10px}.project-body h3{font-family:'Instrument Serif',Georgia,serif;font-size:39px;font-weight:400;line-height:1.15;margin:0 0 22px}.mode{display:flex;gap:18px;margin-bottom:22px}.mode button{border:0;border-bottom:1px solid transparent;background:none;padding:0 0 5px;font-size:14px;color:var(--muted)}.mode button[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}.project-body p{max-width:630px;margin:0}.note-list{padding-top:22px}.note-list>div{display:grid;grid-template-columns:30px 1fr;gap:12px;border-top:1px solid var(--line);padding:18px 0}.note-list>div>span{font-family:'IBM Plex Mono',monospace;color:var(--blue);font-size:12px;padding-top:5px}.note-list p{font-family:'Instrument Serif',Georgia,serif;font-size:28px;line-height:1.2;margin:0 0 10px}.note-list small{grid-column:2;font-size:10px;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.contact{background:var(--blue);color:var(--paper);padding:55px 7%;margin-top:75px;margin-bottom:65px;position:relative}.contact .index{color:var(--paper)}.contact h2{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(50px,6vw,82px);font-weight:400;line-height:1.02;margin:30px 0}.contact p{max-width:440px;font-size:16px}.contact-link{display:inline-flex;justify-content:space-between;gap:50px;font-size:17px;border-bottom:1px solid var(--paper);padding:15px 0 9px;margin-top:13px}.contact a:focus-visible{outline-color:white}footer{display:flex;justify-content:space-between;gap:20px;padding-bottom:30px;font-size:10px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){.margin-note{right:0}}@media(max-width:850px){.masthead,main,footer{padding-left:6%;padding-right:6%}.masthead{align-items:start}.wordmark span{display:block;margin-left:0;font-size:12px}nav{gap:15px;flex-wrap:wrap;justify-content:end;max-width:250px}.hero>.eyebrow span{display:none}.hero h1{font-size:90px}.margin-note{display:none}.hero-bottom{align-items:start;flex-direction:column;gap:25px}.atlas-layout{grid-template-columns:1fr}.atlas-map{border-right:0;border-bottom:1px solid var(--line)}.atlas-detail{padding:30px}.atlas-detail h3 br{display:none}.section,.project{grid-template-columns:1fr 1.5fr;gap:35px}.section{padding:60px 0}.prose .large{font-size:23px}}@media(max-width:560px){.masthead{padding-top:20px;gap:20px}nav{font-size:12px;gap:8px 15px;max-width:180px}.wordmark{font-size:22px}.wordmark span{max-width:100px;line-height:1.4}.hero{padding-top:30px}.hero h1{font-size:clamp(58px,14vw,79px);letter-spacing:-1.5px;margin-top:35px}.hero-bottom p{font-size:16px}.atlas-section>.section-heading{display:block}.atlas-section>.section-heading h2{margin-top:20px}.atlas-map{min-height:360px}.atlas-node{font-size:13px;padding:12px}.banking{left:4%;top:15%}.quant{right:4%;top:15%}.ai{left:37%;bottom:16%}.map-caption{font-size:9px;left:12px}.atlas-detail h3{font-size:38px}.section,.project{display:block}.section-heading h2{font-size:46px}.prose{padding-top:15px}.project-meta{flex-direction:row;justify-content:space-between;margin-bottom:25px}.project-body h3{font-size:34px}.project{padding-bottom:32px}.contact{margin-top:50px;margin-bottom:35px;padding:35px 8%}footer{flex-wrap:wrap;gap:10px}footer span:nth-child(2){order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.career{margin-top:38px;border-top:1px solid var(--line)}.career>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:15px 0;gap:4px 15px}.career span{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--blue);padding-top:3px}.career strong{font-size:16px;font-weight:500}.career small{grid-column:2;font-size:14px;color:var(--muted);line-height:1.5}@media(max-width:560px){.career>div{grid-template-columns:90px 1fr}}

.mode button{min-height:44px}.atlas-node{min-height:60px}@media(max-width:560px){.banking,.quant{width:44%;font-size:14px}.ai{font-size:14px}}
