@font-face{font-family:Departure;src:url('/assets/fonts/departure-mono.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#fff;--ink:#242424;--muted:#606060;--line:#d9d9d9;--blue:#204adc;--wash:#f5f6f8;--pixel:Departure,'Courier New',monospace;--body:Arial,Helvetica,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-padding-top:24px;scrollbar-color:#a9a9a9 #f7f7f7}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{color:#fff;background:var(--blue)}
button,input{font:inherit;color:inherit;caret-color:var(--blue)}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--blue)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
ul{padding-left:1.15em}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400;text-wrap:balance}
h1,h2{font-family:var(--pixel);line-height:1.3}
h2{font-size:24px}
h3{font-size:22px;line-height:1.3}
p+p{margin-top:18px}
.site-shell{width:min(1080px,calc(100% - 80px));margin:0 auto}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 0 25px;border-bottom:1px solid var(--line)}
.site-home{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--pixel);font-size:12px;white-space:nowrap}
.site-header nav{display:flex;align-items:center;gap:25px;font-size:14px}
.site-header nav a{text-decoration:none;padding:5px 0}
.site-header nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:8px}
.skip-link{position:absolute;left:20px;top:-100px;background:var(--blue);color:#fff;padding:10px 16px;z-index:10}
.skip-link:focus{top:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.icon{display:inline-block;vertical-align:-2px}
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) 332px;align-items:center;gap:105px;padding:62px 0 70px}
.intro-copy h1{font-size:66px;line-height:1.12;letter-spacing:-.025em}
.name-period{color:var(--blue);animation:name-period-blink 1.05s steps(1,end) infinite}
@keyframes name-period-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
.intro-lead{font-size:25px;line-height:1.35;margin:28px 0 20px;letter-spacing:-.015em}
.intro-copy>p:not(.intro-lead){font-size:16px;line-height:1.6;max-width:440px}
.intro-copy>p+p:not(.intro-lead){margin-top:12px}
.intro-copy>p a{color:var(--blue)}
.intro-actions{display:flex;align-items:center;gap:28px;margin-top:27px;font-size:15px}
.primary-link{display:inline-flex;gap:16px;align-items:center;background:var(--ink);color:#fff;text-decoration:none;padding:11px 17px;font-size:15px;min-height:46px;transition:background .18s var(--ease)}
.primary-link:hover{background:var(--blue);color:#fff}
.text-link{display:inline-flex;gap:8px;align-items:center;font-size:14px}
.portrait{width:100%;align-self:center}
.portrait-media{position:relative;aspect-ratio:1;background:#eee;overflow:hidden}
.portrait-media img{width:100%;height:100%;object-fit:cover}
.portrait-media canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;min-height:48px;font-size:12px;color:var(--muted)}
.small-button{min-height:32px;padding:4px 9px;border:1px solid #b7b7b7;background:#fff;border-radius:0;font-size:12px;line-height:1.4}
.small-button:hover{border-color:var(--blue);color:var(--blue)}
.small-button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:23px}
.meta{font-family:var(--pixel);font-size:11px;line-height:1.65;color:var(--muted)}
.directory-section{border-top:1px solid var(--ink);padding-top:26px}
.directory-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:65px}
.index-list{list-style:none;padding:0;margin:0}
.index-list li{border-top:1px solid var(--line)}
.index-list li:last-child{border-bottom:1px solid var(--line)}
.index-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;text-decoration:none}
.index-link strong{display:block;font-size:18px;line-height:1.4;font-weight:400}
.index-link small{display:block;color:var(--muted);font-size:14px;line-height:1.5;margin-top:4px}
.index-link>.meta,.index-link>.availability{flex-shrink:0;text-align:right}
.index-link:hover strong{text-decoration:underline;text-underline-offset:5px}
.now-note{padding:20px 22px;background:var(--wash);align-self:start}
.now-note h3{font-family:var(--pixel);font-size:16px}
.now-note p{font-size:15px;line-height:1.6;margin:15px 0 18px}
.now-note>.meta{display:block;margin-top:24px;font-size:10px}
.connection-map{margin-top:34px;border:1px solid var(--line)}
.connection-map summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;cursor:pointer;font-size:14px}
.connection-map summary::-webkit-details-marker{display:none}
.connection-map summary>span:first-child{display:flex;align-items:center;gap:12px}
.connection-map summary:hover{color:var(--blue)}
.summary-action{display:inline-flex;align-items:center;gap:20px;font-size:12px}
.summary-action>.toggle-sign{font-size:20px;line-height:1;transition:transform .3s var(--ease)}
.connection-map[open] .summary-action>.toggle-sign{transform:rotate(45deg)}
.connection-map .when-open{display:none}.connection-map[open] .when-closed{display:none}.connection-map[open] .when-open{display:inline}
.map-interior{border-top:1px solid var(--line);padding:18px 20px 12px}
.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.map-toolbar p{font-size:13px;color:var(--muted)}
.map-controls{display:flex;gap:6px}
[data-map-canvas]{width:100%;height:420px;display:block;touch-action:none;cursor:grab}
[data-map-canvas]:active{cursor:grabbing}
.map-links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;padding:10px 0;font-size:13px}
.map-links a[aria-current],.map-links a.is-map-selected,.map-links a[data-map-selected=true]{color:var(--blue);font-weight:bold}
.map-status{text-align:center;font-size:12px;color:var(--muted);min-height:24px;margin-top:6px}
.selected-work,.history-preview{margin-top:70px}
.work-feature{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;background:#f5f6f8;padding:32px;margin-bottom:21px}
.work-feature-name{display:flex;align-items:center;gap:23px}
.work-feature-name>a{text-decoration:none}
.work-feature-name h3{font-family:var(--pixel);font-size:21px;line-height:1.5}
.work-feature-name h3 .icon{vertical-align:0}
.work-feature-copy p{font-size:16px;line-height:1.65;margin-bottom:15px}
.tiny-window{position:relative;display:block;width:66px;height:65px;border:1px solid var(--ink);flex-shrink:0;padding:5px;line-height:4px}
.tiny-window::after{position:absolute;top:16px;left:0;width:100%;border-top:1px solid var(--ink);content:''}
.tiny-window i{display:inline-block;width:4px;height:4px;border:1px solid var(--ink);margin-right:3px}
.tiny-window>span{position:absolute;top:32px;left:12px;font-family:var(--pixel);font-size:16px;line-height:1}
.availability{font-size:12px;color:var(--muted);line-height:1.5}
.history-list{list-style:none;padding:0;margin:0}
.history-list li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;padding:24px 0;border-top:1px solid var(--line)}
.history-list li:last-child{border-bottom:1px solid var(--line)}
.history-year{font-family:var(--pixel);font-size:12px;padding-top:4px;color:var(--muted)}
.history-list a{text-decoration:none}
.history-list a h3{font-size:21px}
.history-list a:hover h3{text-decoration:underline;text-underline-offset:5px}
.history-list p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:8px}
.video-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:70px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.video-section h2{font-size:22px;max-width:380px}
.video-section p{font-size:15px;color:var(--muted);margin:15px 0 16px}
.video-links{list-style:none;padding:0;margin:0;font-size:15px}
.video-links li{padding:15px 0;border-bottom:1px solid var(--line)}
.video-links li:first-child{padding-top:0}
.video-links a{display:flex;justify-content:space-between;align-items:baseline;gap:15px;text-decoration:none}
.video-links a:hover{text-decoration:underline}
.contact-section{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:60px 0 65px}
.contact-section h2{font-size:31px;line-height:1.4}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:26px;border-top:1px solid var(--ink);padding:27px 0 24px}
.footer-name{font-family:var(--pixel);font-size:12px;text-decoration:none}
.site-footer p{font-size:12px;color:var(--muted);margin-top:5px}
.footer-links{display:flex;gap:23px;align-items:start;padding-top:4px;font-size:12px}
.footer-links a{text-decoration:none}
.site-footer .colophon{grid-column:1/-1;font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:0}
.colophon a{margin-left:6px}
.page-main{padding:64px 0 75px;min-height:65vh}
.page-heading{font-size:44px;line-height:1.3;max-width:850px;letter-spacing:-.02em;margin-bottom:25px}
.page-intro{font-size:23px;line-height:1.55;max-width:720px;margin:0 0 42px}
.prose{max-width:720px}
.prose p{margin:0 0 22px}
.prose h2{font-size:23px;margin:43px 0 20px;line-height:1.45}
.prose h3{font-size:21px;margin:32px 0 15px}
.prose a{color:var(--blue)}
.prose ul{margin:20px 0 28px;padding-left:22px}
.prose li+li{margin-top:9px}
.prose figure{margin:30px 0}
.prose figcaption{font-size:12px;color:var(--muted);margin-top:9px}
.content-note{border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--muted);margin-top:36px}
.split-content{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:65px;align-items:start}
.portrait-small{width:100%;height:auto}
.split-content figure figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.project-list{list-style:none;padding:0;margin:20px 0 0}
.project-entry{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 45px;border-top:1px solid var(--line);padding:28px 0}
.project-entry>h2,.project-entry>.meta,.project-entry>.availability{grid-column:1}
.project-entry>p:not(.meta):not(.availability):not(.content-note){grid-column:2;grid-row:1 / span 2}
.project-entry>.text-link,.project-entry>.content-note{grid-column:2}
.project-entry h2{font-size:24px;line-height:1.4}
.project-entry h3{font-size:23px}
.project-entry p{font-size:16px;margin:0}.project-entry p+p{margin-top:0}
.project-entry .meta,.project-entry .availability{display:block;margin-top:8px}
.page-main>.section-head{margin-top:44px}
.catalog-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
.catalog-filters button{border:1px solid var(--line);background:#fff;min-height:40px;padding:8px 15px;font-size:13px}
.catalog-filters button:hover{border-color:var(--blue);color:var(--blue)}
.catalog-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
[data-catalog-status]{font-size:14px;color:var(--muted);margin:22px 0}
.page-main>.availability{display:block;margin:0 0 22px}
.page-main>.text-link{margin-top:35px}
.catalog-entry{padding:28px 0;border-top:1px solid var(--line)}
.catalog-entry h2{font-size:25px;margin-bottom:10px}
.catalog-entry p{max-width:680px;font-size:16px}
.catalog-entry .availability{display:block;margin:12px 0}
@media(min-width:1400px){.site-shell{width:1080px}.home-intro{gap:135px;grid-template-columns:minmax(0,1fr) 350px;padding-top:70px;padding-bottom:75px}.intro-copy h1{font-size:72px}}
@media(max-width:900px){.site-shell{width:calc(100% - 56px)}.site-header{gap:20px;flex-wrap:wrap}.site-header nav{gap:24px}.home-intro{gap:40px;grid-template-columns:minmax(0,1fr) 270px;padding:48px 0 55px}.intro-copy h1{font-size:53px}.intro-lead{font-size:23px}.intro-actions{gap:18px;flex-wrap:wrap}.directory-grid{gap:30px;grid-template-columns:minmax(0,1fr) 230px}.section-head h2{font-size:22px}.work-feature{gap:30px;padding:25px;grid-template-columns:1fr 1.1fr}.work-feature-name{gap:15px}.tiny-window{display:none}.split-content{gap:35px;grid-template-columns:minmax(0,1fr) 230px}.footer-links{gap:14px}.video-section{gap:35px}.project-entry{gap:30px}}
@media(max-width:650px){body{font-size:16px}.site-shell{width:calc(100% - 36px)}.site-header{padding:23px 0 17px;gap:18px}.site-home{font-size:11px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:13px}.home-intro{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding:36px 0 40px}.intro-copy h1{font-size:55px;line-height:1.16}.intro-lead{font-size:24px;margin-top:24px}.intro-copy>p:not(.intro-lead){max-width:440px}.intro-actions{gap:24px;margin-top:24px}.portrait{max-width:370px;align-self:stretch}.portrait figcaption{padding-top:11px}.directory-section{padding-top:22px}.section-head{align-items:start;gap:17px;margin-bottom:19px}.section-head h2{font-size:22px}.section-head>.meta{display:none}.section-head>.text-link{font-size:12px;white-space:nowrap;margin-top:5px}.directory-grid{display:block}.now-note{margin-top:25px;padding:20px}.now-note p{max-width:420px}.now-note>.meta{margin-top:18px}.connection-map{margin-top:26px}.connection-map summary{padding:14px 12px;align-items:center}.connection-map summary>span:first-child{gap:9px;font-size:12px}.summary-action{font-size:0;gap:0}.summary-action>.toggle-sign{font-size:20px}.map-mark{width:21px}.map-interior{padding:14px 10px 10px}.map-toolbar{align-items:start;flex-direction:column;gap:12px}.map-toolbar p{font-size:12px}.map-controls{align-self:flex-end}.map-controls .small-button{min-height:36px}[data-map-canvas]{height:320px}.map-links{gap:11px 16px}.map-status{font-size:11px;margin-top:12px}.selected-work,.history-preview{margin-top:44px}.work-feature{grid-template-columns:1fr;gap:20px;padding:23px}.work-feature-name{gap:18px}.tiny-window{display:block}.work-feature-name h3{font-size:22px}.work-feature-copy p{font-size:15px}.index-link{gap:16px;padding:18px 0}.index-link strong{font-size:18px}.index-link small{font-size:14px}.project-index .index-link{align-items:start;flex-direction:column;gap:11px}.index-link>.availability{text-align:left}.history-list li{grid-template-columns:1fr;gap:12px;padding:22px 0}.history-list a h3{font-size:21px;line-height:1.4}.history-list p{font-size:14px}.video-section{display:block;margin-top:44px;padding-bottom:35px}.video-section h2{font-size:23px}.video-links{margin-top:28px}.video-links li:first-child{padding-top:15px;border-top:1px solid var(--line)}.contact-section{display:block;padding:38px 0 43px}.contact-section h2{font-size:27px;margin-bottom:25px}.site-footer{grid-template-columns:1fr;gap:20px;padding-top:24px}.footer-links{gap:16px 23px;flex-wrap:wrap}.site-footer .colophon{line-height:1.7}.colophon a{margin-left:0;display:inline-block}.page-main{padding:37px 0 48px}.page-heading{font-size:31px;line-height:1.4;margin-bottom:23px}.page-intro{font-size:21px;margin-bottom:30px}.split-content{display:flex;flex-direction:column;gap:25px}.split-content figure{width:min(100%,330px)}.split-content .portrait-small{max-width:330px}.prose h2{font-size:23px;margin-top:34px}.prose p{margin-bottom:21px}.project-entry{grid-template-columns:1fr;gap:12px;padding:25px 0}.project-entry>.text-link{margin-top:5px}.project-entry>.meta,.project-entry>.availability{margin:0 0 7px}.project-entry>*{grid-column:auto!important;grid-row:auto!important}.project-entry h2{font-size:25px}.catalog-filters{gap:6px}.catalog-filters button{padding:8px 11px;font-size:12px}.page-main .index-link{align-items:start}.page-main .index-link>.meta{font-size:10px}.content-note{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.skill-buy{font:inherit;font-weight:600;background:#204adc;color:#fff;border:2px solid #204adc;padding:14px 22px;cursor:pointer}.skill-buy:hover{background:#1739b1}.skill-buy:focus-visible{outline:3px solid #111;outline-offset:4px}

.skill-list .project-entry>p:not(.meta):not(.availability){grid-row:auto}.skill-list .project-entry>h2{grid-row:1 / span 2}

.skill-list .project-entry>form{grid-column:2}.skill-list .skill-buy{max-width:100%;text-align:left}

/* The homepage's content network replaces the portrait experiment. */
.home-intro{grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:60px}
.hero-network{min-width:0;width:100%;align-self:center}
.network-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--ink);padding-bottom:13px}
.network-heading h2{font-size:17px}.network-count{font-family:var(--pixel);font-size:10px;color:var(--muted)}
.network-filters{display:flex;gap:20px;padding-top:12px}
.network-filters button{background:none;border:0;border-bottom:1px solid transparent;padding:5px 0;font-family:var(--pixel);font-size:10px;min-height:32px}
.network-filters button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue)}
.network-stage{position:relative}.hero-network [data-map-canvas]{height:auto;aspect-ratio:1;touch-action:pan-y}
.network-console{display:flex;justify-content:space-between;align-items:start;gap:16px;border-top:1px solid var(--line);padding:15px 0;min-height:122px}
.network-console .meta{display:block;font-size:9px;margin-bottom:5px}.network-console a{font-size:17px;color:var(--blue)}
.network-console p{font-size:12px;line-height:1.5;color:var(--muted);max-width:280px;margin-top:5px}
.network-signal{flex-shrink:0;margin-top:19px}.hero-network .map-controls{align-items:center;flex-wrap:wrap;gap:5px}
.hero-network .map-controls>span{font-size:10px;color:var(--muted);margin-left:auto}
.network-index{margin-top:15px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}
.network-index summary{cursor:pointer;color:var(--muted)}.hero-network .map-links{justify-content:start;gap:9px 15px;text-align:left;font-size:12px;padding:15px 0 0}
.hero-network .is-topic-muted{color:var(--muted)}
@media(min-width:1400px){.home-intro{grid-template-columns:minmax(0,1fr) 490px;gap:80px}}
@media(min-width:651px) and (max-width:900px){.home-intro{grid-template-columns:minmax(0,1fr) minmax(0,350px);gap:25px}.network-heading h2{font-size:14px}.network-count{display:none}.network-console{min-height:139px}.network-signal{padding:4px 6px;font-size:11px}.hero-network .map-controls>span{width:100%;margin:5px 0 0}}
@media(max-width:650px){.home-intro{gap:40px}.hero-network{max-width:490px}.network-heading h2{font-size:16px}.network-console{min-height:130px}.hero-network .map-controls{align-self:auto}.hero-network .map-controls>span{font-size:9px}.network-filters{gap:25px}}

/* Editorial navigation and reusable press portrait. */
.site-header nav{flex-wrap:wrap}
.bio-portrait{margin:20px 0;max-width:360px}
.bio-portrait img{display:block;width:100%;height:auto}
.bio-portrait figcaption{font-size:14px;line-height:1.6;margin-top:12px}
.subscription-form{border-top:1px solid var(--line);margin-top:32px;padding-top:24px;max-width:560px}
.subscription-form label{display:block;font-size:14px;margin-bottom:8px}
.subscription-fields{display:flex;gap:10px;align-items:stretch}
.subscription-fields input{border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;min-width:0;flex:1;padding:12px}
.subscription-fields button{border:0;cursor:pointer}
.form-note{font-size:13px!important;color:var(--muted);margin-top:10px!important}
@media(max-width:650px){.site-header nav{justify-content:flex-start;column-gap:20px;row-gap:8px}}
@media(max-width:480px){.subscription-fields{display:grid;grid-template-columns:1fr}.subscription-fields button{justify-self:start}}
