.direction{--paper: #fafbf8;--ink: #18261d;--muted: #556359;--line: #ccd4cc;--accent: #265a39;--body: "IBM Plex Sans Variable", sans-serif;--display: "IBM Plex Sans Variable", sans-serif;--meta: "IBM Plex Mono", monospace;margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}.direction *,.direction *:before,.direction *:after{box-sizing:border-box}.direction h1,.direction h2,.direction h3,.direction p,.direction ul,.direction ol,.direction dl,.direction dd{margin:0}.direction h1,.direction h2,.direction h3{font-family:var(--display);font-weight:450;line-height:1.1;letter-spacing:-.04em;text-wrap:balance}.direction a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}.direction a:hover{color:var(--accent)}.direction a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.direction ::-moz-selection{color:var(--paper);background:var(--accent)}.direction ::selection{color:var(--paper);background:var(--accent)}.direction img{display:block;max-width:100%;height:auto}.direction .skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-160%)}.direction .skip-link:focus{transform:none}.direction .review-strip{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:10px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);font-family:var(--meta);font-size:11px;line-height:1.3}.direction .review-strip>a{text-decoration:none}.direction .review-strip nav{display:flex;gap:6px}.direction .review-strip nav a{min-width:34px;min-height:30px;display:grid;place-items:center;text-decoration:none}.direction .review-strip a[aria-current]{background:var(--ink);color:var(--paper)}.direction .site-shell{max-width:1240px;margin:auto;padding:0 40px}.direction .site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:35px 0}.direction .wordmark{font-size:19px;font-weight:550;text-decoration:none;letter-spacing:-.035em}.direction .wordmark span,.direction .name-period{color:var(--accent)}.direction .site-nav{display:flex;gap:30px;font-size:14px}.direction .site-nav a{padding:6px 0;text-decoration:none}.direction .site-nav a[aria-current]{text-decoration:underline}.direction .eyebrow,.direction .section-number{font-family:var(--meta);font-size:11px;line-height:1.6;letter-spacing:.04em;color:var(--muted)}.direction .eyebrow{text-transform:uppercase}.direction .introduction{padding:70px 0 72px;border-bottom:1px solid var(--ink)}.direction .role{margin-bottom:25px}.direction .introduction h1{font-size:clamp(64px,7.6vw,102px);letter-spacing:-.055em;font-weight:450}.direction .intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:34px}.direction .intro-copy{max-width:570px;font-size:25px;line-height:1.4;letter-spacing:-.025em}.direction .text-link{font-size:14px;font-weight:500;white-space:nowrap}.direction .text-link span{margin-left:8px}.direction .content-section{display:grid;grid-template-columns:235px minmax(0,1fr);-moz-column-gap:52px;column-gap:52px;padding:55px 0 60px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.direction .section-number{color:var(--accent);margin-bottom:23px}.direction .section-label{margin-bottom:8px}.direction .section-heading h2{max-width:220px;font-size:30px}.direction .project{display:flex;flex-direction:column}.direction .project-meta{order:-1;margin-bottom:14px}.direction .project+.project{margin-top:38px;padding-top:32px;border-top:1px solid var(--line)}.direction .project h3 a{text-decoration:none}.direction .project h3 a:hover{text-decoration:underline}.direction .project-meta span{padding:0 8px}.direction .project h3{max-width:690px;font-size:39px;font-weight:500}.direction .project-detail{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:38px;margin-top:27px}.direction .project-copy p+p{margin-top:16px}.direction .project-copy p{font-size:16px;color:var(--muted)}.direction .project-stack{padding:0;list-style:none;font-family:var(--meta);font-size:11px;line-height:1.65}.direction .project-stack li{padding:8px 0;border-top:1px solid var(--line)}.direction .section-intro{max-width:620px;font-size:15px;color:var(--muted);margin-bottom:24px}.direction .post-list{list-style:none;padding:0}.direction .post-list>li{border-top:1px solid var(--line)}.direction .post-list>li:last-child{border-bottom:1px solid var(--line)}.direction .post-list a{display:grid;grid-template-columns:112px minmax(0,1fr) 22px;gap:24px;padding:23px 0;text-decoration:none}.direction .post-list time{padding-top:4px;font-family:var(--meta);font-size:11px;color:var(--muted)}.direction .post-list h3,.direction .post-list h2{font-size:25px;letter-spacing:-.035em}.direction .post-list p{margin-top:9px;color:var(--muted);font-size:14px;line-height:1.6}.direction .post-arrow{color:var(--accent)}.direction .all-thoughts{display:inline-block;margin-top:23px}.direction .detail-list>div{display:grid;grid-template-columns:185px minmax(0,1fr);gap:24px;padding:19px 0;border-top:1px solid var(--line)}.direction .detail-list>div:first-child{padding-top:0;border-top:0}.direction .detail-list dt{font-weight:550;font-size:16px}.direction .detail-list dd{font-size:15px;color:var(--muted)}.direction .capabilities{margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}.direction .capabilities h3{font-size:23px;margin-bottom:20px}.direction .capabilities ul{padding-left:18px;font-size:15px;color:var(--muted)}.direction .capabilities li+li{margin-top:8px}.direction .experience-list{list-style:none;padding:0}.direction .experience-list>li{padding:26px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:155px minmax(0,1fr);gap:30px}.direction .experience-list>li:first-child{padding-top:0;border-top:0}.direction .experience-list>li:last-child{padding-bottom:0}.direction .experience-list h3{font-size:23px;letter-spacing:-.025em;line-height:1.25}.direction .experience-list h3 span{color:var(--muted)}.direction .experience-list div>p{font-size:15px;margin-top:12px;color:var(--muted)}.direction .reading-list{list-style:none;padding:0}.direction .reading-list li{border-top:1px solid var(--line)}.direction .reading-list li:first-child{border-top:none}.direction .reading-list a{display:grid;grid-template-columns:180px minmax(0,1fr) 20px;gap:20px;padding:16px 0;text-decoration:none}.direction .reading-list li:first-child a{padding-top:0}.direction .reading-list a>span:first-child{font-size:13px;color:var(--muted)}.direction .reading-list strong{font-weight:500;font-size:16px}.direction .read-arrow{color:var(--accent)}.direction .site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;padding:58px 0 28px}.direction .contact-email{font-size:26px;font-family:var(--display);letter-spacing:-.025em;display:inline-block;margin-top:9px}.direction .site-footer nav{display:flex;gap:24px;align-items:flex-start;font-size:14px;padding-top:31px}.direction .copyright{grid-column:1 / -1;font-family:var(--meta);font-size:10px;color:var(--muted);margin-top:30px}.direction-journal{--paper: #f6f0e6;--ink: #332b24;--muted: #6e6157;--line: #d6cabe;--accent: #77362e;--display: "Fraunces Variable", serif;--meta: "IBM Plex Sans Variable", sans-serif}.direction-journal .site-shell{max-width:1120px}.direction-journal .site-header{border-bottom:1px solid var(--line)}.direction-journal .wordmark{font-family:var(--display);font-weight:450;font-size:23px}.direction-journal .introduction{padding-top:52px;padding-bottom:53px;display:grid;grid-template-columns:1fr 305px;-moz-column-gap:55px;column-gap:55px}.direction-journal .role{grid-column:1 / -1;margin-bottom:24px}.direction-journal .introduction h1{font-size:clamp(62px,7.4vw,100px);font-weight:430;font-variation-settings:"SOFT" 20,"WONK" 0;letter-spacing:-.055em}.direction-journal .introduction h1>span{display:block}.direction-journal .intro-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:22px;margin:0 0 7px}.direction-journal .intro-copy{font-size:21px;line-height:1.5}.direction-journal .content-section{grid-template-columns:175px minmax(0,1fr);gap:55px;padding-top:43px;padding-bottom:48px}.direction-journal .section-heading h2{font-size:32px}.direction-journal .section-number{font-family:var(--display);font-size:16px;margin-bottom:16px}.direction-journal .section-number span{display:none}.direction-journal .project h3{font-size:38px;font-weight:430;font-variation-settings:"SOFT" 20,"WONK" 0}.direction-journal .project-detail{grid-template-columns:1fr;gap:22px;margin-top:23px}.direction-journal .project-stack{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:11px}.direction-journal .project-stack li{border-top:0;padding:0}.direction-journal .post-list a{grid-template-columns:1fr 20px;gap:14px}.direction-journal .post-list time{grid-column:1 / -1;font-size:11px;padding:0}.direction-journal .post-list h3,.direction-journal .post-list h2{font-size:28px}.direction-journal .detail-list>div{grid-template-columns:155px 1fr}.direction-journal .experience-list>li{grid-template-columns:1fr;gap:11px}.direction-journal .experience-list h3{font-size:25px}.direction-journal .reading-list a{grid-template-columns:1fr 20px;gap:4px 20px}.direction-journal .reading-list a>span:first-child{grid-column:1}.direction-journal .reading-list strong{grid-column:1}.direction-journal .read-arrow{grid-column:2;grid-row:1 / 3;align-self:center}.direction-signal{--paper: #ffffff;--ink: #20211e;--muted: #62635e;--line: #d2d4cc;--accent: #a02e11;--body: "Space Grotesk Variable", sans-serif;--display: "Space Grotesk Variable", sans-serif}.direction-signal .site-shell{max-width:1300px}.direction-signal .site-header{border-bottom:2px solid var(--ink)}.direction-signal .wordmark{font-weight:500}.direction-signal .introduction{position:relative;padding:45px 0 37px;border-bottom:2px solid var(--ink)}.direction-signal .role{text-align:right;margin:0;position:absolute;top:45px;right:0;max-width:215px}.direction-signal .introduction h1{font-size:clamp(75px,12.7vw,170px);line-height:.91;letter-spacing:-.075em;font-weight:500}.direction-signal .introduction h1>span{display:block}.direction-signal .intro-bottom{margin-top:42px}.direction-signal .intro-copy{font-size:22px;max-width:480px}.direction-signal .content-section{grid-template-columns:1fr;gap:32px;padding:40px 0 48px}.direction-signal .section-heading{display:flex;align-items:baseline;gap:24px}.direction-signal .section-number{min-width:42px;margin:0}.direction-signal .section-label{order:3;margin:0 0 0 auto}.direction-signal .section-heading h2{max-width:none;font-size:27px}.direction-signal .section-body{margin-left:66px}.direction-signal .project{display:grid;grid-template-columns:minmax(0,1fr) 1fr;-moz-column-gap:65px;column-gap:65px}.direction-signal .project-meta{grid-column:1 / -1}.direction-signal .project h3{font-size:46px;max-width:460px;line-height:1.12}.direction-signal .project-detail{margin:0;grid-template-columns:1fr;gap:24px}.direction-signal .project-stack{display:flex;flex-direction:column}.direction-signal .project-stack li{padding:5px 0}.direction-signal .detail-list>div{grid-template-columns:240px minmax(0,1fr)}.direction-signal .experience-list>li{grid-template-columns:220px minmax(0,1fr)}.direction-signal .reading-list a{grid-template-columns:240px minmax(0,1fr) 20px}.direction .notebook-main{min-height:65vh;padding:65px 0 90px}.direction .notebook-heading{max-width:700px;margin-bottom:45px}.direction .notebook-heading h1{font-size:clamp(55px,6vw,85px);margin:20px 0}.direction .notebook-heading>p:last-child{max-width:510px;color:var(--muted);font-size:18px}.direction .article-main{padding:52px 0 0}.direction .article-header{max-width:850px;margin-left:235px;padding-bottom:47px}.direction .article-meta{display:flex;gap:16px;margin:35px 0 16px}.direction .article-header h1{font-size:clamp(48px,5.6vw,72px);line-height:1.07}.direction .article-header h1>span{color:var(--accent)}.direction .article-deck{max-width:640px;margin-top:22px;font-size:22px;line-height:1.5;color:var(--muted);letter-spacing:-.02em}.direction .article-byline{margin-top:25px;font-size:13px}.direction .article-grid{display:grid;grid-template-columns:185px minmax(0,720px);gap:50px;align-items:start;padding-bottom:45px}.direction .article-body{min-width:0}.direction .article-grid.without-aside .article-body{grid-column:2}.direction .article-aside{padding-top:10px}.direction .article-aside ol{list-style:none;padding:0;margin-top:17px}.direction .article-aside li{font-size:12px;line-height:1.55;margin-bottom:15px}.direction .article-aside a{color:var(--muted);text-decoration:none}.direction .article-aside a:hover{color:var(--accent);text-decoration:underline}.direction .article-cover{width:100%;aspect-ratio:3/2;-o-object-fit:cover;object-fit:cover;margin-bottom:40px}.direction .reading-prose{max-width:65ch;font-size:19px;line-height:1.78;color:var(--ink)}.direction .reading-prose p{margin:0 0 1.45em}.direction .reading-prose h2{font-size:33px;line-height:1.22;margin:1.8em 0 .7em;scroll-margin-top:30px}.direction .reading-prose h3{font-size:27px;margin:1.6em 0 .6em}.direction .reading-prose code{padding:.12em .28em;font-family:var(--meta);font-size:.8em;background:color-mix(in srgb,var(--line) 50%,transparent);overflow-wrap:anywhere}.direction .reading-prose pre{overflow:auto;padding:20px;background:var(--ink);color:var(--paper);font-size:.8em}.direction .reading-prose pre code{background:none;padding:0;font-size:1em;overflow-wrap:normal}.direction .reading-prose img{margin:2em 0}.direction .reading-prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.direction .reading-prose ul,.direction .reading-prose ol{padding-left:1.5em;margin-bottom:1.4em}.direction .reading-prose blockquote{border-left:2px solid var(--accent);margin:1.5em 0;padding-left:1.2em;color:var(--muted)}.direction .reading-prose table{display:block;overflow-x:auto;border-collapse:collapse;margin-bottom:1.4em}.direction .reading-prose th,.direction .reading-prose td{padding:.5em .75em;border:1px solid var(--line);text-align:left}.direction .article-end{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:45px;padding-top:25px;font-size:14px}.direction-journal .article-header{margin-left:0;max-width:760px;margin-inline:auto;text-align:center}.direction-journal .article-meta{justify-content:center}.direction-journal .article-deck{margin-inline:auto;font-size:20px}.direction-journal .article-header h1{font-size:clamp(50px,6vw,77px);font-weight:430}.direction-journal .article-grid{display:block;max-width:700px;margin:auto}.direction-journal .article-aside{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 6px;margin-bottom:35px}.direction-journal .article-aside ol{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin-top:12px}.direction-journal .reading-prose{font-family:Fraunces Variable,serif;font-weight:350;font-variation-settings:"opsz" 16,"SOFT" 0,"WONK" 0;font-size:20px;line-height:1.8;letter-spacing:-.01em}.direction-journal .reading-prose h2{font-weight:450}.direction-signal .article-header{margin-left:66px;max-width:980px}.direction-signal .article-header h1{font-size:clamp(52px,6.7vw,87px);font-weight:500;letter-spacing:-.055em;max-width:780px}.direction-signal .article-grid{grid-template-columns:1fr 230px;gap:65px;max-width:1050px;margin-left:66px}.direction-signal .article-aside{grid-column:2;grid-row:1;border-top:2px solid var(--ink);padding-top:23px}.direction-signal .article-body{grid-column:1;grid-row:1;min-width:0}.direction-signal .reading-prose{font-size:18px;line-height:1.85}@media(max-width:1000px){.direction .site-shell{padding:0 30px}.direction .content-section{grid-template-columns:185px minmax(0,1fr);gap:35px}.direction .project-detail{grid-template-columns:1fr;gap:20px}.direction .project-stack{display:flex;flex-wrap:wrap;gap:8px 20px}.direction .project-stack li{padding:0;border:0}.direction .detail-list>div{grid-template-columns:1fr;gap:6px}.direction .experience-list>li{grid-template-columns:1fr;gap:9px}.direction .reading-list a{grid-template-columns:1fr 20px;gap:4px 20px}.direction .reading-list a>span:first-child{grid-column:1}.direction .reading-list strong{grid-column:1}.direction .read-arrow{grid-column:2;grid-row:1 / 3}.direction .article-header{margin-left:185px}.direction .article-grid{grid-template-columns:150px minmax(0,1fr);gap:35px}.direction-journal .content-section{grid-template-columns:150px minmax(0,1fr)}.direction-journal .introduction{grid-template-columns:1fr 260px;gap:30px}.direction-journal .article-header{margin-left:auto}.direction-signal .content-section{grid-template-columns:1fr}.direction-signal .project{-moz-column-gap:35px;column-gap:35px}.direction-signal .project h3{font-size:38px}.direction-signal .article-header{margin-left:0}.direction-signal .article-grid{margin-left:0;grid-template-columns:minmax(0,1fr) 175px;gap:35px}}@media(max-width:700px){.direction .site-shell{padding:0 22px}.direction .review-strip{padding:8px 16px;gap:12px;font-size:10px}.direction .review-current{display:none}.direction .review-strip nav a{min-width:34px;min-height:34px}.direction .site-header{display:block;padding:23px 0 20px}.direction .site-nav{justify-content:space-between;gap:12px;margin-top:18px;font-size:12px}.direction .site-nav a{min-height:32px;display:flex;align-items:center}.direction .introduction{padding:40px 0 38px}.direction .role{font-size:10px;margin-bottom:20px}.direction .introduction h1{font-size:clamp(51px,13.4vw,87px);line-height:1.04}.direction .introduction h1>span{display:block}.direction .intro-bottom{display:block;margin-top:25px}.direction .intro-copy{font-size:20px;max-width:430px}.direction .intro-bottom .text-link{display:inline-block;margin-top:22px;font-size:13px}.direction .content-section{display:block;padding:32px 0 37px}.direction .section-heading{display:grid;grid-template-columns:32px 1fr;gap:0 13px;margin-bottom:25px}.direction .section-number{grid-row:1 / 3;margin:0;padding-top:2px}.direction .section-label{margin:0 0 5px;font-size:10px}.direction .section-heading h2{max-width:none;font-size:28px}.direction .project h3{font-size:31px}.direction .project-meta{font-size:10px;margin-bottom:13px}.direction .project-detail{display:block;margin-top:20px}.direction .project-copy p{font-size:15px}.direction .project-stack{display:block;margin-top:20px;font-size:10px}.direction .project-stack li{margin-top:5px}.direction .section-intro{font-size:14px}.direction .post-list a{grid-template-columns:minmax(0,1fr) 20px;gap:11px;padding:20px 0}.direction .post-list time{grid-column:1 / -1;font-size:10px;padding:0}.direction .post-list h3,.direction .post-list h2{font-size:24px}.direction .post-list p{font-size:13px}.direction .detail-list>div{display:block;padding:17px 0}.direction .detail-list dt{margin-bottom:7px;font-size:15px}.direction .detail-list dd{font-size:14px}.direction .capabilities{margin-top:23px}.direction .capabilities ul{font-size:14px}.direction .experience-list>li{display:block;padding:23px 0}.direction .experience-list h3{font-size:22px;margin-top:10px}.direction .experience-list div>p{font-size:14px}.direction .experience-list .eyebrow{font-size:10px}.direction .reading-list a{padding:14px 0}.direction .reading-list strong{font-size:15px}.direction .site-footer{display:block;padding:35px 0 24px}.direction .contact-email{font-size:23px}.direction .site-footer nav{padding-top:22px;gap:28px;font-size:13px}.direction .copyright{margin-top:35px;font-size:9px}.direction .notebook-main{padding:40px 0 65px;min-height:60vh}.direction .notebook-heading h1{font-size:55px}.direction .notebook-heading>p:last-child{font-size:16px}.direction .article-main{padding-top:34px}.direction .article-header{margin:0;padding-bottom:30px}.direction .article-meta{margin-top:27px;font-size:10px;gap:12px}.direction .article-header h1{font-size:clamp(41px,10.7vw,66px);line-height:1.1}.direction .article-deck{font-size:18px;margin-top:18px}.direction .article-byline{font-size:12px;margin-top:18px}.direction .article-grid{display:block;margin:0;padding-bottom:25px}.direction .article-aside{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px;padding:16px 0 2px}.direction .article-aside ol{display:block;margin-top:13px}.direction .article-aside li{margin-bottom:12px}.direction .article-cover{margin-bottom:28px}.direction .reading-prose{font-size:17px;line-height:1.8}.direction .reading-prose h2{font-size:28px}.direction .article-end{font-size:12px;gap:15px}.direction .article-end .text-link{font-size:12px}.direction-journal .introduction{display:block}.direction-journal .introduction h1{font-size:clamp(55px,14vw,88px)}.direction-journal .intro-bottom{margin-top:24px}.direction-journal .article-header{text-align:left}.direction-journal .article-meta{justify-content:flex-start}.direction-journal .reading-prose{font-size:18px}.direction-signal .role{position:static;text-align:left;max-width:none;margin-bottom:28px}.direction-signal .introduction h1{font-size:clamp(64px,17.7vw,110px);line-height:.92}.direction-signal .section-heading{display:flex;flex-wrap:wrap;gap:0 13px}.direction-signal .section-heading h2{font-size:25px}.direction-signal .section-number{min-width:32px}.direction-signal .section-label{width:100%;margin-left:45px;margin-top:7px;order:3}.direction-signal .section-body{margin-left:0}.direction-signal .project{display:block}.direction-signal .project h3{font-size:32px}.direction-signal .article-aside{border-top-width:2px}}@media(prefers-reduced-motion:reduce){.direction *,.direction *:before,.direction *:after{scroll-behavior:auto!important}}@media print{.direction .review-strip,.direction .site-header,.direction .article-aside,.direction .site-footer,.direction .skip-link{display:none}.direction .site-shell{max-width:none;padding:0}.direction .article-header{margin:0}.direction .article-grid{display:block;margin:0}.direction{background:#fff;color:#000}}
