:root{--paper:#f7f7f4;--card:#fff;--plinth:#ecece7;--ink:#0f0f0e;--graphite:#55554f;--mist:#8e8e88;--hair:#0f0f0e24;--hair-soft:#0f0f0e0f;--crayon:#e4572e;--crayon-soft:#e4572e1f;--shadow:0 1px 2px #0000001a, 0 14px 32px #0000001a;--d:"Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--m:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:104px;--page:1200px;--measure:66ch;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121211;--card:#1a1a18;--plinth:#1f1f1c;--ink:#f3f3ee;--graphite:#b5b5ae;--mist:#7c7c76;--hair:#f3f3ee29;--hair-soft:#f3f3ee12;--crayon:#f0683f;--crayon-soft:#f0683f29;--shadow:0 1px 2px #0006, 0 14px 32px #00000073;color-scheme:dark}}:root[data-theme=dark]{--paper:#121211;--card:#1a1a18;--plinth:#1f1f1c;--ink:#f3f3ee;--graphite:#b5b5ae;--mist:#7c7c76;--hair:#f3f3ee29;--hair-soft:#f3f3ee12;--crayon:#f0683f;--crayon-soft:#f0683f29;--shadow:0 1px 2px #0006, 0 14px 32px #00000073;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--d);font-variation-settings:"opsz" 14;margin:0;font-size:18px;line-height:1.5}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:underline;text-decoration-color:var(--crayon);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s ease-out}a:hover{color:var(--crayon)}a:focus-visible,button:focus-visible{outline:2px solid var(--crayon);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}h1,h2,h3,h4{text-wrap:balance;margin:0}.display{letter-spacing:-.04em;font-variation-settings:"opsz" 96;font-size:clamp(44px,7.5vw,96px);font-weight:800;line-height:.92}.h1{letter-spacing:-.035em;font-variation-settings:"opsz" 96;font-size:clamp(40px,6vw,76px);font-weight:700;line-height:.95}.h2{letter-spacing:-.02em;font-variation-settings:"opsz" 48;font-size:clamp(24px,3vw,30px);font-weight:700;line-height:1.1}.h3{letter-spacing:-.01em;font-variation-settings:"opsz" 24;font-size:21px;font-weight:600;line-height:1.25}.lede{font-variation-settings:"opsz" 24;color:var(--graphite);font-size:clamp(20px,2.2vw,24px);font-weight:400;line-height:1.4}.small{font-size:15px;line-height:1.5}.mono{font-family:var(--m);letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);font-size:12.5px;line-height:1.4}.mono.lc{text-transform:none;letter-spacing:0}.prose{max-width:var(--measure)}.prose p{margin:0 0 1em}.prose p:last-child{margin-bottom:0}.prose .h2{margin:var(--s4) 0 var(--s2)}.prose blockquote{margin:var(--s3) 0;padding-left:var(--s3);border-left:2px solid var(--crayon);color:var(--graphite);font-size:20px}.wrap{max-width:var(--page);padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));margin:0 auto}@media (width<=479px){.wrap{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}}.nav{z-index:20;background:var(--paper);border-bottom:1px solid var(--hair);position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;gap:var(--s2);padding-block:16px;display:flex}.nav .wm{letter-spacing:-.02em;white-space:nowrap;font-variation-settings:"opsz" 96;align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.nav .wm img{border:1px solid var(--hair);border-radius:50%;width:26px;height:26px}.nav ul{gap:var(--s3);margin:0;padding:0;list-style:none;display:flex}.nav a{font-family:var(--m);letter-spacing:.04em;text-transform:uppercase;font-size:13px;text-decoration:none}.nav a[aria-current=page]{color:var(--crayon)}@media (width<=560px){.nav ul{gap:14px}.nav a{font-size:12px}}.tags{gap:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.tag{font-family:var(--m);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair);color:var(--graphite);border-radius:2px;padding:5px 8px;font-size:11.5px;line-height:1;text-decoration:none}.tag.crayon{border-color:var(--crayon);color:var(--crayon)}.tag.ink{border-color:var(--ink);color:var(--ink)}.project-head{padding-block:var(--s5) var(--s4);gap:var(--s4);grid-template-columns:7fr 5fr;align-items:end;display:grid}.project-head>*{min-width:0}.project-head .tags{margin-bottom:var(--s3)}.project-head .lede{max-width:40ch;padding-bottom:6px}.plinth{background:var(--plinth);place-items:center;padding:clamp(24px,5vw,64px);display:grid}.plinth img{box-shadow:var(--shadow)}.plinth.pair{grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px)}.plinth.single img{width:100%;max-width:560px}.project{gap:var(--s4);padding-block:var(--s5);grid-template-columns:3fr 8fr;display:grid}.project>*{min-width:0}.metablock{border-top:1px solid var(--ink);padding-top:var(--s2);align-self:start;position:sticky;top:80px}.metablock dl{gap:var(--s2);margin:0;display:grid}.metablock dt{font-family:var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--mist);margin-bottom:4px;font-size:11px}.metablock dd{margin:0;font-size:15px;line-height:1.45}.metablock dd.roles{letter-spacing:-.01em;font-size:17px;font-weight:600}.metablock .links{gap:6px;display:grid}.sheet{gap:var(--s2);padding-block:var(--s3);display:grid}.sheet .plinth{padding:clamp(16px,4vw,56px)}.sheet .plinth img{width:100%;max-width:1100px}.sheet .cap{gap:var(--s4);grid-template-columns:3fr 8fr;display:grid}.sheet .cap>*{min-width:0}.sheet .cap .mono{padding-top:4px}.sheet .cap p{max-width:var(--measure);color:var(--graphite);margin:0;font-size:17px}.docs{gap:var(--s2);margin-block:var(--s4);grid-template-columns:1fr 1fr;max-width:760px;display:grid}.doc{border:1px solid var(--hair);background:var(--card);border-radius:2px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.doc .ic{border:1.5px solid var(--ink);border-radius:2px;flex:none;width:34px;height:42px;position:relative}.doc .ic:after{content:attr(data-kind);text-align:center;font-family:var(--m);letter-spacing:.06em;font-size:9px;position:absolute;bottom:4px;left:0;right:0}.doc b{letter-spacing:-.01em;font-size:16px;font-weight:600;display:block}.doc span{font-family:var(--m);color:var(--graphite);font-size:12px}.todo{border:1px dashed var(--crayon);padding:var(--s2) var(--s3);margin-block:var(--s4);max-width:760px;font-size:15px}.todo .mono{color:var(--crayon);margin-bottom:8px}.todo ul{gap:4px;margin:0;padding-left:18px;display:grid}.prevnext{gap:var(--s2);border-top:1px solid var(--hair);padding-top:var(--s3);margin-top:var(--s5);grid-template-columns:1fr 1fr;display:grid}.prevnext a{gap:6px;text-decoration:none;display:grid}.prevnext a:last-child{text-align:right}.footer{border-top:1px solid var(--hair);padding-block:var(--s4);margin-top:var(--s5)}.footer .wrap{gap:var(--s4);grid-template-columns:auto 1fr 1fr 1fr;font-size:15px;display:grid}.footer .col{align-content:start;gap:6px;display:grid}.footer .col .mono{margin-bottom:6px}.footer a{text-decoration:none}.footer img{border:1px solid var(--hair);border-radius:50%;width:40px}@media (width<=900px){.project-head,.project,.prevnext,.sheet .cap{grid-template-columns:1fr}.project-head{gap:var(--s2)}.metablock{position:static}.footer .wrap{grid-template-columns:1fr 1fr}}@media (width<=560px){.plinth.pair,.docs,.footer .wrap{grid-template-columns:1fr}}.group{padding-block:var(--s4) var(--s5);border-top:1px solid var(--hair)}.group-head{justify-content:space-between;align-items:baseline;gap:var(--s2);margin-bottom:var(--s3);display:flex}.group-head a{text-decoration:none}.grid{gap:var(--s3);grid-template-columns:repeat(3,1fr);display:grid}.card{background:var(--card);border:1px solid var(--hair);border-radius:2px;text-decoration:none;display:block;overflow:hidden}.card .img{aspect-ratio:4/3;background:var(--plinth);place-items:center;padding:8%;display:grid;overflow:hidden}.card .img img{object-fit:contain;width:100%;height:100%;transition:transform .25s ease-out}.card:hover .img img{transform:scale(1.02)}.card:hover .h3{text-decoration:underline;text-decoration-color:var(--crayon);text-underline-offset:3px}.card .body{gap:8px;padding:16px 16px 18px;display:grid}.card .sum{color:var(--graphite);margin:0;font-size:15px}@media (width<=900px){.grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.grid{grid-template-columns:1fr}}.lede-block>p{color:var(--graphite);font-variation-settings:"opsz" 24;font-size:clamp(20px,2.2vw,24px);line-height:1.4}
