@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#171915;--paper:#f0eee6;--acid:#d9ff43;--muted:#6f716a;--line:#17191538;--display:Manrope, Arial, sans-serif;--mono:"DM Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}html.archive-scroll{scroll-snap-type:y mandatory;scroll-padding-top:2.5rem}body{color:var(--ink);background:var(--paper);font-family:var(--display);margin:0}.case-checkout-watch{--case-tone:#b7e9e7}.case-perquio{--case-tone:#c7d6a3}.case-distrow{--case-tone:#d5c9e9}.case-amber{--case-tone:#e3d5a8}.case-slate{--case-tone:#b7d2cb}body:before{content:"";z-index:-1;opacity:.1;pointer-events:none;background:url(/assets/paper-noise.png);position:fixed;inset:0}a{color:inherit}img{width:100%;display:block}.skip-link{z-index:20;background:var(--ink);color:#fff;padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow,.section-label,.project-number,.fact-label{font:500 .72rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.12em}.archive-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);align-items:end;gap:6vw;min-height:calc(100svh - 72px);padding:clamp(3rem,7vw,7rem) clamp(1.25rem,4vw,4rem) 2rem;display:grid;overflow:hidden}.archive-hero h1,.case-hero h1{letter-spacing:-.075em;margin:.2em 0;font-size:clamp(4rem,11vw,10rem);font-weight:600;line-height:.78}.archive-hero h1 span{margin-left:11vw;display:block}.archive-intro{max-width:30rem;padding-bottom:3vw}.archive-intro p:not(.eyebrow){font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.45}.archive-hero .archive-scroll{font:500 .75rem var(--mono);text-transform:uppercase;gap:1rem;margin-top:1.5rem;text-decoration:none;display:inline-flex}.project-list{padding:0 clamp(1.25rem,4vw,4rem)}.project-row{--tone:#b7e9e7;border-bottom:1px solid var(--line);grid-template-columns:8rem minmax(260px,.9fr) minmax(360px,1.1fr);align-items:center;gap:clamp(1.5rem,4vw,5rem);min-height:80vh;text-decoration:none;display:grid;position:relative}.project-row[data-tone=forest]{--tone:#c7d6a3}.project-row[data-tone=violet]{--tone:#d5c9e9}.project-row:before{content:"";background:var(--tone);transform-origin:100%;transition:transform .55s cubic-bezier(.2,.7,.2,1);position:absolute;inset:11% 0 11% 42%;transform:scaleX(.88)}.project-row:hover:before{transform:scaleX(1)}.project-number{align-self:start;margin-top:15vh}.project-copy{z-index:1;position:relative}.project-copy h2{letter-spacing:-.065em;margin:.25em 0;font-size:clamp(2.7rem,6vw,6.5rem);line-height:.88}.project-copy p{max-width:32rem;font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.5}.row-cta{font:500 .76rem var(--mono);text-transform:uppercase;border-bottom:1px solid;margin-top:2rem;padding-bottom:.4rem;display:inline-block}.project-visual{z-index:1;padding:12vh 0;transition:transform .55s cubic-bezier(.2,.7,.2,1);position:relative}.project-row:hover .project-visual{transform:translate(-1rem)rotate(-1deg)}.project-visual img{aspect-ratio:4/3;object-fit:cover;box-shadow:0 24px 70px #17191529}.archive-cta,.case-next{text-align:center;background:var(--ink);min-height:62vh;color:var(--paper);flex-direction:column;justify-content:center;align-items:center;padding:4rem 1.25rem;display:flex}.archive-cta h2,.case-next strong{letter-spacing:-.065em;max-width:1000px;margin:.2em 0;font-size:clamp(3rem,8vw,8rem);line-height:.9}.archive-cta a,.case-next a{color:var(--acid);font:500 .8rem var(--mono);text-transform:uppercase;margin-top:2rem;text-decoration:none}.case-hero{grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1.25fr;gap:2rem 5vw;min-height:calc(100svh - 72px);padding:clamp(2rem,6vw,6rem) clamp(1.25rem,4vw,4rem) 2rem;display:grid;overflow:hidden}.case-hero .eyebrow{grid-column:1/-1}.case-kind{text-underline-offset:4px}.case-draft{color:#b5462f;border:1px dashed #b5462f;margin-left:12px;padding:3px 7px}.case-hero h1{z-index:2;align-self:center;font-size:clamp(4rem,10vw,9rem);position:relative}.case-hero-copy{z-index:2;align-self:center;max-width:35rem;position:relative}.case-hero-copy .lede{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.35}.case-hero-image{background:var(--case-tone,#b7e9e7);grid-area:2/2/4;align-self:stretch;align-items:center;padding:clamp(1.25rem,3vw,3rem);display:flex;position:relative}.case-hero-image img{box-shadow:0 20px 60px #17191533}.case-facts{border-top:1px solid var(--line);grid-column:1;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1rem;display:grid}.case-facts span{margin-top:.4rem;display:block}.case-body{padding:clamp(4rem,9vw,9rem) clamp(1.25rem,4vw,4rem)}.case-section{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:5vw;max-width:1200px;margin:0 auto;padding:clamp(4rem,8vw,8rem) 0;display:grid}.case-section h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5vw,5rem);line-height:.95}.case-prose{max-width:700px}.case-prose>p{margin:0 0 1.5rem;font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.7}.case-figure{border:1px solid var(--line);background:#1719150a;margin:2.5rem 0 0}.case-figure img{height:auto}.decision-list{margin:2.5rem 0 0;padding:0;list-style:none}.decision-list li{border-top:1px solid var(--line);grid-template-columns:2rem 1fr;padding:1rem 0;line-height:1.5;display:grid}.case-quote{background:var(--ink);color:var(--paper);letter-spacing:-.055em;margin:0;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,8rem);font-size:clamp(2.5rem,6vw,6.5rem);line-height:1}.external-link{font:500 .78rem var(--mono);text-transform:uppercase;border-bottom:1px solid;gap:1rem;margin-top:1rem;padding-bottom:.5rem;text-decoration:none;display:inline-flex}.project-footer{justify-content:space-between;padding:2rem clamp(1.25rem,4vw,4rem);font-size:.8rem;display:flex}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(30px)}[data-reveal].is-visible{opacity:1;transform:none}@media (width<=800px){.archive-hero{grid-template-columns:1fr;align-content:space-between;min-height:calc(100svh - 72px)}.archive-hero h1{font-size:clamp(4rem,22vw,7rem)}.archive-hero h1 span{margin-left:8vw}.project-row{grid-template-columns:1fr;gap:1.5rem;min-height:auto;padding:5rem 0}.project-row:before{inset:35% -1.25rem 4% 12%}.project-number{margin:0}.project-visual{grid-row:2;padding:1rem 0}.project-copy{grid-row:3}.project-copy h2{font-size:clamp(3rem,15vw,5rem)}.case-hero{grid-template-rows:auto;grid-template-columns:1fr;min-height:auto}.case-hero .eyebrow,.case-hero-image,.case-facts{grid-area:auto/1}.case-hero-image{margin:1rem -1.25rem 0}.case-facts{grid-template-columns:1fr 1fr}.case-facts div:last-child{grid-column:1/-1}.case-section{grid-template-columns:1fr}.case-section h2{max-width:12ch}.case-quote{padding-top:6rem;padding-bottom:6rem}.project-footer{flex-direction:column;gap:1rem}}@media (width<=760px){.project-footer{padding:24px var(--gutter-m) calc(84px + env(safe-area-inset-bottom));align-items:flex-start;gap:4px;font-size:14px}.project-footer .footer-nav{margin-bottom:16px}.project-footer .footer-top{align-items:center;min-height:44px;display:inline-flex}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}@media (width<=800px){html.archive-scroll{scroll-snap-type:y proximity;scroll-padding-top:132px}}@media (width<=800px) and (prefers-reduced-motion:reduce){html.archive-scroll{scroll-snap-type:none}}body.ls{--kd:#193e31;--ka:#285c48;--kl:#9fdcbd;--kt:#dae8df}body.ls:has(.prod-item){--kd:#14306b;--ka:#1657c8;--kl:#a9c2ff;--kt:#dfe6f6}body.ls:has(.lab-entry-header .lab-type-build),body.ls:has(.article-header[data-kind=work]){--kd:#7c2e19;--ka:#dd5c34;--kl:#ff9a76;--kt:#f5e1d8}body.ls:has(.lab-entry-header .lab-type-product),body.ls:has(.article-header[data-kind=product]){--kd:#14306b;--ka:#1657c8;--kl:#a9c2ff;--kt:#dfe6f6}body.ls:has(.article-header[data-kind=note]){--kd:#2b2c27;--ka:#171813;--kl:#e7e5df;--kt:#eaeae9}html:has(body.ls){--paper:#f3f2f1;--ink:#171813;--line:#1718132e;--acid:#dd5c34;background:#f3f2f1}body.ls{--blog-muted:#6f7069;background:#f3f2f1}body.ls .spec-frame{background:#eaeae9}body.ls .spec-bar,body.ls .idx-panel,body.ls .idx-start,body.ls .post-about{background:#fff}body.ls .lab-type{border-color:#0000}body.ls .lab-type-product{color:#14306b;background:#dfe6f6}body.ls .lab-type-work,body.ls .lab-type-build{color:#7c2e19;background:#f5e1d8}body.ls .lab-type-experiment{color:#193e31;background:#dae8df}body.ls .lab-type-build-log{color:#f3f2f1;background:#171813}@media (hover:hover){body.ls .lab-button:hover{color:#fff;background:#dd5c34}}body.ls .blog-intro h1 span{color:var(--ka)}body.ls .article-prose blockquote{border-left-color:var(--ka)}body.ls .lab-status-filters button[aria-pressed=true]{background:#171813;border-color:#171813}body.ls .blog-intro,body.ls .lab-entry-header,body.ls .article-header{color:#f4f4f1;background:var(--kd);box-shadow:0 0 0 100vmax var(--kd);clip-path:inset(0 -100vmax);position:relative}body.ls .lab-entry-header,body.ls .article-header{margin-bottom:40px;padding:36px 0 40px}body.ls .blog-intro{margin-bottom:32px;padding-top:56px;padding-bottom:48px}body.ls .blog-intro>p,body.ls .lab-entry-header .article-deck,body.ls .article-header .article-deck,body.ls .lab-entry-header .lab-meta,body.ls .article-header .post-meta,body.ls .article-header .byline{color:#f4f4f1c7}body.ls .blog-intro .blog-label,body.ls .article-header .blog-label,body.ls .blog-intro h1 span{color:var(--kl)}body.ls .blog-intro a,body.ls .lab-entry-header a.text-link,body.ls .article-header a{color:#f4f4f1}body.ls .lab-entry-header .lab-type{background:var(--kl);color:var(--kd)}body.ls .lab-entry-header .log-status{--dot:currentColor}body.ls .lab-entry-header .lab-button{color:#171813;background:#f4f4f1}@media (hover:hover){body.ls .lab-entry-header .lab-button:hover{background:var(--kl)}}body.ls .story-hire{background:var(--kd)}body.ls .story-hire .blog-label,body.ls .story-hire a{color:var(--kl)}body.ls .reading-sidebar{z-index:1;position:relative}body.ls .lab-entry-header,body.ls .article-header{z-index:0}@media (width<=600px){body.ls .back-link{z-index:0;color:#f4f4f1c7;background:var(--kd);min-height:44px;box-shadow:0 0 0 100vmax var(--kd);clip-path:inset(0 -100vmax);flex-wrap:wrap;align-items:center;gap:0 6px;margin:0;padding:8px 0 0;font-size:13px;display:flex;position:relative}body.ls a.back-link,body.ls .post-crumbs a{color:#f4f4f1}body.ls .post-crumbs a{align-items:center;min-height:44px;display:inline-flex}body.ls .back-link:focus-visible,body.ls .post-crumbs a:focus-visible{outline-offset:-2px;outline-color:#f4f4f1}body.ls .lab-entry-header,body.ls .article-header{margin-top:0;padding-top:12px}}
