@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin-800-opsz.woff2)format("woff2");font-weight:800;font-display:swap}:root{--ink:#111;--link:#1a49c9;--link-hover:#0f2f8a;--line:#e5e5e5;--fill:#f4f4f4;--text:400 17px/1.5 "Instrument Sans", system-ui, sans-serif;--display:"Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif}.name,.wordmark{font-variation-settings:"opsz" 14}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);font:var(--text);-webkit-font-smoothing:antialiased;background:#fff}h1,h2,h3,p,figure,blockquote{margin:0}h2,h3{font:inherit;font-weight:600}img{max-width:100%;height:auto;display:block}a{color:var(--link);text-underline-offset:3px;text-decoration:underline 1px}a:hover{color:var(--link-hover);text-decoration-thickness:2px}a:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:2px}.home{max-width:920px;margin:0 auto;padding:72px 20px 80px}.home header{text-align:center;margin-bottom:64px}.name{font-family:var(--display);letter-spacing:-.045em;margin-bottom:32px;font-size:140px;font-weight:800;line-height:.84}.home .intro:last-of-type{margin-bottom:12px}.contact{justify-content:center;gap:28px;font-weight:500;display:flex}.contact a{align-items:center;min-height:44px;display:inline-flex}.projects>h2{border-bottom:1px solid var(--ink);padding-bottom:10px}.projects h3{margin:32px 0 4px}.row{grid-template-columns:minmax(0,1fr) 180px;align-items:baseline;column-gap:32px;padding:5px 0;display:grid}.row a{font-weight:500}.row .state{text-align:right}@media (width<=639px){.home{padding:48px 20px}.home header{margin-bottom:48px}.name{margin-bottom:24px;font-size:min(88px,25.9067vw - 10.3627px)}.home .intro:last-of-type{margin-bottom:8px}.contact{gap:24px}.projects>h2{padding-bottom:8px}.projects h3{margin:28px 0 2px}.row{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.row>span:first-child{display:contents}.row .comma{display:none}.row a{grid-area:1/1;justify-self:start}.row .desc{grid-area:2/1/auto/-1;display:block}.row .desc:first-letter{text-transform:uppercase}.row .state{white-space:nowrap;grid-area:1/2}.row a{align-items:center;min-height:44px;margin-block:-9px;padding-block:9px;display:inline-flex}}.frame{max-width:1160px;margin:0 auto;padding:32px 20px 80px}.wordmark{min-height:44px;font-family:var(--display);letter-spacing:-.03em;color:var(--ink);align-items:center;margin-bottom:96px;font-size:30px;font-weight:800;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--ink)}.column{max-width:680px;margin:0 auto}.back,.action a,.pager a{align-items:center;min-height:44px;font-weight:500;display:inline-flex}.back{margin-bottom:20px}.detail h1{letter-spacing:-.03em;margin-bottom:12px;font-size:48px;font-weight:600;line-height:1.08}.detail .role{margin-bottom:40px}.column>p:not(.role):not(.action){margin-bottom:20px}.wide{max-width:960px;margin:48px auto 0}.fill{background:var(--fill);border-radius:6px;padding:28px}.fill>img{border:1px solid var(--line);border-radius:4px;width:100%}.fill>a{display:block}.fill>a>img{border:1px solid var(--line);border-radius:4px;width:100%}.wide figcaption,.diagram figcaption{margin-top:12px}.after{margin-top:48px}.after:has(>.pager:first-child){margin-top:0}.action{margin-bottom:4px;font-weight:500}.pager{justify-content:space-between;margin-top:72px;display:flex}.phones{justify-content:center;gap:48px;padding:40px;display:flex}.phones img{border:0;border-radius:18px;width:260px}@media (width<=639px){.frame{padding:12px 20px 40px}.wordmark{margin-bottom:32px;font-size:24px}.back{display:none}.detail h1{margin-bottom:10px;font-size:38px;line-height:1.05}.detail h1.long{font-size:34px;line-height:1.1}.detail .role{margin-bottom:28px}.column>p:not(.role):not(.action){margin-bottom:18px}.wide{margin-top:28px}.fill{padding:14px}.wide figcaption,.diagram figcaption{margin-top:10px}.after{margin-top:32px}.action{margin-bottom:2px}.pager{margin-top:48px}.phones{gap:14px;padding:18px 14px}.phones img{border-radius:12px;width:calc(50% - 7px)}}.diagram{margin-top:40px}.diagram.fill{grid-template-columns:200px 40px minmax(0,1fr);align-items:center;display:grid}.diagram .arrow{text-align:center;font-size:20px}.diagram .later{flex-direction:column;gap:12px;display:flex}.box{border:1px solid var(--ink);background:#fff;border-radius:4px;padding:14px 16px;font-size:15px;line-height:1.45}.box strong{margin-bottom:4px;font-size:15.5px;font-weight:600;line-height:1.3;display:block}.box.first{background:var(--ink);color:#fff}.box.next{background:0 0;border-style:dashed}.diagram figcaption{grid-column:1/-1;margin-top:16px}@media (width<=639px){.diagram{margin-top:28px}.diagram.fill{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}.diagram .arrow{font-size:18px}.diagram .arrow:before{content:"↓"}.diagram .arrow span{display:none}.diagram .later{gap:8px}.box{font-size:14.5px}.box strong{margin-bottom:2px}.diagram figcaption{margin-top:4px}}
