@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e664fdf150ece08d.3skiflm26ffbo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/847c6af3f14ca2aa.p.1mi1ugkk0px41.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.X3Zh2a_className{font-family:Atkinson Hyperlegible Next;font-style:normal}.X3Zh2a_variable{--font-sans:"Atkinson Hyperlegible Next"}
:root{--paper:#fbfbfa;--graphite:#1c1d1f;--lead:#4b4e54;--pencil:#7c7f86;--rule:#e3e3df;--lemon:#ffe94a;--rose:#ff9ed2;--mint:#8bf0b5;--sky:#94d9ff;--sans:var(--font-sans), system-ui, sans-serif;--code:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--wrap:1200px;--pad:clamp(20px, 5vw, 56px);--ease:cubic-bezier(.3, .7, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--paper);color:var(--graphite);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:18px;line-height:1.6}a{color:inherit}img{max-width:100%;height:auto;display:block}::selection{background:var(--lemon);color:var(--graphite)}:focus-visible{outline:2px solid var(--graphite);outline-offset:3px;border-radius:3px}.wrap{max-width:var(--wrap);padding-inline:var(--pad);margin-inline:auto}.muted{color:var(--pencil)}.link{text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:4px;text-decoration-thickness:1.5px;transition:text-decoration-color .15s}.link:hover{-webkit-text-decoration-color:var(--graphite);text-decoration-color:var(--graphite)}.skip{background:var(--graphite);color:var(--paper);z-index:50;border-radius:6px;padding:8px 12px;position:absolute;top:8px;left:-9999px}.skip:focus{left:12px}[data-ink=lemon]{--c:var(--lemon)}[data-ink=rose]{--c:var(--rose)}[data-ink=mint]{--c:var(--mint)}[data-ink=sky]{--c:var(--sky)}mark.claim,mark.ink,mark.visitor{color:inherit;background-color:#0000;background-image:linear-gradient(100deg, transparent 0.5%, var(--c) 2%, color-mix(in oklab, var(--c) 80%, transparent) 48%, var(--c) 96%, transparent 99%);-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .75s var(--ease), opacity .2s;background-position:0 72%;background-repeat:no-repeat;background-size:100% 76%;border-radius:4px 10px 5px 9px;margin:0 -.06em;padding:0 .12em}.js [data-scope]:not(.inked) mark.claim{background-size:0% 76%}.focus mark.claim:not(.on){opacity:.4}.mark{background:var(--c);mix-blend-mode:multiply;opacity:.5;transform-origin:0;transition:opacity .2s, transform .75s var(--ease);pointer-events:none;border-radius:10px 22px 14px 26px;position:absolute}.js [data-scope]:not(.inked) .mark{transform:scaleX(0)}.mark.on{opacity:.95}.focus .mark:not(.on){opacity:.1}.dark .mark{mix-blend-mode:screen;opacity:.36}.dark .mark.on{opacity:.7}.focus .dark .mark:not(.on){opacity:.06}[data-ev]{transition:opacity .2s,background-color .2s}.focus [data-ev]:not(.on):not(.mark){opacity:.4}.top{z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0}.top-in{justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.top .home{letter-spacing:-.01em;font-size:18px;font-weight:800;text-decoration:none}.top nav ul{gap:28px;list-style:none;display:flex}.top nav a{color:var(--lead);padding-block:10px;font-size:16px;font-weight:600;text-decoration:none}.top nav a:hover{color:var(--graphite)}.hero{padding-block:clamp(48px,9vh,104px) clamp(64px,11vh,120px)}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.hero h1{letter-spacing:-.045em;font-size:clamp(56px,8.6vw,124px);font-weight:800;line-height:.92}.hero .line{letter-spacing:-.02em;max-width:19em;margin-top:22px;font-size:clamp(25px,2.7vw,38px);font-weight:700;line-height:1.22}.hero .intro{color:var(--lead);max-width:34em;margin-top:24px}.hero .contact{flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-weight:600;display:flex}.drawing{margin:0;position:relative}.section{padding-bottom:clamp(80px,12vh,140px)}.section>h2{letter-spacing:-.03em;border-top:2px solid var(--graphite);margin-bottom:clamp(36px,5vh,56px);padding-top:28px;font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1.05}.project{grid-template:"text proof""drawing proof"1fr/minmax(0,.92fr) minmax(0,1.08fr);gap:28px clamp(32px,4.5vw,64px);margin-bottom:clamp(88px,12vh,136px);display:grid}.project:last-child{margin-bottom:0}.p-text{grid-area:text}.p-drawing{grid-area:drawing;align-self:start}.p-proof{flex-direction:column;grid-area:proof;align-self:start;gap:16px;min-width:0;display:flex;position:sticky;top:96px}.project h3{letter-spacing:-.03em;font-size:clamp(30px,3.2vw,42px);font-weight:800;line-height:1.05}.project p{color:var(--lead);margin-top:16px}.project p mark.claim{color:var(--graphite)}.project .actions{flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:17px;font-weight:600;display:flex}.frame{border:1px solid var(--rule);background:#fff;border-radius:12px;position:relative;overflow:hidden}.frame figcaption{border-top:1px solid var(--rule);color:var(--pencil);justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px;display:flex}.frame figcaption.head{border-top:0;border-bottom:1px solid var(--rule)}.frame figcaption [data-ink]{color:var(--graphite);background:color-mix(in oklab, var(--c) 75%, transparent);border-radius:4px;padding:0 6px}.shot{position:relative}pre.code{font:13px/1.75 var(--code);color:var(--lead);background:#fff;padding:12px 0;overflow-x:auto}pre.code .ln{padding:0 16px;display:block}pre.code .k{color:var(--graphite);font-weight:600}pre.code .ln[data-ink]{background:color-mix(in oklab, var(--c) 72%, transparent)}.bench{border-collapse:collapse;font-variant-numeric:tabular-nums;background:#fff;width:100%;font-size:15px}.bench td{border-top:1px solid var(--rule);color:var(--lead);padding:10px 16px}.bench tr:first-child td{border-top:0}.bench td:last-child{text-align:right;color:var(--graphite);white-space:nowrap;font-weight:700}.bench tr[data-ink] td{background:color-mix(in oklab, var(--c) 72%, transparent)}.list{border-top:1px solid var(--rule);list-style:none}.list li{border-bottom:1px solid var(--rule);grid-template-columns:210px minmax(0,1fr) 120px;align-items:baseline;gap:8px 28px;padding:20px 0;display:grid}.list .name{letter-spacing:-.01em;font-size:19px;font-weight:800}.list p{color:var(--lead)}.list .go{white-space:nowrap;justify-self:end;font-size:16px;font-weight:600}@media (max-width:1100px) and (min-width:961px){.list li{grid-template-columns:170px minmax(0,1fr) 100px}}.list-head{letter-spacing:-.015em;margin:48px 0 12px;font-size:22px;font-weight:800}.about-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);display:grid}.about-grid p{color:var(--lead);max-width:36em}.about-grid p+p{margin-top:16px}.about-grid .first{color:var(--graphite);font-size:clamp(21px,2vw,26px);font-weight:600;line-height:1.45}.cv{border-top:1px solid var(--rule);list-style:none}.cv li{border-bottom:1px solid var(--rule);padding:14px 0}.cv strong{font-weight:700;display:block}.cv span{color:var(--pencil);font-size:16px}.foot{padding-bottom:40px}.foot .hills{margin-bottom:24px}.foot-row{border-top:1px solid var(--rule);color:var(--pencil);flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:22px;font-size:16px;display:flex}.foot-row ul{color:var(--graphite);gap:22px;font-weight:600;list-style:none;display:flex}.page{padding-block:clamp(40px,7vh,80px) clamp(80px,12vh,140px)}.crumb{color:var(--lead);font-size:16px;font-weight:600}.page h1{letter-spacing:-.045em;margin-top:28px;font-size:clamp(48px,7vw,96px);font-weight:800;line-height:.95}.page .lede{max-width:30em;margin-top:22px;font-size:clamp(21px,2.1vw,27px);font-weight:600;line-height:1.42}.page-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:start;gap:clamp(32px,5vw,72px);margin-top:clamp(40px,6vh,64px);display:grid}.page-grid>*{min-width:0}.prose h2{letter-spacing:-.02em;margin:40px 0 12px;font-size:26px;font-weight:800}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--lead)}.prose p+p{margin-top:14px}.prose ul{padding-left:1.1em}.prose li+li{margin-top:8px}.prose .frame,.prose .drawing{margin:28px 0}.prose code{font:.88em var(--code);border:1px solid var(--rule);background:#fff;border-radius:5px;padding:1px 6px}.facts{border-top:2px solid var(--graphite);position:sticky;top:96px}.facts div{border-bottom:1px solid var(--rule);padding:12px 0}.facts dt{color:var(--pencil);font-size:15px}.facts dd{font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.hl-trigger{z-index:40;background:var(--graphite);color:var(--paper);font:600 15px var(--sans);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;display:inline-flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 28px -12px #00000073}.hl-trigger i{background:var(--lemon);border-radius:3px;width:16px;height:10px}.hl-pop{z-index:41;border:1px solid var(--rule);background:#fff;border-radius:14px;width:360px;max-width:calc(100vw - 24px);padding:16px;position:absolute;box-shadow:0 22px 60px -24px #0006}.hl-quote{max-height:7.5em;font-weight:700;line-height:1.45;overflow:auto}.hl-inks{border:0;gap:12px;margin:14px 0 12px;display:flex}.hl-inks input{opacity:0;width:1px;height:1px;position:absolute}.hl-inks label{background:var(--c);cursor:pointer;border-radius:50%;width:30px;height:30px;display:block;box-shadow:inset 0 0 0 1px #00000014}.hl-inks input:checked+label{outline:2px solid var(--graphite);outline-offset:2px}.hl-inks input:focus-visible+label{outline:2px solid var(--graphite);outline-offset:4px}.hl-pop input[type=text]{width:100%;font:17px var(--sans);color:var(--graphite);border:1px solid var(--rule);background:var(--paper);border-radius:8px;padding:10px 12px}.hl-pop input[type=text]:focus{outline:2px solid var(--graphite);outline-offset:1px}.hl-row{align-items:center;gap:8px;margin-top:12px;display:flex}.hl-row small{color:var(--pencil);margin-right:auto;font-size:14px}.hl-msg{color:var(--lead);margin-top:10px;font-size:15px}.hl-msg.error{color:#a1271b}.btn{font:600 15px var(--sans);color:var(--graphite);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px}.btn.primary{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}.btn:disabled{opacity:.6;cursor:default}.vh-intro{color:var(--lead);max-width:36em;margin:-16px 0 28px}.vh-list{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;list-style:none;display:grid}.vh-list li{border-bottom:1px solid var(--rule);padding:18px 0}.vh-list blockquote{font-size:19px;font-weight:700;line-height:1.45}.vh-note{color:var(--lead);margin-top:6px}.vh-meta{color:var(--pencil);margin-top:6px;font-size:15px}.vh-empty{border-top:1px solid var(--rule);color:var(--pencil);padding:18px 0}@media (pointer:coarse),(max-width:560px){.hl-trigger{bottom:calc(18px + env(safe-area-inset-bottom));position:fixed;top:auto!important;left:50%!important}.hl-pop{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-width:none;position:fixed;top:auto!important;left:12px!important}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.motion [data-enter]{animation:rise .9s var(--ease) backwards}.motion [data-enter="1"]{animation-delay:90ms}.motion [data-enter="2"]{animation-delay:.18s}.motion [data-enter="3"]{animation-delay:.27s}.motion .hold{opacity:0;transform:translateY(18px)}.motion .hold.in{opacity:1;transition:opacity .8s var(--ease), transform 1s var(--ease);transition-delay:var(--d,0s);transform:none}.living{position:relative}.living>img{transition:opacity .6s}.living .clip{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:opacity .6s;display:none;position:absolute;inset:0}.motion .living.has-clip .clip{display:block}.motion .living.has-clip:not(.still)>img,.motion .living.has-clip.still .clip{opacity:0}.motion .living:not(.has-clip)>img{-webkit-mask-image:linear-gradient(100deg,#000 42%,#0000 58%);mask-image:linear-gradient(100deg,#000 42%,#0000 58%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:300% 100%;mask-size:300% 100%}.motion .living.drawn:not(.has-clip)>img{transition:-webkit-mask-position 1.6s var(--ease), mask-position 1.6s var(--ease);-webkit-mask-position:0 0;mask-position:0 0}.motion .living:not(.done) .mark{transform:scaleX(0)}@media print{.motion .hold{opacity:1;transform:none}.motion .living>img{opacity:1;-webkit-mask:none;mask:none}.living .clip{display:none!important}}@media (max-width:960px){.hero-grid,.about-grid,.page-grid{grid-template-columns:1fr}.hero .drawing{max-width:560px}.project{grid-template:"text""proof""drawing"/1fr}.p-proof,.facts{position:static}.list li{grid-template-columns:1fr;gap:4px;padding:18px 0}.list .go{justify-self:start;margin-top:4px}.vh-list{grid-template-columns:1fr}}@media (max-width:560px){body{font-size:17px}.top nav ul{gap:18px}.top nav .optional{display:none}.frame figcaption{flex-direction:column;gap:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
