:root{--paper:#fafaf7;--ink:#111;--ink-soft:#555;--ink-faint:#999;--rule:#e6e3dc;--accent:#1a1a1a;--accent-hover:#6a4a2a;--highlight:#fff3a8;--brand-gradient:linear-gradient(135deg, #ad33ff, #f83a3a, #ff70f3);--paper-rgb:250, 250, 247;--border-subtle:#0000001a;--border-strong:#00000038;--sheen:#ffffff8c;--nav-bg:#f2f0e9;--nav-pill-tint:#14102806;--nav-pill-rim:#ffffffb3;--nav-pill-shadow:#140f2824;color-scheme:light;--font-sans:"InterVariable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "SF Pro Display", system-ui, sans-serif;--font-serif:"Iowan Old Style", "Charter", "Source Serif Pro", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--step--2:clamp(.72rem, .71rem + .05vw, .76rem);--step--1:clamp(.81rem, .79rem + .1vw, .88rem);--step-0:clamp(.94rem, .92rem + .13vw, 1.02rem);--step-1:clamp(1.06rem, 1.02rem + .2vw, 1.19rem);--step-2:clamp(1.19rem, 1.13rem + .3vw, 1.38rem);--step-3:clamp(1.38rem, 1.27rem + .53vw, 1.69rem);--step-4:clamp(1.69rem, 1.51rem + .89vw, 2.19rem);--step-5:clamp(2.06rem, 1.77rem + 1.45vw, 2.88rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.25rem;--space-xl:3.5rem;--space-2xl:5.5rem;--space-3xl:9rem;--measure-prose:52ch;--measure-wide:72ch;--container-pad:var(--space-md);--container-prose:680px;--container-page:1180px;--container-max:1400px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.15s;--duration-base:.25s}:root[data-theme=dark]{color-scheme:dark;--paper:#09080d;--paper-rgb:9, 8, 13;--ink:#f1f0ec;--ink-soft:#a7a59e;--ink-faint:#413243;--rule:#282631;--accent:#ededed;--accent-hover:#c76bc4;--highlight:#4b2020;--border-subtle:#ffffff1a;--border-strong:#ffffff1a;--sheen:#ffffff05;--nav-bg:#131119;--nav-pill-tint:#ffffff0d;--nav-pill-rim:#ffffff1f;--nav-pill-shadow:#00000059}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;scroll-behavior:smooth}:where(h1,h2,h3,h4,section)[id]{scroll-margin-top:96px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);font-feature-settings:"kern", "liga", "calt", "ss01";-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-wrap:pretty;line-height:1.55}img,video{image-rendering:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}h1,h2,h3,h4,h5,h6,.visual-project__heading,.sp-post__title,.article-card__title,.sp-case__title,.sp-built__title,.sp-note__title,.case-next__title,.sp-grid__title{text-wrap:balance}p,li,dd,figcaption,blockquote{orphans:2;widows:2}img,picture,video,canvas,svg{max-width:100%;display:block}video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}ol,ul{list-style:none}p,h1,h2,h3,h4,h5,h6,li,dd,dt{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--ink);font-weight:600;line-height:1.25}h1{font-size:var(--step-4);letter-spacing:-.02em}h2{font-size:var(--step--1);letter-spacing:0;font-weight:700;line-height:1.4}h3{font-size:var(--step-1);font-weight:600}h4{font-size:var(--step-0);font-weight:600}h5{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700}h6{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:600}p{max-width:var(--measure-prose)}p+p{margin-top:var(--space-sm)}a{color:var(--accent);transition:color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--accent-hover)}svg.icon{vertical-align:-.1em;flex:none;display:inline-block}.sp-featured{color:var(--color-link);white-space:nowrap}.sp-featured svg.icon{vertical-align:0}:root{--icon-external:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7.5%2016.5%2016.5%207.5M9%207.5h7.5V15%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E)}a[href^=http]:not(:has(img,svg)):after{content:"";background:var(--ink-faint);width:.7em;height:.7em;-webkit-mask:var(--icon-external) center / contain no-repeat;mask:var(--icon-external) center / contain no-repeat;transition:background-color var(--duration-fast) var(--ease-out);margin-left:.25em;display:inline-block}a[href^=http]:not(:has(img)):hover:after{color:currentColor}div[data-slot=project-body] a,div[data-slot=post-body] a,main p a,article p a{text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:var(--rule)}div[data-slot=project-body] a:hover,div[data-slot=post-body] a:hover,main p a:hover,article p a:hover{text-decoration-color:currentColor}strong,b{font-weight:600}em,i{font-style:italic}blockquote{border-left:2px solid var(--rule);padding-left:var(--space-md);color:var(--ink-soft);max-width:var(--measure-prose);font-style:italic}hr{border:0;border-top:1px solid var(--rule);margin:var(--space-xl) 0}code{font-family:var(--font-mono);background:#0000000a;border-radius:3px;padding:.15em .4em;font-size:.9em}.site-shell{--shell-nav-w:320px;grid-template-columns:var(--shell-nav-w) minmax(0, 1fr);align-items:start;min-height:100vh;display:grid}.site-shell--full{--shell-nav-w:0px;grid-template-columns:minmax(0,1fr)}@media (width<=900px){.site-shell{--shell-nav-w:0px;grid-template-columns:minmax(0,1fr)}}@keyframes vtFadeOut{0%{opacity:1}to{opacity:0}}@keyframes vtFadeIn{0%{opacity:0}to{opacity:1}}::view-transition-old(*){opacity:0;animation:none}::view-transition-new(*){opacity:1;animation:none}::view-transition-old(*),::view-transition-new(*){object-fit:cover;width:100%;height:100%}::view-transition-group(*){animation-duration:.4s;animation-timing-function:var(--ease-in-out)}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(vt-main){animation:vtFadeOut .2s var(--ease-out) both}::view-transition-new(vt-main){animation:vtFadeIn .3s var(--ease-out) .34s both}::view-transition-old(vt-main),::view-transition-new(vt-main){object-fit:fill;width:100%;height:auto}::view-transition-group(vt-main){animation-duration:.2s}.site-header{view-transition-name:site-header}@keyframes seunZoomIn{0%{clip-path:inset(0)}to{clip-path:inset(var(--seun-window,0) round var(--sp-radius))}}@keyframes seunZoomOut{0%{clip-path:inset(var(--seun-window,0) round var(--sp-radius))}to{clip-path:inset(0)}}::view-transition-group(seun-frame){animation-duration:.8s}html[data-page=about]::view-transition-old(seun-frame){animation:.16s linear both vtFadeOut}html[data-page=about]::view-transition-new(seun-frame){animation:.16s linear both vtFadeIn}html[data-hero]::view-transition-old(seun-frame){animation:.16s linear .64s both vtFadeOut}html[data-hero]::view-transition-new(seun-frame){animation:.16s linear .64s both vtFadeIn}::view-transition-old(seun-frame),::view-transition-new(seun-frame),::view-transition-old(seun-sky),::view-transition-new(seun-sky){mix-blend-mode:plus-lighter}html[data-page=about]::view-transition-image-pair(seun-frame){animation:.8s cubic-bezier(.22,1,.36,1) both seunZoomIn}html[data-hero]::view-transition-image-pair(seun-frame){animation:.8s cubic-bezier(.64,0,.78,0) both seunZoomOut}::view-transition-group(seun-sky){animation-duration:.8s;overflow:clip}::view-transition-old(seun-sky){animation:vtFadeOut .5s var(--ease-in-out) both}::view-transition-new(seun-sky){animation:vtFadeIn .5s var(--ease-in-out) both}::view-transition-old(home-intro),::view-transition-old(home-orbit),::view-transition-old(about-intro){animation:vtFadeOut .18s var(--ease-out) both}::view-transition-new(home-intro),::view-transition-new(home-orbit),::view-transition-new(about-intro){animation:vtFadeIn .35s var(--ease-out) .6s both}main{max-width:var(--container-page);padding:var(--space-2xl) var(--container-pad) var(--space-3xl);margin:0 auto}main[data-page-style=wide]{max-width:var(--container-max)}main>*+*{margin-top:var(--space-xl)}main>header{font-size:var(--step--1);color:var(--ink-faint);margin-bottom:var(--space-xl)}main>header nav a{color:var(--ink-faint);text-decoration:none}main>header nav a:hover{color:var(--ink)}.site-nav{font-size:var(--step--1);flex:1;justify-content:center;align-items:center;gap:clamp(.75rem,2vw,1.5rem);display:flex}.site-nav a{color:var(--ink-soft);min-height:40px;transition:color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ink)}.site-nav a:active{transform:scale(.96)}@media (width<=760px){.site-nav{scrollbar-width:none;width:100%;padding-top:var(--space-2xs);order:3;justify-content:flex-start;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}}main h2{text-transform:uppercase;letter-spacing:.08em;margin-top:var(--space-2xl);color:var(--ink)}main h2+*{margin-top:var(--space-md)!important}article{max-width:var(--container-prose);padding:var(--space-2xl) var(--container-pad) var(--space-3xl);margin:0 auto}article[data-page-style=wide]{max-width:var(--container-page)}article>*+*{margin-top:var(--space-lg)}aside[data-slot=section-scrubber]{top:50%;right:var(--space-md);font-size:var(--step--1);color:var(--ink-faint);max-width:12rem;display:none;position:fixed;transform:translateY(-50%)}@media (width>=1100px){aside[data-slot=section-scrubber]{display:block}article:not([data-page-style=wide]){padding-right:calc(var(--container-pad) + 14rem)}article[data-page-style=wide] aside[data-slot=section-scrubber]{display:none}}aside[data-slot=section-scrubber] ol{border-left:1px solid var(--rule);padding-left:var(--space-sm)}aside[data-slot=section-scrubber] li+li{margin-top:var(--space-3xs)}aside[data-slot=section-scrubber] li[data-depth="2"]{padding-left:0}aside[data-slot=section-scrubber] li[data-depth="3"]{padding-left:var(--space-2xs)}aside[data-slot=section-scrubber] li[data-depth="4"]{padding-left:var(--space-sm)}aside[data-slot=section-scrubber] a{color:var(--ink-faint);padding:.15em 0;text-decoration:none;display:block}aside[data-slot=section-scrubber] a:hover{color:var(--ink)}div[data-slot=project-body]{font-family:var(--font-sans);font-size:var(--step-0);max-width:64ch;margin:0 auto;line-height:1.7}div[data-slot=project-body]>*+*{margin-top:var(--space-md)}div[data-slot=project-body] h2,div[data-slot=project-body] h3,div[data-slot=project-body] h4,div[data-slot=project-body] h5,div[data-slot=project-body] h6{margin-top:var(--space-2xl);margin-bottom:var(--space-xs);text-transform:none;letter-spacing:0;color:var(--ink)}div[data-slot=project-body] h2{font-size:var(--step-2);font-weight:600}div[data-slot=project-body] h3{font-size:var(--step-1);font-weight:600}div[data-slot=project-body] h4{font-size:var(--step-0);font-weight:700}div[data-slot=project-body] h5{font-size:var(--step-0);color:var(--ink);text-transform:none;letter-spacing:0;font-weight:700}div[data-slot=project-body] h6{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700}div[data-slot=project-body] p{max-width:none}div[data-slot=project-body] img,div[data-slot=project-body] video{width:100%;margin:var(--space-xl) auto;background:var(--media-placeholder,var(--rule));border-radius:4px;display:block}div[data-slot=project-body] p>img+img{margin-top:var(--space-xs)}div[data-slot=project-body] hr.section-divider,.section-divider{background:var(--rule);border:0;width:100%;height:1px;margin:var(--space-3xl) 0!important}div[data-slot=project-body] blockquote{font-size:var(--step-1);border-left:2px solid var(--ink);padding:var(--space-2xs) 0 var(--space-2xs) var(--space-md);margin:var(--space-xl) 0;color:var(--ink);max-width:none;font-style:normal;font-weight:500}div[data-slot=project-body] blockquote p{font-size:inherit}:root{--pb-gutter:var(--space-md)}div[data-slot=project-body].pb-pending:not(.pb-ready){opacity:0}div[data-slot=project-body].pb-ready{opacity:1;transition:opacity .25s var(--ease-out)}.pb-block{width:100%}.pb-block+.pb-block{margin-top:var(--space-md)}.pb-block[data-space=none]{margin-top:0}.pb-block[data-space=s]{margin-top:var(--space-sm)}.pb-block[data-space=m]{margin-top:var(--space-md)}.pb-block[data-space=l]{margin-top:var(--space-xl)}.pb-figure{margin:0}.pb-cap{margin-top:var(--space-2xs);font-size:var(--step--1);color:var(--ink-soft);text-align:left;text-wrap:pretty;line-height:1.45;display:block}.pb-slot{min-width:0;display:flow-root}.pb-slot>*{margin-left:0!important;margin-right:0!important}.pb-slot>*+*{margin-top:var(--space-md)}.pb-slot>:first-child{margin-top:0}.pb-slot>p,.pb-slot>h2,.pb-slot>h3,.pb-slot>h4,.pb-slot>h5,.pb-slot>h6,.pb-slot>ul,.pb-slot>ol,.pb-slot>blockquote{text-align:left;text-wrap:pretty;max-width:66ch}.pb-slot>h2:first-child,.pb-slot>h3:first-child,.pb-slot>h4:first-child,.pb-slot>h5:first-child,.pb-slot>h6:first-child{margin-top:0}.pb-slot>p:has(img),.pb-slot>p:has(video),.pb-slot>figure,.pb-slot img,.pb-slot video{width:100%;max-width:none;margin:0}.pb-slot img,.pb-slot video{border-radius:6px;height:auto}.pb-block--full{display:block}.pb-block--cols{gap:var(--pb-gutter);align-items:start;display:grid}.pb-block--cols[data-ratio="1-1"]{grid-template-columns:1fr 1fr}.pb-block--cols[data-ratio="5-7"]{grid-template-columns:5fr 7fr}.pb-block--cols[data-ratio="7-5"]{grid-template-columns:7fr 5fr}.pb-block--split-right{gap:var(--pb-gutter);grid-template-columns:1fr 1fr;grid-template-areas:"a b""a c";align-items:start;display:grid}.pb-block--split-right>.pb-slot:first-child{grid-area:a}.pb-block--split-right>.pb-slot:nth-child(2){grid-area:b}.pb-block--split-right>.pb-slot:nth-child(3){grid-area:c}.pb-block--split-left{gap:var(--pb-gutter);grid-template-columns:1fr 1fr;grid-template-areas:"a c""b c";align-items:start;display:grid}.pb-block--split-left>.pb-slot:first-child{grid-area:a}.pb-block--split-left>.pb-slot:nth-child(2){grid-area:b}.pb-block--split-left>.pb-slot:nth-child(3){grid-area:c}.pb-slot[data-arrange=tight]>*+*{margin-top:.4em}.pb-slot[data-arrange=row]{gap:var(--pb-gutter);align-items:flex-start;display:flex}.pb-slot[data-arrange=row]>*{flex:1 1 0;min-width:0;margin:0!important}.pb-block[data-media="1-1"]{--pb-ar:1 / 1}.pb-block[data-media="4-3"]{--pb-ar:4 / 3}.pb-block[data-media="3-2"]{--pb-ar:3 / 2}.pb-block[data-media="16-9"]{--pb-ar:16 / 9}.pb-block[data-media="3-4"]{--pb-ar:3 / 4}.pb-block[data-media="2-3"]{--pb-ar:2 / 3}.pb-block[data-media] .pb-slot :is(img,video){aspect-ratio:var(--pb-ar);object-fit:cover;width:100%;height:auto}.pb-block--split-right[data-media],.pb-block--split-left[data-media]{align-items:stretch}.pb-block--split-right[data-media]>.pb-slot:first-child,.pb-block--split-left[data-media]>.pb-slot:last-child{height:100%}.pb-block--split-right[data-media]>.pb-slot:first-child :is(.pb-figure,p,figure),.pb-block--split-left[data-media]>.pb-slot:last-child :is(.pb-figure,p,figure){height:100%;margin:0}.pb-block--split-right[data-media]>.pb-slot:first-child :is(img,video),.pb-block--split-left[data-media]>.pb-slot:last-child :is(img,video){aspect-ratio:auto;height:100%}.pb-block[data-unplaced]{position:relative}@media (width<=700px){.pb-block--cols,.pb-block--split-right,.pb-block--split-left{grid-template-columns:1fr;grid-template-areas:"a""b""c"}.pb-slot[data-arrange=row]{flex-direction:column}.pb-block--split-right[data-media]>.pb-slot:first-child :is(.pb-figure,p,figure),.pb-block--split-left[data-media]>.pb-slot:last-child :is(.pb-figure,p,figure){height:auto}.pb-block--split-right[data-media]>.pb-slot:first-child :is(img,video),.pb-block--split-left[data-media]>.pb-slot:last-child :is(img,video){aspect-ratio:var(--pb-ar);height:auto}}@media (prefers-reduced-motion:reduce){div[data-slot=project-body].pb-ready{transition:none}}.design-index__title{font-size:var(--step-2);letter-spacing:-.015em;margin-bottom:var(--space-xs);font-weight:600}.design-index__intro{font-size:var(--step-0);color:var(--ink-soft);margin-bottom:var(--space-xl);max-width:var(--measure-prose)}.design-collection{margin-bottom:var(--space-xl)}.design-collection__title{font-size:var(--step-1);letter-spacing:-.01em;color:var(--ink);margin:0 auto var(--space-sm);text-transform:none;max-width:var(--container-page);padding:0 var(--container-pad);font-weight:500}.design-collection__head{max-width:var(--container-page);margin:0 auto var(--space-sm);padding:0 var(--container-pad);justify-content:space-between;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;display:flex}.design-collection__head .design-collection__title{max-width:none;margin:0;padding:0}.design-filters{align-items:baseline;gap:var(--space-md);flex-wrap:wrap;display:flex}.design-filter{font-family:inherit;font-size:var(--step-0);cursor:pointer;color:var(--ink);-webkit-text-fill-color:currentColor;transition:color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:0;margin:0;padding:0;font-weight:500;line-height:1.3}.design-filter:hover{opacity:.6}.design-filter.is-active{background:var(--brand-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.design-collection__row{max-width:var(--container-page);padding:0 var(--container-pad);margin:0 auto;position:relative}.design-collection__row:after{content:"";top:0;right:var(--container-pad);bottom:var(--space-md);background:linear-gradient(to right, transparent, var(--edge-fade-surface,var(--paper)));pointer-events:none;opacity:0;width:96px;transition:opacity var(--duration-base) var(--ease-out);z-index:2;position:absolute}.design-collection__row[data-scrollable]:after{opacity:1}.design-scroll-next{top:38%;right:calc(var(--container-pad) + 6px);z-index:3;border:1px solid var(--rule);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;transform:translateY(-50%);box-shadow:0 2px 10px #00000014}.design-collection__row[data-scrollable] .design-scroll-next{opacity:1}.design-scroll-next:hover{transform:translateY(-50%)scale(1.08)}.design-scroll-next:active{transform:translateY(-50%)scale(.95)}.design-collection__row:before{content:"";top:0;left:var(--container-pad);bottom:var(--space-md);background:linear-gradient(to left, transparent, var(--edge-fade-surface,var(--paper)));pointer-events:none;opacity:0;width:96px;transition:opacity var(--duration-base) var(--ease-out);z-index:2;position:absolute}.design-collection__row[data-scrollable-left]:before{opacity:1}.design-scroll-prev{top:38%;left:calc(var(--container-pad) + 6px);z-index:3;border:1px solid var(--rule);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;transform:translateY(-50%);box-shadow:0 2px 10px #00000014}.design-collection__row[data-scrollable-left] .design-scroll-prev{opacity:1}.design-scroll-prev:hover{transform:translateY(-50%)scale(1.08)}.design-scroll-prev:active{transform:translateY(-50%)scale(.95)}.design-index{gap:var(--space-2xs);scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;padding-bottom:var(--space-md);flex-direction:row;display:flex;overflow-x:auto}.design-index::-webkit-scrollbar{display:none}.design-card{flex:0 0 calc((100% - 2 * var(--space-2xs)) / 3);scroll-snap-align:start;gap:var(--space-2xs);min-width:0;display:grid;position:relative}.design-card__trigger{gap:var(--space-2xs);text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;display:grid}.design-card__media{aspect-ratio:4/3;background:var(--rule);isolation:isolate;border-radius:4px;width:100%;display:block;overflow:hidden}.design-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .2s var(--ease-out), filter .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){.design-card__trigger:hover .design-card__media img{will-change:transform;transform:scale(1.015)}}.design-card__title{font-size:var(--step-0);letter-spacing:0;margin-top:var(--space-2xs);font-weight:400}.design-expanded{max-width:var(--container-page);margin:0 auto var(--space-2xl);padding:0}main[data-page=design]{padding-bottom:var(--space-md)}.design-gallery[hidden]{display:none}.design-gallery{gap:var(--space-sm);display:grid}.design-gallery__header{width:100%;max-width:var(--container-page);margin-right:0;margin-left:max(var(--container-pad), calc((100% - var(--container-page)) / 2));padding:0 var(--container-pad)}.design-gallery__info{gap:var(--space-3xs);display:grid}.design-gallery__meta,.design-gallery__tags{font-size:var(--step--1);color:var(--ink);letter-spacing:0;max-width:none;margin:0;line-height:1.4}.design-gallery__meta .meta-label,.design-gallery__meta .meta-sep,.design-gallery__tags{color:var(--ink-faint)}.design-gallery__cta{font-size:var(--step--1);color:var(--ink);margin-top:var(--space-2xs);transition:border-color var(--duration-fast) var(--ease-out);white-space:nowrap;border-bottom:1px solid #0000;justify-self:start;align-items:baseline;gap:.25em;width:max-content;padding-bottom:2px;font-weight:600;text-decoration:none;display:inline-flex}.design-gallery__cta:hover{border-bottom-color:var(--ink)}.design-gallery__strip{gap:var(--space-md);scrollbar-width:none;padding-top:0;padding-right:var(--container-pad);padding-bottom:var(--space-md);padding-left:max(var(--container-pad), calc((100% - var(--container-page)) / 2));scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.design-gallery__strip::-webkit-scrollbar{display:none}.design-gallery__strip img,.design-gallery__strip video{object-fit:cover;background:var(--rule);scroll-snap-align:start;width:auto;max-width:none;height:460px;transition:transform var(--duration-fast) var(--ease-out);border-radius:6px;flex:none}.design-reorder-panel[hidden]{display:none}.design-reorder-panel{z-index:100;background:var(--paper);border-top:1px solid var(--rule);padding:var(--space-sm) var(--container-pad);gap:var(--space-xs);grid-template-rows:auto 1fr;max-height:220px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000000f}.design-reorder-panel__header{align-items:center;gap:var(--space-md);font-size:var(--step--2);display:flex}.design-reorder-panel__title{color:var(--ink);margin:0;font-weight:600}.design-reorder-panel__hint{color:var(--ink-faint);flex:1}.design-reorder-panel__close{border:1px solid var(--rule);width:24px;height:24px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.design-reorder-panel__close:hover{border-color:var(--ink);color:var(--ink)}.design-reorder-panel__grid{gap:var(--space-2xs);scrollbar-width:thin;padding-bottom:var(--space-2xs);flex-wrap:nowrap;display:flex;overflow-x:auto}.design-reorder-panel__thumb{background:var(--rule);cursor:grab;width:96px;height:64px;transition:transform var(--duration-fast) var(--ease-out);border-radius:3px;flex:none;position:relative;overflow:hidden}.design-reorder-panel__thumb:hover{transform:translateY(-2px)}.design-reorder-panel__thumb:active{cursor:grabbing}.design-reorder-panel__thumb[data-dragging=true]{opacity:.4}.design-reorder-panel__thumb img,.design-reorder-panel__thumb video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.design-reorder-panel__thumb[data-drop-side=left]{box-shadow:-3px 0 0 0 var(--ink)}.design-reorder-panel__thumb[data-drop-side=right]{box-shadow:3px 0 0 0 var(--ink)}@media (width<=800px){.design-gallery__strip img,.design-gallery__strip video{height:clamp(220px,56vw,280px)}}@media (width<=700px){.design-collection__head{align-items:flex-start;gap:var(--space-sm)}.design-filters{gap:var(--space-xs) var(--space-md);width:100%;padding-bottom:var(--space-3xs);flex-wrap:wrap;overflow:visible}.design-filter{white-space:nowrap;flex:none}.design-card{flex-basis:82%}.design-scroll-prev,.design-scroll-next,.design-collection__row:before,.design-collection__row:after{display:none}}ul[data-list=writing-index]{gap:var(--space-md);border-top:1px solid var(--rule);flex-direction:column;display:flex}ul[data-list=writing-index] li{border-bottom:1px solid var(--rule);padding:var(--space-md) 0}ul[data-list=writing-index] a{gap:var(--space-md);grid-template-columns:max-content 1fr;align-items:baseline;text-decoration:none;display:grid}ul[data-list=writing-index] time{font-size:var(--step--1);color:var(--ink-faint);font-variant-numeric:tabular-nums;min-width:8rem}ul[data-list=writing-index] [data-slot=title]{font-size:var(--step-1);font-weight:500}ul[data-list=writing-index] [data-slot=summary]{color:var(--ink-soft);font-size:var(--step-0);margin-top:var(--space-3xs);display:block}nav[data-slot=links] ul{font-size:var(--step-0);flex-direction:column;gap:0;font-weight:400;display:flex}nav[data-slot=links] li{padding:var(--space-xs) 0;border-top:1px solid var(--rule);font-weight:400}nav[data-slot=links] li:last-child{border-bottom:1px solid var(--rule)}nav[data-slot=links] a{color:var(--ink);justify-content:space-between;align-items:baseline;font-weight:400;text-decoration:none;display:flex}nav[data-slot=links] a:hover{color:var(--accent-hover)}nav[data-slot=links] a:after{content:"";background:var(--ink-faint);width:.7em;height:.7em;-webkit-mask:var(--icon-external) center / contain no-repeat;mask:var(--icon-external) center / contain no-repeat;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);margin-left:.25em;display:inline-block}nav[data-slot=links] a:hover:after{opacity:1}section[data-slot=blurb]{max-width:var(--measure-prose);font-size:var(--step-0);color:var(--ink);margin-bottom:var(--space-xl);line-height:1.6}section[data-slot=blurb] p{max-width:none}section[data-slot=blurb] p+p{margin-top:var(--space-md);color:var(--ink-soft)}footer[data-slot=interactive-footer]{margin-top:var(--space-3xl);padding-top:var(--space-md);border-top:1px solid var(--rule);font-size:var(--step--1);color:var(--ink-faint)}.eyebrow{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);max-width:none;font-weight:700}.home-page,.about-page,.archive-page{max-width:var(--container-page)}.home-page>*+*,.about-page>*+*,.archive-page>*+*{margin-top:var(--space-2xl)}.home-hero{padding:var(--space-xl) 0 var(--space-lg);gap:var(--space-md);display:grid}.home-hero h1,.page-hero h1{max-width:20ch;font-size:var(--step-5);letter-spacing:0;line-height:1.05}.home-hero__lede,.page-hero p{font-size:var(--step-1);color:var(--ink-soft);max-width:66ch;line-height:1.55}.home-hero__media{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-hero__media a{gap:var(--space-2xs);color:var(--ink);min-width:0;text-decoration:none;display:grid}.home-hero__media img{aspect-ratio:4/3;object-fit:cover;background:var(--rule);outline:1px solid var(--border-subtle);width:100%;transition:transform .2s var(--ease-out), filter .2s var(--ease-out);border-radius:6px}@media (hover:hover) and (pointer:fine){.home-hero__media a:hover img{filter:saturate(1.08);will-change:transform;transform:scale(1.015)}}.home-hero__media span{font-size:var(--step--1);font-weight:600;line-height:1.3}.proof-strip{background:var(--rule);border:1px solid var(--rule);margin-top:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.proof-strip p{background:var(--paper);max-width:none;padding:var(--space-md);gap:var(--space-3xs);min-height:7rem;margin:0;display:grid}.proof-strip p+p{margin-top:0}.proof-strip strong{font-size:var(--step-2);font-variant-numeric:tabular-nums;line-height:1.1}.proof-strip span{color:var(--ink-soft);font-size:var(--step--1);line-height:1.45}.proof-strip span a{color:var(--ink);font-weight:600}.proof-strip--compact{margin-bottom:var(--space-xl)}.proof-strip--compact p{min-height:5.75rem}.home-section,.home-section>*+*{margin-top:var(--space-md)}.section-heading{gap:var(--space-2xs);display:grid}.section-heading h2{font-size:var(--step-3);letter-spacing:0;text-transform:none;margin:0;line-height:1.15}.section-heading--split{justify-content:space-between;align-items:end;gap:var(--space-md);display:flex}.text-link{min-height:40px;font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);transition:color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--accent-hover)}.text-link:active{transform:scale(.96)}.path-grid{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.path-card,.resource-card{border:1px solid var(--rule);padding:var(--space-md);align-content:start;gap:var(--space-sm);min-height:15rem;color:var(--ink);background:linear-gradient(180deg, var(--sheen), transparent), var(--paper);border-radius:8px;text-decoration:none;display:grid}.path-card{transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.path-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 1px 2px #0000000a,0 14px 32px #00000012}.path-card:active{transform:scale(.96)}.path-card__kicker,.resource-card__label,.featured-work__meta{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:700}.path-card strong{font-size:var(--step-2);line-height:1.15}.path-card span:last-child{color:var(--ink-soft);font-size:var(--step--1);line-height:1.55}.featured-work{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.featured-work li,.featured-work a{min-width:0}.featured-work a{gap:var(--space-sm);color:var(--ink);text-decoration:none;display:grid}.featured-work__media{aspect-ratio:4/3;background:var(--rule);outline:1px solid var(--border-subtle);border-radius:6px;display:block;overflow:hidden}.featured-work__media img{object-fit:cover;width:100%;height:100%;transition:transform .2s var(--ease-out), filter .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){.featured-work a:hover .featured-work__media img{filter:saturate(1.08);will-change:transform;transform:scale(1.025)}}.featured-work__body{gap:var(--space-3xs);display:grid}.featured-work__body strong{font-size:var(--step-1);line-height:1.2}.featured-work__body span:last-child{color:var(--ink-soft);font-size:var(--step--1);line-height:1.5}.experiment-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.experiments-media{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.experiments-media a{color:var(--ink);text-decoration:none;display:block}.experiments-media img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:filter var(--duration-fast) var(--ease-out);border-radius:8px;display:block}.experiments-media a:hover img{filter:saturate(1.08)}.experiments-media span{margin-top:var(--space-2xs);font-size:var(--step--1);display:block}@media (width<=800px){.experiments-media{grid-template-columns:repeat(2,minmax(0,1fr))}}.experiment-grid li{display:grid}.experiment-grid li>a{height:100%}.home-hero__media-head{margin-bottom:var(--space-xs);justify-content:flex-end;display:flex}.text-link-arrow{font-size:var(--step--1);background:var(--brand-gradient);-webkit-text-fill-color:transparent;color:#0000;transition:gap var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);-webkit-background-clip:text;background-clip:text;align-items:center;gap:.35em;font-weight:600;text-decoration:none;display:inline-flex}.text-link-arrow:hover{opacity:.8;gap:.6em}a[href],button:not(:disabled),[role=button],label[for],summary,select{cursor:pointer}.experiment-grid a{gap:var(--space-xs);min-height:12rem;padding:var(--space-md);border:1px solid var(--rule);background:linear-gradient(180deg, var(--sheen), transparent), var(--paper);color:var(--ink);transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:8px;text-decoration:none;display:grid}.experiment-grid a:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 1px 2px #0000000a,0 14px 32px #00000012}.experiment-grid a:active{transform:scale(.96)}.experiment-grid span{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:700}.experiment-grid strong{font-size:var(--step-2);line-height:1.15}.experiment-grid em{color:var(--ink-soft);font-style:normal;font-size:var(--step--1);line-height:1.55}.experiment-grid b{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;align-self:end}.inline-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.page-hero{gap:var(--space-md);display:grid}.editorial-note{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--space-md) 0;gap:var(--space-sm);display:grid}.editorial-note p{max-width:none;margin:0}.editorial-note ul{gap:var(--space-2xs);color:var(--ink-soft);display:grid}.editorial-note li{padding-left:var(--space-sm);position:relative}.editorial-note li:before{content:"";background:var(--accent-hover);border-radius:50%;width:5px;height:5px;position:absolute;top:.7em;left:0}.resource-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.resource-card h2{font-size:var(--step-2);text-transform:none;letter-spacing:0;margin:0;line-height:1.15}.resource-card p{color:var(--ink-soft);max-width:none}.resource-card footer{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--rule);font-size:var(--step--1);margin-top:auto;display:flex}.resource-card footer span:first-child{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-weight:700}.resource-card footer a{font-weight:700}[data-state=empty]{color:var(--ink-soft)}li[data-state=empty]{gap:var(--space-2xs);padding:var(--space-md) 0;display:grid}li[data-state=empty] strong{color:var(--ink);font-size:var(--step-1)}li[data-state=empty] a{justify-self:start;font-weight:700}.timeline-list{border-top:1px solid var(--rule);gap:0;display:grid}.timeline-list li{gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--rule);grid-template-columns:9rem minmax(0,1fr);display:grid}.timeline-list time{color:var(--ink-faint);font-size:var(--step--1);font-variant-numeric:tabular-nums}.timeline-list h3{font-size:var(--step-1);margin-top:var(--space-2xs);line-height:1.25}.timeline-list p{color:var(--ink-soft);font-size:var(--step--1);margin-top:var(--space-2xs);max-width:58ch}.timeline-list--compact{margin-top:var(--space-xl)}@media (width<=980px){.path-grid,.featured-work{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.home-hero h1,.page-hero h1{max-width:none}.proof-strip,.home-hero__media,.path-grid,.featured-work,.resource-grid,.experiment-grid{grid-template-columns:1fr}.proof-strip p{min-height:0}.section-heading--split{flex-direction:column;align-items:start}.path-card,.resource-card{min-height:0}.timeline-list li{gap:var(--space-2xs);grid-template-columns:1fr}}.activity-heatmap{--timeline-surface:var(--activity-surface,var(--paper));--heatmap-empty:color-mix(in srgb, var(--rule) 45%, var(--timeline-surface));gap:var(--space-sm);margin-top:var(--space-xl);font-family:var(--font-sans);flex-direction:column;display:flex}.heatmap-header{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}.heatmap-header h3{font-size:var(--step--1);letter-spacing:0;color:var(--ink);font-weight:600}.heatmap-header .tally{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:var(--step--1)}.heatmap-timeline{gap:var(--space-3xs);margin-bottom:var(--space-2xs);user-select:none;flex-direction:column;display:flex}.heatmap-timeline__years{font-size:var(--step--2);font-variant-numeric:tabular-nums;letter-spacing:.02em;justify-content:space-between;margin:0;padding:0;list-style:none;display:flex}.heatmap-year--short{display:none}@media (width<=640px){.heatmap-year--full{display:none}.heatmap-year--short{display:inline}}.heatmap-timeline__years button{cursor:pointer;color:var(--ink-faint);font:inherit;letter-spacing:inherit;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:0;margin:0;padding:0 2px}.heatmap-timeline__years button:hover{color:var(--ink-soft)}.heatmap-timeline__years button[data-current=true]{color:var(--ink);font-weight:600}.heatmap-timeline__track{height:14px;margin-top:4px;position:relative}.heatmap-timeline__track:before{content:"";background:var(--rule);height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.heatmap-timeline__tick{background:var(--rule);pointer-events:none;width:1px;height:9px;position:absolute;top:50%;transform:translate(-50%,-50%)}.heatmap-timeline__slider{background:var(--ink);width:10px;height:10px;transition:left .28s var(--ease-out);cursor:grab;z-index:2;box-shadow:0 0 0 2px var(--timeline-surface);border-radius:50%;position:absolute;top:50%;left:100%;transform:translate(-50%,-50%)}.heatmap-timeline__slider[data-dragging=true]{cursor:grabbing;transition:none;transform:translate(-50%,-50%)scale(1.15)}.heatmap-strip{scroll-behavior:smooth;padding-top:var(--space-2xs);padding-bottom:var(--space-2xs);scrollbar-width:none;-ms-overflow-style:none;overflow:auto hidden}.heatmap-strip::-webkit-scrollbar{display:none}.heatmap-strip__grid{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;grid-auto-flow:column;gap:2px;width:max-content;display:grid}.heatmap-strip:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.heatmap-strip-wrap{position:relative}.heatmap-cell.glint{animation-name:heatmap-cell-glint;animation-duration:.7s;animation-timing-function:var(--ease-in-out);animation-fill-mode:both}@keyframes heatmap-cell-glint{0%{filter:none}45%{filter:brightness(1.35)saturate(1.5)}to{filter:none}}.heatmap-swipe-hint{width:40px;color:var(--ink-faint);background:linear-gradient(to right, var(--timeline-surface,var(--paper)) 35%, transparent);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out);align-items:center;padding-left:2px;display:flex;position:absolute;top:0;bottom:0;left:0}.heatmap-strip-wrap:hover .heatmap-swipe-hint{opacity:1}.heatmap-strip-wrap:hover .heatmap-swipe-hint svg{animation:heatmap-swipe-nudge 1s var(--ease-in-out) infinite}@keyframes heatmap-swipe-nudge{0%,to{transform:translate(0)}50%{transform:translate(-3px)}}@media (prefers-reduced-motion:reduce){.heatmap-cell.glint,.heatmap-strip-wrap:hover .heatmap-swipe-hint{animation:none}}.heatmap-cell{background:var(--rule);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);cursor:default;border:0;border-radius:2px;padding:0}.heatmap-cell[data-dominant-type=design]{background:hsla(24, 70%, 50%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=type]{background:hsla(280, 50%, 55%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=motion]{background:hsla(340, 65%, 55%, var(--cell-a,1))}.heatmap-cell[data-dominant-type="3d"]{background:hsla(200, 55%, 50%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=image]{background:hsla(45, 70%, 55%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=coding]{background:hsla(140, 30%, 45%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=writing]{background:hsla(0, 0%, 30%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=audio]{background:hsla(180, 45%, 45%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=data]{background:hsla(220, 30%, 50%, var(--cell-a,1))}.heatmap-cell[data-dominant-type=other]{background:hsla(0, 0%, 60%, var(--cell-a,1))}.heatmap-cell[data-dominant-type][data-level="1"]{--cell-a:.6}.heatmap-cell[data-dominant-type][data-level="2"]{--cell-a:.75}.heatmap-cell[data-dominant-type][data-level="3"]{--cell-a:.9}.heatmap-cell[data-dominant-type][data-level="4"]{--cell-a:1}.heatmap-cell:not([data-dominant-type]){background:var(--heatmap-empty)}.heatmap-cell:hover{z-index:2;--cell-a:1;position:relative;transform:scale(1.6)}.heatmap-cell[data-out-of-range]{background:0 0}.heatmap-cell--milestone{z-index:1;position:relative}.heatmap-cell--milestone:after{content:"";background:var(--ink-soft);pointer-events:none;width:5px;height:5px;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.heatmap-cell--milestone[data-dominant-type=design]:after{background:#552607}.heatmap-cell--milestone[data-dominant-type=type]:after{background:#470b65}.heatmap-cell--milestone[data-dominant-type=motion]:after{background:#650b29}.heatmap-cell--milestone[data-dominant-type="3d"]:after{background:#0a415c}.heatmap-cell--milestone[data-dominant-type=image]:after{background:#6b5106}.heatmap-cell--milestone[data-dominant-type=coding]:after{background:#124925}.heatmap-cell--milestone[data-dominant-type=writing]:after{background:#0d0d0d}.heatmap-cell--milestone[data-dominant-type=audio]:after{background:#0e4e4e}.heatmap-cell--milestone[data-dominant-type=data]:after{background:#162d5a}.heatmap-cell--milestone[data-dominant-type=other]:after{background:var(--ink)}.heatmap-cell--milestone:hover:after{transform:translate(-50%,-50%)scale(1.15)}.milestone-badges-layer{pointer-events:none;position:absolute;inset:0}.milestone-badge{white-space:nowrap;background:var(--paper);color:var(--ink);letter-spacing:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);z-index:50;border:1px solid #0000001a;border-radius:6px;padding:.28em .6em;font-size:.66rem;font-weight:500;line-height:1.3;position:fixed;top:0;left:0;transform:translate(-50%,calc(-100% - 8px))translateY(3px);box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f}.milestone-badge[data-state=visible]{opacity:var(--mask-opacity,1);transform:translate(-50%,calc(-100% - 8px))translateY(0)}.heatmap-footer{gap:var(--space-xs);flex-direction:column;display:flex}.heatmap-legend{align-items:center;gap:var(--space-xs);font-size:var(--step--2);color:var(--ink-faint);display:flex}.heatmap-legend .legend-cells{gap:2px;display:inline-flex}.heatmap-legend .legend-cell{background:var(--rule);border-radius:2px;width:9px;height:9px}.heatmap-legend .legend-cell[data-level="1"]{background:#f1e2c6}.heatmap-legend .legend-cell[data-level="2"]{background:#eac286}.heatmap-legend .legend-cell[data-level="3"]{background:#e3943b}.heatmap-legend .legend-cell[data-level="4"]{background:#a5531d}.heatmap-meta{font-size:var(--step--2);color:var(--ink-faint);letter-spacing:.02em}.heatmap-types{gap:var(--space-2xs) var(--space-sm);font-size:var(--step--2);color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;display:flex}.heatmap-types li{align-items:center;gap:.4em;display:inline-flex}.heatmap-types .type-label{letter-spacing:.02em;font-weight:500}.heatmap-types .type-count{color:var(--ink-faint)}.type-dot{background:var(--rule);border-radius:50%;width:8px;height:8px;display:inline-block}.type-dot--design{background:#d96e26}.type-dot--type{background:#9f53c6}.type-dot--motion{background:#d74273}.type-dot--3d{background:#3997c6}.type-dot--image{background:#ddb43c}.type-dot--coding{background:#509567}.type-dot--writing{background:#4d4d4d}.type-dot--audio{background:#3fa6a6}.type-dot--data{background:#5973a6}.type-dot--other{background:var(--ink-faint)}.milestone-tag{text-transform:uppercase;letter-spacing:.1em;background:var(--rule);color:var(--ink-soft);border-radius:999px;padding:.15em .5em;font-size:.62rem;font-weight:700;display:inline-block}.milestone-tag--career{color:#206035;background:#deede3}.milestone-tag--release{color:#864113;background:#f9e8dc}.milestone-tag--location{color:#194c66;background:#dfeef6}.milestone-tag--education{color:#592673;background:#f2e8f7}.milestone-tag--personal{color:#732640;background:#fae6ec}.wikilink--unresolved{color:var(--ink-faint);cursor:not-allowed;border-bottom:1px dashed}section[data-section=epic-school],section[data-section=open-source]{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--rule)}section[data-section] h2{margin-bottom:var(--space-md)}section[data-section] ul li{font-size:var(--step-1);padding:var(--space-2xs) 0}.about-meta{column-gap:var(--space-md);row-gap:var(--space-2xs);border-top:1px solid var(--rule);padding-top:var(--space-md);margin-top:var(--space-xl);font-size:var(--step--1);grid-template-columns:max-content 1fr;display:grid}.about-meta dt{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);align-self:center;font-size:.72rem;font-weight:600}.about-meta dd{color:var(--ink-soft);align-self:center}main table,article table{width:100%;max-width:var(--measure-wide);border-collapse:collapse;margin:var(--space-md) 0;font-size:var(--step-0)}main th,article th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:var(--space-xs) var(--space-sm) var(--space-xs) 0;border-bottom:1px solid var(--ink);font-size:.72rem;font-weight:600}main td,article td{padding:var(--space-sm) var(--space-sm) var(--space-sm) 0;border-bottom:1px solid var(--rule);vertical-align:top}main td:last-child,article td:last-child{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}a.button{padding:var(--space-xs) var(--space-md);border:1px solid var(--ink);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-weight:600;text-decoration:none;display:inline-block}a.button:hover{background:var(--ink);color:var(--paper)}a.button:active{transform:scale(.96)}a.button--quiet{border-color:var(--rule);color:var(--ink-soft)}a.button--quiet:hover{border-color:var(--ink);color:var(--ink);background:0 0}.dial-test-note{background:var(--highlight);border:1px solid var(--rule);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--step--1);margin-bottom:var(--space-lg);border-radius:4px}.dial-test-static-hero{padding:var(--space-2xl) 0}.dial-test-static-hero h1{font-size:var(--step-5)}html.lenis,html.lenis body{height:auto}:root,:root[data-theme=dark]{--paper:#fff;--paper-rgb:255, 255, 255;--ink:#0b0b0b;--ink-soft:#4d4d49;--ink-faint:#777772;--rule:#c8c8c3;--accent:#2357ff;--accent-hover:#0b0b0b;--highlight:#ffe600;--nav-bg:#fff;--font-sans:"Helvetica Neue", Arial, Helvetica, sans-serif;--container-max:1600px;color-scheme:light}body{background:var(--paper);font-family:var(--font-sans);letter-spacing:0}h1,h2,h3,h4,h5,h6{letter-spacing:0}:focus-visible{outline-offset:4px;outline:2px solid #2357ff}.skip-link{z-index:1000;color:#fff;background:#0b0b0b;border-radius:2px;padding:10px 12px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-shell,.site-shell--full{min-height:100vh;display:block}.site-content-col{view-transition-name:vt-main;min-width:0}.portfolio-nav{width:calc(100% - 48px);max-width:var(--container-max);background:0 0;border-bottom:1px solid #0b0b0b;justify-content:space-between;align-items:center;gap:40px;height:76px;margin:0 auto;padding:0;display:flex}.portfolio-nav__bar{flex:none;align-items:center;display:flex}.portfolio-nav__brand{color:#0b0b0b;text-transform:none;font-size:16px;font-weight:700;line-height:20px}.portfolio-nav__toggle{display:none}.portfolio-nav__panel{flex:none;display:block}.portfolio-nav__links{align-items:center;gap:34px;display:flex}.portfolio-nav__links a{color:#0b0b0b;align-items:center;min-height:44px;font-size:14px;line-height:20px;display:flex;position:relative}.portfolio-nav__links a:after{content:"";transform-origin:0;height:3px;transition:transform .18s var(--ease-out);background:#ffe600;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.portfolio-nav__links a:hover:after,.portfolio-nav__links a[data-active]:after{transform:scaleX(1)}.portfolio-nav__links a:active,.portfolio-nav__toggle:active,.project-lead__link:active,.visual-project__link:active{transform:scale(.98)}.portfolio-index-page{width:calc(100% - 48px);max-width:var(--container-max);margin:0 auto;padding:96px 0 128px}.portfolio-page-title{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:24px;min-height:220px;padding:0 0 56px;display:grid}.portfolio-page-title h1{grid-column:1/span 7;font-size:72px;font-weight:700;line-height:72px}.portfolio-page-title p{max-width:34ch;color:var(--ink-soft);grid-column:9/-1;font-size:17px;line-height:24px}.project-index{flex-direction:column;gap:40px;display:flex}article.project-lead{width:100%;max-width:none;margin:0;padding:0}.project-lead__link{color:#0b0b0b;transition:transform .15s var(--ease-out);flex-direction:column;display:flex}.project-lead__media{aspect-ratio:8/3;background:#08090b;border-radius:4px 4px 0 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.project-lead__media img{object-fit:contain;width:min(44%,620px);height:36%}.project-lead__body{background:#ffe600;grid-template-columns:140px minmax(280px,1fr) auto auto auto;align-items:center;gap:24px;min-height:80px;padding:16px 20px;display:grid}.project-lead__body strong{font-size:25px;font-weight:500;line-height:30px}.project-lead__summary{font-size:16px;line-height:22px}.project-lead__meta,.project-lead__body time,.project-lead__view{text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700;line-height:16px}.visual-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 24px;display:grid}.visual-project{min-width:0}.visual-project__link{color:inherit;transition:transform .15s var(--ease-out);flex-direction:column;gap:12px;display:flex}.visual-project__media{aspect-ratio:4/3;isolation:isolate;background:#e9e9e6;border-radius:4px;width:100%;display:block;position:relative;overflow:hidden}.visual-project__media>img,.visual-project__media>astro-island,.visual-project__media .dessa-preview,.visual-project__media canvas{width:100%;height:100%}.visual-project__media>img{object-fit:cover;transition:transform .24s var(--ease-out), filter .24s ease}.visual-project[data-slug=dessa] .dessa-preview__poster,.visual-project[data-slug=shader-render] .dessa-preview__poster{object-fit:contain;background:#f3f2ee}.visual-project__body{grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;display:grid}.visual-project__heading{display:contents}.visual-project__heading strong{font-size:22px;font-weight:500;line-height:27px}.visual-project__heading time,.visual-project__meta{color:#0b0b0b;font-size:13px;line-height:18px}.visual-project__meta{grid-column:1/-1}@media (hover:hover) and (pointer:fine){.visual-project__link:hover .visual-project__media>img{filter:saturate(1.05);transform:scale(1.012)}}.dessa-preview{background:#08070b;position:relative;overflow:hidden}.dessa-preview__poster,.dessa-preview canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dessa-preview canvas{opacity:0;transition:opacity .24s var(--ease-out)}.dessa-preview[data-ready] canvas{opacity:1}.dessa-preview[data-ready] .dessa-preview__poster{opacity:0}.portfolio-index-page--experiments{width:100%;max-width:none;padding-right:max(24px, calc((100% - var(--container-max)) / 2));padding-left:max(24px, calc((100% - var(--container-max)) / 2));color:#fff;background:#0b0b0b}.portfolio-index-page--experiments .portfolio-page-title h1,.portfolio-index-page--experiments .portfolio-page-title p,.portfolio-index-page--experiments .visual-project__link,.portfolio-index-page--experiments .visual-project__heading time,.portfolio-index-page--experiments .visual-project__meta{color:#fff}.portfolio-index-page--experiments .visual-project__media{background:#1b1b1b}.about-page,.archive-page{width:calc(100% - 48px);max-width:var(--container-max);margin:0 auto;padding:96px 0 128px}.about-page .page-hero,.archive-page .page-hero{padding:0 0 64px}.about-page .page-hero{margin-bottom:0}.about-page .page-hero h1,.archive-page .page-hero h1{max-width:none;font-size:72px;line-height:72px}.about-page>p,.about-page>ul,.about-page>ol,.about-page>h2,.about-page>h3{max-width:760px;margin-left:auto;margin-right:auto}.about-page>*+*{margin-top:0}.about-page>p+p{margin-top:28px}.about-page>h2{margin-top:80px}.about-page>h2+p{margin-top:24px!important}.about-page>.about-meta{width:100%;max-width:760px;margin:56px auto 0}.about-page>.about-meta+h2{margin-top:80px}.resource-card{border-radius:4px}@media (width<=1000px){.project-lead__body{grid-template-columns:120px minmax(220px,1fr) auto auto}.project-lead__view{display:none}}@media (width<=760px){html[data-menu-open]{overflow:hidden}.portfolio-nav{border-bottom:0;width:100%;height:64px;padding:0 16px}.portfolio-nav__brand{font-size:15px;line-height:20px}.portfolio-nav__bar{justify-content:space-between;width:100%}.portfolio-nav__toggle{width:40px;height:40px;transition:transform .15s var(--ease-out);background:#ffe600;border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.portfolio-nav__toggle svg{width:18px;height:18px}.portfolio-nav__panel{z-index:70;background:#fff;padding:24px 16px;display:none;position:fixed;inset:64px 0 0;overflow-y:auto}.portfolio-nav__panel[data-open]{display:block}.portfolio-nav__links{flex-direction:column;align-items:stretch;gap:0;display:flex}.portfolio-nav__links a{border-bottom:1px solid #0b0b0b;min-height:64px;font-size:28px;font-weight:600;line-height:34px}.portfolio-nav__links a[data-active]{background:#ffe600}.portfolio-nav__links a:after{display:none}.portfolio-index-page,.about-page,.archive-page{width:100%;padding:42px 16px 96px}.portfolio-page-title{flex-direction:column;align-items:stretch;gap:22px;min-height:0;padding-bottom:32px;display:flex}.portfolio-page-title h1{max-width:none;font-size:54px;line-height:52px}.portfolio-page-title p{max-width:34ch;font-size:16px;line-height:22px}.project-index{gap:40px}.project-lead__media{aspect-ratio:4/3}.project-lead__media img{width:68%;height:38%}.project-lead__body{grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;min-height:0;padding:16px}.project-lead__body strong{font-size:22px;line-height:26px}.project-lead__summary{grid-area:2/1/auto/-1;max-width:32ch;font-size:15px;line-height:20px}.project-lead__body time{grid-area:1/2}.project-lead__meta,.project-lead__view{display:none}.visual-index{grid-template-columns:1fr;gap:40px}.visual-project__media{aspect-ratio:4/3}.visual-project__heading strong{font-size:22px;line-height:26px}.portfolio-index-page--experiments{width:100%;margin-left:0;padding-left:16px;padding-right:16px}.about-page .page-hero h1,.archive-page .page-hero h1{font-size:54px;line-height:52px}.about-page .page-hero{padding-bottom:40px}.about-page>p+p{margin-top:20px}.about-page>h2,.about-page>.about-meta+h2{margin-top:56px}.about-page>h2+p{margin-top:16px!important}.about-page>.about-meta{margin-top:40px}}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}:root{--color-background:#fff;--color-foreground:#0b0b0b;--color-surface:#e9e9e6;--color-muted:#555;--color-link:#2357ff;--color-live:#12b76a;--color-primary:#ffe600;--color-rule:#e0e0dc;--font-body:"Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, sans-serif;--sp-gutter:40px;--sp-max:1440px;--case-gap:16px;--sp-radius:4px;--sp-ease:cubic-bezier(.16, 1, .3, 1)}@media (width<=760px){:root{--sp-gutter:16px}}body{font-family:var(--font-body)}.site-header,.site-footer,.sp-page{width:100%;max-width:var(--sp-max);padding-inline:var(--sp-gutter);color:var(--color-foreground);font-family:var(--font-body);margin-inline:auto}.site-header{justify-content:space-between;align-items:baseline;gap:24px;padding-block:28px;display:flex}:root{--site-header-h:80px}.site-shell{overflow-x:clip}.site-header{z-index:60;position:sticky;top:0}.site-header__frost{z-index:59;height:var(--site-header-h);background:color-mix(in srgb, var(--color-background) 62%, transparent);backdrop-filter:blur(20px)saturate(1.8);opacity:0;transition:opacity .24s var(--sp-ease);pointer-events:none;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #0b0b0b0f}.site-header.is-stuck+.site-header__frost{opacity:1}.site-header__dot{color:var(--color-link)}.site-header a{color:var(--color-foreground)}.site-header a:hover{color:var(--color-link)}.site-header__name{white-space:nowrap;font-size:18px;font-weight:500;line-height:24px}.site-header__nav{gap:32px;font-size:16px;line-height:24px;display:flex}.site-header__nav a[aria-current=page]{font-weight:500}.site-header__nav .site-header__email{color:var(--color-link)}.site-header__nav .site-header__email:hover{color:var(--color-foreground)}.site-footer{justify-content:space-between;align-items:flex-end;gap:32px;padding-top:200px;padding-bottom:40px;display:flex}.site-footer__contact{flex-direction:column;gap:12px;min-width:0;display:flex}.site-footer__note{max-width:none;color:var(--color-muted);font-size:16px;line-height:24px}.site-footer__email{color:var(--color-link);letter-spacing:-.015em;overflow-wrap:anywhere;font-size:44px;font-weight:500;line-height:52px}.site-footer__email:hover{color:var(--color-foreground)}.site-footer__links{gap:24px;font-size:16px;line-height:24px;display:flex}.site-footer__links a{color:var(--color-foreground)}.site-footer__links a:hover{color:var(--color-link)}.site-footer__links a[href]:after,.sp-facts__links a[href]:after{content:none}main.sp-page{max-width:var(--sp-max);padding:0 var(--sp-gutter);margin-inline:auto}.sp-page>*+*{margin-top:0}.sp-page>header{color:inherit;font-size:inherit;margin-bottom:0}.sp-page h2{letter-spacing:0;text-transform:none;margin-top:0}.sp-page h2+*{margin-top:0!important}.sp-page p{max-width:none}.sp-page p+p{margin-top:0}.sp-page h1,.sp-page h2{color:var(--color-foreground);font-family:var(--font-body);text-wrap:pretty;font-weight:500}.sp-page-title{flex-direction:column;gap:12px;padding-top:96px;padding-bottom:64px;display:flex}.sp-page-title h1{letter-spacing:-.02em;font-size:64px;line-height:68px}.sp-page-title p{max-width:680px;color:var(--color-muted);font-size:18px;line-height:28px}.sp-section{flex-direction:column;gap:32px;padding-top:160px;display:flex}.sp-section__head{flex-direction:column;gap:8px;display:flex}.sp-section__head h2{letter-spacing:-.015em;font-size:44px;line-height:52px}.sp-section__head p{max-width:760px;color:var(--color-muted);font-size:16px;line-height:24px}.sp-page a{color:inherit}.sp-media{border-radius:var(--sp-radius);background:var(--color-surface);isolation:isolate;width:100%;display:block;position:relative;overflow:hidden}.sp-media>img,.sp-media>video{object-fit:cover;width:100%;height:100%;display:block}.sp-media[data-fit=logo]{background:var(--sp-ground,var(--color-foreground));justify-content:center;align-items:center;display:flex}.sp-media[data-glow]:before{content:"";z-index:0;background:radial-gradient(ellipse 62% 42% at 50% 104%, color-mix(in srgb, var(--sp-glow) 50%, transparent) 0%, color-mix(in srgb, var(--sp-glow) 18%, transparent) 45%, transparent 100%);pointer-events:none;position:absolute;inset:0}.sp-media[data-glow]>img{z-index:1;position:relative}.sp-media[data-fit=logo]>img{object-fit:contain;width:min(40%,520px);height:auto}.sp-media[data-fit=contain]{background:#f2f0ea}.sp-media[data-fit=contain]>img{object-fit:contain}.sp-media[data-fit=nest]{background:var(--sp-ground,var(--color-surface))}.sp-media[data-fit=nest]>img{object-fit:contain;box-sizing:border-box;padding:var(--sp-inset,0)}.sp-pill{z-index:3;color:var(--color-foreground);background:#fff;border:1px solid #e0e0dc;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:13px;font-weight:500;line-height:16px;display:inline-flex;position:absolute;top:16px;left:16px}.sp-pill__dot{background:var(--color-live);border-radius:4px;flex-shrink:0;width:7px;height:7px;position:relative}.sp-pill__dot:after{content:"";border-radius:inherit;background:var(--color-live);animation:sp-live-pulse 2s var(--sp-ease) infinite;position:absolute;inset:0}@keyframes sp-live-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.sp-pill__dot:after{opacity:0;animation:none}}.sp-tile:focus-visible{outline:none}.sp-tile:focus-visible .sp-media{outline:2px solid var(--color-link);outline-offset:4px}.sp-link,.sp-page :where(p,li,dd) a:not([class]){color:inherit;text-underline-offset:.18em;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);transition:text-decoration-color .2s var(--sp-ease);position:relative}.sp-link:hover,.sp-link:focus-visible,.sp-page :where(p,li,dd) a:not([class]):hover{color:inherit;text-decoration-color:currentColor}.sp-link__preview{z-index:20;border:1px solid var(--color-rule);background:var(--color-background);width:320px;color:var(--color-foreground);letter-spacing:0;text-align:left;white-space:normal;pointer-events:none;transform-origin:0 0;transition:opacity .2s var(--sp-ease), transform .2s var(--sp-ease);border-radius:12px;flex-direction:column;gap:12px;padding:10px 10px 14px;font-size:14px;font-weight:400;line-height:20px;display:none;position:absolute;top:calc(100% + 12px);left:0}.sp-link__preview-media{display:block}.sp-link__preview-media>img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:260px;margin:0;display:block}.sp-link__preview-text{flex-direction:column;gap:4px;padding:0 4px;display:flex}.sp-link__preview-label{color:var(--color-foreground);font-size:17px;font-weight:500;line-height:22px}.sp-link__preview-blurb{color:var(--color-muted)}.sp-link__preview-cta{color:var(--color-link);margin-top:6px}@media (hover:hover) and (pointer:fine){.sp-link[data-preview]:hover .sp-link__preview,.sp-link[data-preview]:focus-visible .sp-link__preview{opacity:1;display:flex;transform:none;@starting-style{opacity:0;transform:translateY(-4px)scale(.98)}}}@media (prefers-reduced-motion:reduce){.sp-link__preview{transition:none;transform:none}}.sp-intro{flex-direction:column;gap:32px;padding-block:120px;display:flex}.sp-intro__lede .sp-link,.sp-intro__lede .sp-link:hover,.sp-intro__lede .sp-link:focus-visible{text-decoration:none}.sp-page .sp-intro__lede{letter-spacing:-.015em;max-width:1120px;font-size:44px;font-weight:400;line-height:52px}.sp-current{color:var(--color-muted);align-items:center;gap:10px;font-size:16px;line-height:24px;display:flex}.sp-hero{--hero-bg-top:#c6e1f9;--hero-bg-mid:#e6f2fd;--hero-bg-bottom:#fff;--header-h:80px;--frame-h:clamp(380px, calc((100svh - 180px) / 1.135), 860px);--frame-w:calc(var(--frame-h) * 9 / 16);--stage-top:calc(var(--header-h) + var(--frame-h) * .21);z-index:1;margin-top:calc(var(--header-h) * -1);padding-top:calc(var(--stage-top) + var(--frame-h) * .6);position:relative}.sp-hero__bg{z-index:-1;background:linear-gradient(180deg, var(--hero-bg-top) 0%, var(--hero-bg-mid) 50%, var(--hero-bg-bottom) 88%);pointer-events:none;width:100vw;position:absolute;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.sp-cloud{user-select:none;max-width:none;height:auto;animation:spCloudDrift var(--drift-s) ease-in-out infinite alternate;will-change:transform;position:absolute}.sp-cloud--small{--drift:26px;--drift-s:56s;top:calc(var(--stage-top) + var(--frame-h) * .2);left:calc(50% - var(--frame-w) * 1.75);width:calc(var(--frame-w) * .75);opacity:.9}.sp-cloud--large{--drift:46px;--drift-s:48s;top:calc(var(--stage-top) + var(--frame-h) * .3);left:calc(50% - var(--frame-w) * 1.55);width:calc(var(--frame-w) * 1.7)}.sp-cloud--medium{--drift:-34px;--drift-s:40s;top:calc(var(--stage-top) + var(--frame-h) * .1);left:calc(50% + var(--frame-w) * .3);width:calc(var(--frame-w) * 1.25)}@keyframes spCloudDrift{0%{transform:translate(0)}to{transform:translateX(var(--drift))}}@media (prefers-reduced-motion:reduce){.sp-cloud{animation:none}}.sp-hero__orbit{top:calc(var(--stage-top) - var(--frame-h) * .2);width:calc(var(--frame-w) * 1.5);height:calc(var(--frame-h) * .65);touch-action:pan-y;position:absolute;left:50%;transform:translate(-50%)}.sp-hero__orbit canvas{will-change:transform;width:100%;height:100%;display:block}.sp-hero__stage{top:var(--stage-top);width:var(--frame-w);height:var(--frame-h);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.sp-hero__clip{object-fit:contain;opacity:0;width:100%;height:100%;position:absolute;inset:0}.sp-hero[data-state=walk] [data-clip=walk],.sp-hero[data-state=lift] [data-clip=lift],.sp-hero[data-state=lotus] [data-clip=lotus],.sp-hero:not([data-state]) [data-clip=lotus],html.sp-loading .sp-hero:not([data-state]) [data-clip=walk]{opacity:1}html.sp-loading .sp-hero:not([data-state]) [data-clip=lotus]{opacity:0}.sp-loader{top:calc(var(--stage-top) + var(--frame-h) * .925);opacity:0;visibility:hidden;transition:opacity .5s var(--sp-ease), visibility 0s linear .5s;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}html.sp-loading .sp-hero:not([data-state=lift]):not([data-state=lotus]) .sp-loader{opacity:1;visibility:visible;transition:opacity .3s var(--sp-ease)}.sp-loader__pct{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:500;line-height:36px}.sp-loader__bar{background:#dce3ea;border-radius:1px;width:180px;height:2px;overflow:hidden}.sp-loader__fill{background:var(--color-foreground);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.sp-loader__msg{color:var(--color-muted);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;letter-spacing:0;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:20px}.sp-loader__status,.sp-about__title,.sp-featured__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sp-hero .sp-intro{text-align:center;align-items:center;padding-block:0 72px;position:relative}.sp-hero .sp-current{justify-content:center}html.sp-loading,html.sp-loading body{overflow:hidden}html.sp-loading .site-header,html.sp-loading .sp-hero .sp-intro,html.sp-loading .sp-home>:not(.sp-hero),html.sp-loading .site-footer{opacity:0;pointer-events:none}html[data-hero] [data-reveal]{opacity:0;transform:translateY(16px)}html[data-hero] [data-reveal].is-in{opacity:1;transition:opacity .7s var(--sp-ease), transform .8s var(--sp-ease);transition-delay:var(--d,0s);transform:none}.sp-word{opacity:0;filter:blur(6px)}.sp-word.is-in{opacity:1;filter:blur();transition:opacity .6s var(--sp-ease), filter .7s var(--sp-ease);transition-delay:var(--d,0s)}@media (width<=760px){.sp-hero{--frame-h:clamp(340px, calc((100svh - 200px) / 1.135), 680px);padding-top:calc(var(--stage-top) + var(--frame-h) * .58)}.sp-hero .sp-intro{text-align:left;align-items:flex-start;padding-bottom:48px}.sp-hero .sp-current{justify-content:flex-start}.sp-cloud--small{left:calc(50% - var(--frame-w) * .95)}.sp-cloud--large{left:calc(50% - var(--frame-w) * .85)}.sp-cloud--medium{left:calc(50% + var(--frame-w) * .05)}}.sp-cases{flex-direction:column;gap:56px;display:flex}.sp-cases__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sp-case{flex-direction:column;gap:20px;display:flex}.sp-case--lead .sp-media{aspect-ratio:1360/760}.sp-cases__pair .sp-media{aspect-ratio:672/520}.sp-case__caption{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.sp-case__caption--stacked{flex-direction:column;gap:6px}.sp-case__text{flex-direction:column;gap:6px;min-width:0;display:flex}.sp-case__row{justify-content:space-between;align-items:baseline;gap:16px;width:100%;display:flex}.sp-case__title{letter-spacing:-.01em;font-size:28px;font-weight:500;line-height:34px}.sp-case__blurb{color:var(--color-muted);font-size:16px;line-height:24px}.sp-case__year{color:var(--color-muted);flex-shrink:0;font-size:14px;line-height:20px}.sp-case:hover .sp-case__title,.sp-thumb:hover .sp-thumb__label,.sp-tile:hover .sp-built__title,.sp-tile:hover .sp-grid__title,.sp-note:hover .sp-note__title,.sp-post:hover .sp-post__title{color:var(--color-link)}.sp-built{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.sp-built__tile{flex-direction:column;gap:14px;display:flex}.sp-built__tile .sp-media{aspect-ratio:443/420}.sp-built__text{flex-direction:column;gap:4px;display:flex}.sp-built__title{font-size:20px;font-weight:500;line-height:26px}.sp-built__blurb{color:var(--color-muted);font-size:15px;line-height:22px}.sp-thumbs{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.sp-thumb{flex-direction:column;gap:10px;display:flex}.sp-thumb .sp-media{aspect-ratio:213/220}.sp-thumb__label{font-size:15px;line-height:20px}.sp-page .sp-more-link{color:var(--color-link);align-self:flex-start;font-size:16px;font-weight:500;line-height:24px}.sp-page .sp-more-link:hover{color:var(--color-foreground)}.sp-notes{border-top:1px solid var(--color-foreground);flex-direction:column;width:100%;display:flex}.sp-note{border-bottom:1px solid var(--color-rule);align-items:center;gap:24px;padding-block:16px;display:flex}.sp-note__thumb{border-radius:var(--sp-radius);background:var(--cover-ground,var(--color-surface));flex-shrink:0;width:128px;height:80px;display:block;overflow:hidden}.sp-note__thumb,.sp-post__thumb,.article .article-card__media,.article .article-cover{outline:1px solid var(--color-rule);outline-offset:-1px}.sp-note__thumb img,.sp-post__thumb img{object-fit:contain;width:100%;height:100%}.sp-note__title{flex:1;min-width:0;font-size:20px;line-height:28px}.sp-note__date{width:80px;color:var(--color-muted);text-align:right;flex-shrink:0;font-size:14px;line-height:20px}.sp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 16px;display:grid}.sp-grid__tile{flex-direction:column;gap:14px;display:flex}.sp-grid__tile .sp-media{aspect-ratio:4/3}.sp-grid__caption{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.sp-grid__title{min-width:0;font-size:20px;font-weight:500;line-height:26px}.sp-grid__tag{color:var(--color-muted);flex-shrink:0;font-size:14px;line-height:20px}.sp-grid__tag[data-kind=prototype],.sp-grid__tag[data-kind=app]{color:var(--color-live);font-weight:500}.sp-post-list{border-top:1px solid var(--color-foreground);flex-direction:column;width:100%;display:flex}.sp-post{border-bottom:1px solid var(--color-rule);align-items:center;gap:32px;padding-block:24px;display:flex}.sp-post__thumb{border-radius:var(--sp-radius);background:var(--cover-ground,var(--color-surface));flex-shrink:0;width:240px;height:150px;display:block;overflow:hidden}.sp-post__text{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.sp-post__date{color:var(--color-muted);font-size:14px;line-height:20px}.sp-post__kind{color:var(--color-foreground)}.sp-post__title{letter-spacing:-.01em;font-size:24px;font-weight:500;line-height:30px}.sp-post__summary{color:var(--color-muted);font-size:16px;line-height:24px}.sp-about__hero{align-items:flex-start;gap:var(--case-gap);padding-block:64px 0;display:flex}.sp-about__intro{flex-direction:column;flex:1;gap:48px;min-width:0;display:flex}.sp-thing{text-decoration:underline dotted;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.16em;transition:text-decoration-color .16s var(--ease-out);text-decoration-thickness:1px}@media (hover:hover){.sp-thing:hover{text-decoration-style:solid;text-decoration-color:currentColor}}.sp-about__portrait{--box-h:calc((min(100vw, var(--sp-max)) - 2 * var(--sp-gutter) - var(--case-gap)) / 2 / .9);--frame-h:calc(var(--box-h) / .25);flex:0 0 calc(50% - var(--case-gap) / 2);max-width:calc(var(--box-h) * 1.3);height:var(--box-h);border-radius:var(--sp-radius);background:linear-gradient(#c6e1f9 0%,#e6f2fd 70%,#f4f9ff 100%);position:relative;overflow:hidden;container-type:inline-size}.sp-about__cloud{opacity:.95;user-select:none;max-width:none;height:auto;animation:spAboutCloud var(--cloud-s) linear infinite;animation-delay:var(--cloud-start);will-change:transform;position:absolute;left:100%}.sp-about__cloud--a{--cloud-s:97s;--cloud-start:-41s;--cloud-bob:10px;width:150%;top:52%}.sp-about__cloud--b{--cloud-s:71s;--cloud-start:-9s;--cloud-bob:-8px;opacity:.85;width:85%;top:14%}.sp-about__cloud--c{--cloud-s:131s;--cloud-start:-88s;--cloud-bob:6px;opacity:.8;width:55%;top:33%}@keyframes spAboutCloud{0%{transform:translate(0)}50%{transform:translate(calc(-50% - 50cqw), var(--cloud-bob))}to{transform:translate(calc(-100% - 100cqw))}}@media (prefers-reduced-motion:reduce){.sp-about__cloud{animation:none;left:10%}}.sp-about__frame{top:calc(var(--frame-h) * -.02);left:calc(50% - var(--frame-h) * 9 / 32 + var(--frame-h) * .006);width:calc(var(--frame-h) * 9 / 16);height:var(--frame-h);position:absolute}.sp-about__body,.sp-about__head,.sp-about__glow,.sp-about__blink,.sp-about__lean{user-select:none;max-width:none;position:absolute}.sp-about__glow{opacity:0;transition:opacity .7s var(--ease-in-out)}.sp-about__frame[data-glow] .sp-about__glow{opacity:1;transition:none}.sp-about__blink,.sp-about__frame[data-blink] .sp-about__head{visibility:hidden}.sp-about__frame[data-blink=half] .sp-about__blink[data-eyes=half],.sp-about__frame[data-blink=closed] .sp-about__blink[data-eyes=closed]{visibility:visible}.sp-about__lean{opacity:0;pointer-events:none;transition:opacity .2s linear}.sp-about__lean.is-on{opacity:1}.sp-about__frame.is-leaning .sp-about__head,.sp-about__frame.is-leaning .sp-about__glow,.sp-about__frame.is-leaning .sp-about__blink{visibility:hidden}.sp-about__orbit{touch-action:pan-y;position:absolute;inset:0}.sp-about__orbit canvas{width:100%;height:100%;display:block}.sp-about .sp-timeline{padding-top:112px}.sp-about__more{gap:var(--case-gap);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:96px;display:grid}.sp-about__column{flex-direction:column;gap:16px;display:flex}.sp-about__more .sp-about__column{padding-right:24px}.sp-about__column h2{letter-spacing:-.01em;font-size:24px;line-height:30px}.sp-about__column p{font-size:18px;line-height:28px}.sp-facts{border-top:1px solid var(--color-foreground);font-size:16px;line-height:24px}.sp-facts>div{border-bottom:1px solid var(--color-rule);gap:24px;padding-block:16px;display:flex}.sp-facts dt{width:140px;color:var(--color-muted);flex-shrink:0}.sp-facts dd{min-width:0}.sp-facts__item{white-space:nowrap}.sp-facts__links,.sp-page .sp-facts__links a{color:var(--color-link)}.sp-page .sp-facts__links a:hover{color:var(--color-foreground)}.sp-timeline{gap:24px;padding-top:140px}.sp-timeline .activity-heatmap{margin-top:0}.sp-timeline .heatmap-header,.sp-pointer-coarse{display:none}@media (hover:none) and (pointer:coarse){.sp-pointer-fine{display:none}.sp-pointer-coarse{display:inline}}@media (width<=1100px){.sp-about__hero{flex-direction:column;gap:40px}.sp-about__portrait{--box-h:calc((min(100vw, var(--sp-max)) - 2 * var(--sp-gutter)) / 1.3);flex:none;width:100%}.sp-about__more{grid-template-columns:minmax(0,1fr);gap:48px}.sp-about__more .sp-about__column{padding-right:0}.sp-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}.sp-page .sp-intro__lede{font-size:36px;line-height:44px}.sp-intro{padding-block:96px}}@media (width<=760px){.site-header__nav{gap:16px;font-size:15px}@media (width<=360px){.site-header{flex-wrap:wrap;row-gap:4px}.site-header__nav{gap:14px}}.site-footer{flex-direction:column;align-items:flex-start;padding-top:120px}.site-footer__email{font-size:24px;line-height:30px}.sp-page-title{padding-top:56px;padding-bottom:40px}.sp-page-title h1{font-size:40px;line-height:44px}.sp-page-title p{font-size:16px;line-height:24px}.sp-section{gap:24px;padding-top:104px}.sp-section__head h2{font-size:32px;line-height:38px}.sp-intro{gap:24px;padding-top:56px;padding-bottom:64px}.sp-page .sp-intro__lede{font-size:28px;line-height:34px}.sp-current{align-items:flex-start;font-size:15px;line-height:22px}.sp-cases{gap:48px}.sp-cases__pair{grid-template-columns:1fr;gap:48px}.sp-case--lead .sp-media{aspect-ratio:358/240}.sp-cases__pair .sp-media{aspect-ratio:358/280}.sp-case__title{font-size:24px;line-height:30px}.sp-case__blurb{font-size:15px;line-height:22px}.sp-built{grid-template-columns:1fr;gap:28px}.sp-built__tile .sp-media{aspect-ratio:358/240}.sp-pill{top:14px;left:14px}.sp-built__title{font-size:17px;line-height:22px}.sp-built__blurb{font-size:14px;line-height:20px}.sp-thumbs{gap:20px 12px}.sp-thumb .sp-media{aspect-ratio:1}.sp-note{flex-direction:column;align-items:flex-start;gap:10px;padding-block:20px}.sp-note__thumb{width:100%;height:180px}.sp-note__title{flex:none;font-size:17px;line-height:24px}.sp-note__date{text-align:left;width:auto}.sp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sp-grid__tile{gap:8px}.sp-grid__caption{flex-direction:column;align-items:flex-start;gap:2px}.sp-grid__title{font-size:16px;line-height:22px}.sp-grid__tag{font-size:13px;line-height:18px}.sp-cta{padding:8px 12px;font-size:14px}.sp-post{flex-direction:column;align-items:stretch;gap:12px}.sp-post__thumb{width:100%;height:200px}.sp-post__title{font-size:20px;line-height:26px}.sp-post__summary{font-size:15px;line-height:22px}.sp-about__hero{gap:28px;padding-top:32px}.sp-about__portrait{--box-h:420px}.sp-about__intro{gap:32px}.sp-about .sp-timeline{padding-top:72px}.sp-about__more{gap:32px;padding-top:72px}.sp-about__column h2{font-size:20px;line-height:26px}.sp-about__column p{font-size:16px;line-height:26px}.sp-facts>div{gap:12px}.sp-facts dt{width:96px}.sp-timeline{gap:16px;padding-top:96px}.sp-timeline .sp-section__head p{font-size:15px;line-height:24px}}article.case-study{--case-measure:720px;width:100%;max-width:var(--sp-max);padding:0 var(--sp-gutter);color:var(--color-foreground);font-family:var(--font-body);margin:0 auto}article.case-study>*+*{margin-top:0}.case-study .case-hero{flex-direction:column;gap:20px;margin:0;padding:96px 0 48px;display:flex}.case-study .case-hero h1{max-width:none;color:var(--color-foreground);font-family:var(--font-body);letter-spacing:-.025em;text-wrap:balance;font-size:88px;font-weight:500;line-height:92px}.case-study .case-hero__summary{max-width:var(--case-measure);color:var(--color-muted);font-size:24px;line-height:32px}.case-study .case-meta{border-top:1px solid var(--color-foreground);gap:16px;margin:0;padding:16px 0 40px;display:flex}.case-study .case-meta>div{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.case-study .case-meta dt{color:var(--color-muted);letter-spacing:0;text-transform:none;font-size:14px;font-weight:400;line-height:20px}.case-study .case-meta dd{margin:0;font-size:16px;line-height:24px}.case-study .case-meta__links,.case-study .case-meta__links a{color:var(--color-link)}.case-study .case-meta__links a:hover{color:var(--color-foreground)}.case-study .case-meta__links a:after{content:none}.case-study .case-cover{border-radius:var(--sp-radius);margin:0;overflow:hidden}.case-study .case-cover img,.case-study .case-cover video{width:100%;height:auto;display:block}.case-study .case-cover[data-fit=logo]{aspect-ratio:16/9;background:var(--color-foreground);justify-content:center;align-items:center;display:flex}.case-study .case-cover[data-fit=logo] img{background:0 0;width:min(40%,520px);padding:0}.prototype-frame{--prototype-cream:#f3efe6;border-radius:var(--sp-radius);background:var(--prototype-cream);flex-direction:column;gap:16px;margin:0;padding:24px;display:flex}.prototype-frame__stage{aspect-ratio:16/10;border-radius:var(--sp-radius);background:#0b0b10;position:relative;overflow:hidden}.prototype-frame__poster,.prototype-frame__stage>iframe{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.prototype-frame__poster{object-fit:cover}.prototype-frame__stage>iframe{opacity:0;transition:opacity .5s}.prototype-frame__stage.is-loaded>iframe{opacity:1}.prototype-frame__stage[data-scaled]>iframe{width:calc(100% / var(--demo-scale));height:calc(100% / var(--demo-scale));transform:scale(var(--demo-scale));transform-origin:0 0}.prototype-frame__hint{color:var(--color-muted);display:none}@media (prefers-reduced-motion:reduce){.prototype-frame__stage>iframe{transition:none}}.prototype-frame__bar{flex-wrap:wrap;align-items:center;gap:12px 16px;font-size:15px;line-height:22px;display:flex}.prototype-frame__bar .sp-pill{position:static}.prototype-frame__note{color:var(--color-muted);flex:320px}.prototype-frame__open{color:var(--color-link);white-space:nowrap;font-weight:500}.prototype-frame__open:hover{color:var(--color-foreground)}.prototype-frame__open:after{content:none}@media (width<=760px){.prototype-frame{gap:12px;padding:12px}.prototype-frame__hint{flex-basis:100%;display:block}}.case-study .case-body{max-width:none;color:var(--color-foreground);font-family:var(--font-body);flex-direction:column;align-items:flex-start;margin:0;padding-top:96px;font-size:18px;line-height:28px;display:flex}.case-study .case-body>*{margin:0}.case-study .case-body>*+*{margin-top:20px}.case-study .case-body>p,.case-study .mr__head>p,.case-study .case-body>ul,.case-study .case-body>ol,.case-study .case-body>blockquote,.case-study .case-body>h3,.case-study .case-body>h4,.case-study .case-body>h5,.case-study .case-body>h6,.case-study .case-body>.case-columns{width:100%;max-width:var(--case-measure)}.case-study .case-body>p:first-child{letter-spacing:-.01em;font-size:26px;font-weight:500;line-height:36px}.case-study .case-body>ul,.case-study .case-body>ol{padding-left:20px;list-style:outside}.case-study .case-body>ol{list-style:decimal}.case-study .case-body li+li{margin-top:6px}.case-study .case-body>blockquote{border-left:2px solid var(--color-foreground);color:var(--color-foreground);margin-top:48px;padding:4px 0 4px 20px;font-size:22px;font-style:normal;font-weight:500;line-height:32px}.case-study .case-body>h2,.case-study .mr__head>h2{max-width:none;color:var(--color-foreground);letter-spacing:-.015em;overflow-wrap:normal;text-transform:none;text-wrap:balance;margin-top:120px;font-size:40px;font-weight:500;line-height:46px}.case-study .case-body>h3,.case-study .case-body>h4,.case-study .case-body>h5,.case-study .case-body>h6{color:var(--color-foreground);letter-spacing:-.01em;text-transform:none;margin-top:56px;margin-bottom:0;font-size:26px;font-weight:500;line-height:32px}.case-study .case-body>h4,.case-study .case-body>h5,.case-study .case-body>h6{font-size:20px;line-height:26px}.case-study .case-body>h2+*,.case-study .case-body>h3+*{margin-top:20px}.case-study .mr__head>h2{margin-top:0}.case-study .case-body>h2+h3{margin-top:32px}.case-study .case-body>hr{width:100%;margin:96px 0 0!important}.case-study .case-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;display:grid;max-width:calc(var(--case-measure) * 1.4)!important}.case-study .case-columns>div>*+*{margin-top:12px}.case-study .case-columns ul{padding-left:20px;list-style:outside}.case-study .case-body>.case-group,.case-study .case-body>.case-split,.case-study .case-body>:is(.prototype-frame,macbook-reveal[mode=demo]){width:100%}.case-study .case-body>*+:is(.prototype-frame,macbook-reveal[mode=demo]){margin-top:48px}.case-study .case-body>:is(.prototype-frame,macbook-reveal[mode=demo])+.case-group{margin-top:var(--case-gap)}.case-study .case-body>:is(.prototype-frame,macbook-reveal[mode=demo])+:not(.case-group,.case-split,h2){margin-top:48px}.case-study .case-body>:is(.prototype-frame,macbook-reveal[mode=demo])+h2{margin-top:120px}.case-study .case-body>*+.case-group,.case-study .case-body>*+.case-split{margin-top:48px}.case-study .case-body>.case-group+.case-group{margin-top:var(--case-gap)}.case-study .case-body>.case-split+.case-split{margin-top:64px}.case-study .case-body>.case-group+:not(.case-group,.case-split,h2),.case-study .case-body>.case-split+:not(.case-group,.case-split,h2){margin-top:48px}.case-study .case-body>.case-group+h2,.case-study .case-body>.case-split+h2{margin-top:120px}.case-study .case-body>:where(h2,h3)+:where(.case-group,.case-tiles,.case-split){margin-top:24px}.case-study .case-group{gap:var(--case-gap);flex-direction:column;display:flex}.case-study .case-row{align-items:flex-start;gap:var(--case-gap);display:flex}.case-study .case-item{flex:var(--ratio) 1 0%;flex-direction:column;gap:10px;min-width:0;margin:0;display:flex}.case-study .case-item>img,.case-study .case-item>video,.case-study .case-item>a>img,.case-study .case-item>iframe{width:100%;height:auto;aspect-ratio:var(--ratio);object-fit:contain;background:0 0;border-radius:0;margin:0;display:block}.case-study .case-item>picture>img{width:100%;height:auto}.case-study .case-item figcaption{max-width:64ch;color:var(--color-muted);font-size:13px;line-height:18px}.case-study .case-frame{background:var(--case-frame-ground,#eceae4);border-radius:0;padding:clamp(20px,5%,72px);overflow:hidden}.case-study .case-frame[data-frame=corner]{padding-top:0;padding-right:0}.case-study[data-project=kitana]{--case-frame-ground:#161616}.case-study .case-frame>img,.case-study .case-frame>video{width:100%;height:auto;aspect-ratio:var(--ratio);border-radius:8px;display:block;box-shadow:0 1px 2px #0000000f,0 12px 32px #00000014}.case-study .case-frame[data-frame=corner]>img,.case-study .case-frame[data-frame=corner]>video{border-radius:0 0 0 8px}.case-study .case-frame[data-frame=place]{aspect-ratio:var(--fw) / var(--fh);background:var(--ground,transparent);padding:0;position:relative;container-type:inline-size}.case-study .case-frame[data-frame=place]>img,.case-study .case-frame[data-frame=place]>video{top:calc(var(--y,0) / var(--fh) * 100%);left:calc(var(--x,0) / var(--fw) * 100%);width:calc(var(--w,var(--fw)) / var(--fw) * 100%);max-width:none;height:calc(var(--h,var(--fh)) / var(--fh) * 100%);aspect-ratio:auto;object-fit:cover;border-radius:calc(var(--r,0) / var(--fw) * 100cqw);box-shadow:none;margin:0;position:absolute}.case-study .case-split{align-items:flex-start;gap:var(--case-gap);display:flex}.case-study .case-split__media{flex:0 0 calc(50% - var(--case-gap) / 2)}.case-study .case-split__text{flex-direction:column;flex:1 1 0;gap:14px;min-width:0;max-width:616px;display:flex}.case-study .case-split__text>*{max-width:none;margin:0}.case-study .case-split__text h3{color:var(--color-foreground);letter-spacing:-.015em;text-transform:none;font-size:32px;font-weight:500;line-height:38px}.case-study .case-split__text>p~p{color:var(--color-muted)}.case-study .case-body>.case-tiles{gap:64px var(--case-gap);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.case-study .case-body>*+.case-tiles{margin-top:48px}.case-study .case-body>.case-tiles+h2{margin-top:120px}.case-study .case-tiles>.case-split{flex-direction:column;align-items:stretch;gap:16px}.case-study .case-tiles .case-split__media{flex:none;width:100%}.case-study .case-tiles .case-item>img,.case-study .case-tiles .case-item>video{aspect-ratio:1;object-fit:cover}.case-study .case-body>.case-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.case-study .case-actions .case-button{border:1px solid var(--color-foreground);color:var(--color-foreground);transition:background-color .16s var(--sp-ease), border-color .16s var(--sp-ease), color .16s var(--sp-ease);border-radius:999px;align-items:center;padding:11px 17px;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;display:inline-flex}.case-study .case-actions .case-button--primary{background:var(--color-foreground);color:var(--color-background)}.case-study .case-actions .case-button:hover{border-color:var(--color-link);color:var(--color-link)}.case-study .case-actions .case-button--primary:hover{background:var(--color-link);color:var(--color-background)}.case-study .case-actions a:after{content:none}.case-study .case-body>.case-credits{gap:16px;width:100%;max-width:none;margin-top:96px;display:flex}.case-study .case-credits>div{border-top:1px solid var(--color-foreground);flex-direction:column;flex:1 1 0;gap:8px;min-width:0;padding-top:16px;display:flex}.case-study .case-credits p{max-width:none;margin:0;font-size:16px;line-height:24px}.case-study .case-credits .case-credits__label{color:var(--color-muted);font-size:14px;line-height:20px}.case-study .case-credits a{color:inherit}.case-study .case-credits a:hover{color:var(--color-link)}.case-study .case-credits a:after{content:none}.case-study .case-study__outcomes{border-top:1px solid var(--color-foreground);flex-direction:column;gap:20px;margin:120px 0 0;padding-top:16px;display:flex}.case-study .case-study__outcomes h2{letter-spacing:-.015em;text-transform:none;margin:0;font-size:40px;font-weight:500;line-height:46px}.case-study .case-study__outcomes ul{max-width:var(--case-measure);flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:18px;line-height:28px;list-style:outside;display:flex}.case-study .case-body>p.case-muted{color:var(--color-muted)}.case-study .case-body>p.case-note{font-size:16px;line-height:24px}.case-study .case-item>picture{width:100%;display:block}.case-study .case-item>picture>img{background:0 0;border-radius:0;width:100%;height:auto;margin:0;display:block}.case-study .case-device{--_fw:var(--fw);--_fh:var(--fh);--_ix:var(--ix,0);--_iy:var(--iy,0);--_iw:var(--iw,var(--fw));--_ih:var(--ih,var(--fh));--_sx:var(--sx);--_sy:var(--sy);--_sw:var(--sw);--_sh:var(--sh);aspect-ratio:var(--_fw) / var(--_fh);background:var(--ground,transparent);position:relative;overflow:hidden;container-type:inline-size}.case-study .case-device>.case-device__photo,.case-study .case-device>.case-device__fg{top:calc(var(--_iy) / var(--_fh) * 100%);left:calc(var(--_ix) / var(--_fw) * 100%);width:calc(var(--_iw) / var(--_fw) * 100%);max-width:none;height:calc(var(--_ih) / var(--_fh) * 100%);aspect-ratio:auto;object-fit:fill;margin:0;position:absolute}.case-study .case-device>.case-device__fg{pointer-events:none}.case-study .case-device>.case-device__screen{top:calc(var(--_sy) / var(--_fh) * 100%);left:calc(var(--_sx) / var(--_fw) * 100%);width:calc(var(--_sw) / var(--_fw) * 100%);height:calc(var(--_sh) / var(--_fh) * 100%);border-radius:calc(var(--sr,0) / var(--_fw) * 100cqw);background:var(--sb,#000);position:absolute;overflow:hidden}.case-study .case-device__screen>video{object-fit:contain;background:0 0;border-radius:0;width:100%;height:100%;margin:0;display:block}.case-study .case-body>.case-results{flex-direction:column;gap:56px;width:100%;max-width:none;display:flex}.case-study .case-body>*+.case-results{margin-top:36px}.case-study .case-body>.case-results+*{margin-top:80px}.case-study .case-results p{max-width:none;margin:0}.case-study .case-results__phase{border-top:1px solid var(--color-foreground);grid-template-columns:280px repeat(4,minmax(0,250px));gap:20px;padding-top:24px;display:grid}.case-study .case-results__head{flex-direction:column;gap:6px;display:flex}.case-study .case-results__tag{color:#3e8e1f;letter-spacing:.04em;align-items:center;gap:10px;font-size:14px;font-weight:500;line-height:20px;display:flex}.case-study .case-results__tag:before{content:"";background:#56bc2f;border-radius:50%;flex:0 0 10px;height:10px}.case-study .case-results__title{letter-spacing:-.01em;font-size:22px;font-weight:500;line-height:28px}.case-study .case-results__stat{flex-direction:column;gap:10px;min-width:0;display:flex}.case-study .case-results__value{letter-spacing:-.03em;white-space:nowrap;font-size:64px;font-weight:500;line-height:68px}.case-study .case-results__label{font-size:16px;line-height:24px}.case-study .case-results__note{color:var(--color-muted);font-size:14px;line-height:20px}@media (width<=1100px){.case-study .case-results__phase{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study .case-results__head{grid-column:1/-1}.case-study .case-results__value{font-size:48px;line-height:52px}}@media (width<=760px){.case-study .case-device{--_fw:var(--m-fw,var(--fw));--_fh:var(--m-fh,var(--fh));--_ix:var(--m-ix,var(--ix,0));--_iy:var(--m-iy,var(--iy,0));--_sx:var(--m-sx,var(--sx));--_sy:var(--m-sy,var(--sy))}.case-study .case-body>p.case-note{font-size:14px;line-height:20px}.case-study .case-body>.case-results{gap:40px}.case-study .case-body>*+.case-results{margin-top:32px}.case-study .case-body>.case-results+*{margin-top:56px}.case-study .case-results__phase{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding-top:20px}.case-study .case-results__title{font-size:20px;line-height:26px}.case-study .case-results__value{letter-spacing:-.025em;font-size:40px;line-height:44px}.case-study .case-results__stat{gap:6px}.case-study .case-results__label{font-size:15px;line-height:22px}}.case-study .case-next{color:var(--color-foreground);justify-content:space-between;align-items:flex-end;gap:16px;padding-top:140px;text-decoration:none;display:flex}.case-study .case-next__text{flex-direction:column;gap:8px;min-width:0;display:flex}.case-study .case-next__label{color:var(--color-muted);font-size:16px;line-height:24px}.case-study .case-next__title{letter-spacing:-.02em;transition:color .16s var(--sp-ease);font-size:64px;font-weight:500;line-height:68px}.case-study .case-next__title .chevron{position:relative;top:.15em}.case-study .case-next__media{flex:0 0 442px}.case-study .case-next__media .sp-media{aspect-ratio:442/280}.case-study .case-next:hover .case-next__title{color:var(--color-link)}.case-study .case-next:focus-visible{outline:none}.case-study .case-next:focus-visible .sp-media{outline:2px solid var(--color-link);outline-offset:4px}@media (width<=1100px){.case-study .case-hero h1{font-size:72px;line-height:76px}.case-study .case-next__media{flex-basis:40%}.case-study .case-next__title{font-size:48px;line-height:52px}}@media (width<=760px){article.case-study{--case-gap:10px}.case-study .case-hero{gap:12px;padding:48px 0 32px}.case-study .case-hero h1{font-size:48px;line-height:52px}.case-study .case-hero__summary{font-size:18px;line-height:26px}.case-study .case-meta{flex-wrap:wrap;padding-bottom:32px}.case-study .case-meta>div{flex:0 0 calc(50% - 8px)}.case-study .case-meta__links{font-size:15px}.case-study .case-body{padding-top:56px;font-size:16px;line-height:26px}.case-study .case-body>p:first-child{font-size:20px;line-height:28px}.case-study .case-body>h2,.case-study .mr__head>h2,.case-study .case-body>.case-group+h2,.case-study .case-body>.case-split+h2{margin-top:80px;font-size:28px;line-height:34px}.case-study .case-body>h2+*{margin-top:32px}.case-study .case-body>h3,.case-study .case-body>h4,.case-study .case-body>h5,.case-study .case-body>h6{margin-top:40px;font-size:22px;line-height:28px}.case-study .case-body>blockquote{font-size:19px;line-height:28px}.case-study .case-body>hr{margin-top:64px!important}.case-study .case-columns{grid-template-columns:1fr}.case-study .case-body>*+.case-group,.case-study .case-body>*+.case-split{margin-top:32px}.case-study .case-body>.case-group+.case-group{margin-top:var(--case-gap)}.case-study .case-body>.case-split+.case-split{margin-top:48px}.case-study .case-body>.case-group+:not(.case-group,.case-split,h2),.case-study .case-body>.case-split+:not(.case-group,.case-split,h2){margin-top:32px}.case-study .case-row[data-stack=phone]{flex-direction:column}.case-study .case-row[data-stack=phone] .case-item{flex:none;width:100%}.case-study .case-split{flex-direction:column;align-items:stretch;gap:16px}.case-study .case-split__media{flex:none;width:100%}.case-study .case-split__text{gap:8px;max-width:none;padding-left:0}.case-study .case-split__text h3{letter-spacing:0;font-size:22px;line-height:28px}.case-study .case-split__text p{font-size:16px;line-height:25px}.case-study .case-body>.case-tiles{grid-template-columns:1fr;gap:48px}.case-study .case-body>*+.case-tiles{margin-top:32px}.case-study .case-body>.case-tiles+h2{margin-top:80px;font-size:28px;line-height:34px}.case-study .case-body>.case-credits{flex-direction:column;gap:24px;margin-top:64px}.case-study .case-study__outcomes{margin-top:80px}.case-study .case-study__outcomes h2{font-size:28px;line-height:34px}.case-study .case-next{flex-direction:column-reverse;align-items:stretch;padding-top:96px}.case-study .case-next__media{flex:none;width:100%}.case-study .case-next__media .sp-media{aspect-ratio:358/220}.case-study .case-next__title{font-size:40px;line-height:44px}}article.article{--article-third:calc((100% - 2 * var(--case-gap)) / 3);width:100%;max-width:var(--sp-max);padding:0 var(--sp-gutter);color:var(--color-foreground);font-family:var(--font-body);margin:0 auto}article.article>*+*{margin-top:0}.article .article-hero{flex-direction:column;gap:24px;margin:0;padding:72px 0 40px;display:flex}.article .article-hero__back{color:var(--color-muted);align-self:flex-start;align-items:center;gap:2px;font-size:15px;line-height:20px;display:inline-flex}.article .article-hero__back:hover{color:var(--color-link)}.article .article-hero__back .chevron{margin-left:-.35em}.article .article-hero h1{max-width:1100px;color:var(--color-foreground);font-family:var(--font-body);letter-spacing:-.025em;text-wrap:balance;font-size:72px;font-weight:500;line-height:76px}.article .article-hero__summary{max-width:820px;color:var(--color-muted);font-size:24px;line-height:34px}.article .article-meta{gap:var(--case-gap);border-top:1px solid var(--color-foreground);margin:0;padding:16px 0 40px;display:flex}.article .article-meta>div{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.article .article-meta>div:first-child{flex:0 0 var(--article-third)}.article .article-meta dt{color:var(--color-muted);letter-spacing:0;text-transform:none;font-size:14px;font-weight:400;line-height:20px}.article .article-meta dd{margin:0;font-size:16px;line-height:24px}.article .article-meta__link{color:var(--color-link)}.article .article-meta__link:hover{color:var(--color-foreground)}.article .article-meta__link:after{content:none}.article .article-cover{aspect-ratio:1360/640;border-radius:var(--sp-radius);background:var(--cover-ground,var(--color-surface));justify-content:center;align-items:center;display:flex;overflow:hidden}.article .article-cover img{object-fit:contain;width:100%;height:100%;display:block}.article .article-layout{grid-template-columns:var(--article-third) minmax(0, 1fr);column-gap:var(--case-gap);align-items:start;padding-top:96px;display:grid}.article .article-layout:not([data-has-toc])>.article-body{grid-column:2}.article-aside{top:calc(var(--site-header-h) + 24px);z-index:5;min-width:0;max-height:calc(100vh - var(--site-header-h) - 48px);flex-direction:column;align-items:flex-start;gap:32px;display:flex;position:sticky}.article-toc{--toc-open:0;--toc-text:0px;z-index:1;border-radius:var(--sp-radius);width:max-content;max-width:100%;transition:background-color .16s var(--sp-ease), box-shadow .16s var(--sp-ease);background:0 0;justify-self:start;margin:-8px 0 0 -8px;padding:8px;font-size:14px;line-height:20px;position:relative}.article-toc[data-open],.article-toc:has(:focus-visible){--toc-open:1;--toc-text:100%}@media (hover:hover) and (pointer:fine){.article-toc:hover{--toc-open:1;--toc-text:100%}}.article-toc__toggle{max-height:calc(var(--toc-open) * 28px);margin:0 0 calc(var(--toc-open) * 8px);color:var(--color-muted);font:inherit;white-space:nowrap;cursor:pointer;opacity:var(--toc-open);transition:opacity .16s var(--sp-ease);background:0 0;border:0;padding:0;display:block;overflow:hidden}.article-toc__toggle:focus-visible{outline-offset:2px}.article-toc__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.article-toc__list a{align-items:flex-start;gap:calc(var(--toc-open) * 12px);min-width:0;color:var(--color-muted);padding-block:3px;text-decoration:none;display:flex}.article-toc__list a:focus-visible{outline-offset:2px}.article-toc__line{flex:0 0 32px;height:20px;position:relative}.article-toc__line:before{content:"";width:22px;height:2px;transition:width .2s var(--sp-ease), background-color .16s var(--sp-ease);background:#c9c9c4;border-radius:1px;position:absolute;top:9px;left:0}.article-toc__list li[data-depth="3"] .article-toc__line:before{width:12px;left:8px}.article-toc__text{min-width:0;max-width:var(--toc-text);text-overflow:ellipsis;white-space:nowrap;opacity:var(--toc-open);transition:opacity .16s var(--sp-ease);display:block;overflow:hidden}.article-toc__list a[aria-current]{color:var(--color-foreground);font-weight:500}.article-toc__list a[aria-current] .article-toc__line:before{background:var(--color-foreground);width:32px}.article-toc__list li[data-depth="3"] a[aria-current] .article-toc__line:before{width:22px}.article-toc__list a:hover{color:var(--color-foreground)}.article-toc__list a:hover .article-toc__line:before{background:var(--color-foreground)}@media (prefers-reduced-motion:reduce){.article-toc,.article-toc__toggle,.article-toc__text,.article-toc__line:before{transition:none}}.article .article-body{min-width:0;color:var(--color-foreground);flex-direction:column;grid-column:2;margin:0;font-size:19px;line-height:31px;display:flex}.article .article-body>*{max-width:none;margin:0}.article .article-body>*+*{margin-top:24px}.article .article-body h2,.article .article-body h3,.article .article-body h4{color:var(--color-foreground);font-family:var(--font-body);text-transform:none;text-wrap:balance;scroll-margin-top:32px;font-weight:500}.article .article-body>h2{letter-spacing:-.015em;margin-top:64px;font-size:32px;line-height:38px}.article .article-body>h3{letter-spacing:-.01em;margin-top:48px;font-size:24px;line-height:30px}.article .article-body>h4{letter-spacing:0;margin-top:40px;font-size:19px;line-height:28px}.article .article-body>:is(h2,h3,h4)+*{margin-top:24px}.article .article-body>h2+h3{margin-top:32px}.article .article-body strong{font-weight:600}.article .article-body a{color:inherit;text-underline-offset:.2em;text-decoration:underline 1px #c9c9c4}.article .article-body a:hover{color:var(--color-link);text-decoration-color:currentColor}.article .article-body a:after{content:none}.article .article-body>ul,.article .article-body>ol{padding-left:22px;list-style:outside}.article .article-body>ol{list-style:decimal}.article .article-body li+li{margin-top:8px}.article .article-body li>ul,.article .article-body li>ol{margin-top:8px;padding-left:22px;list-style:circle}.article .article-body>blockquote{border-left:2px solid var(--color-link);color:var(--color-foreground);letter-spacing:-.01em;padding:16px 0 16px 24px;font-size:30px;font-style:normal;font-weight:500;line-height:38px}.article .article-body>blockquote>*{max-width:none;margin:0}.article .article-body>blockquote>*+*{margin-top:12px}.article .article-body>blockquote:first-child{border-left-color:var(--color-rule);color:var(--color-muted);letter-spacing:0;padding:0 0 0 16px;font-size:16px;font-weight:400;line-height:24px}.article .article-body>.article-figure{flex-direction:column;gap:12px;margin-top:40px;display:flex}.article .article-body>.article-figure+*{margin-top:40px}.article .article-body img,.article .article-body video{border-radius:var(--sp-radius);width:100%;height:auto;display:block}.article .article-figure figcaption{color:var(--color-muted);font-size:14px;line-height:20px}.article .article-body pre{border-radius:var(--sp-radius);background:#f4f4f1;padding:16px;font-size:14px;line-height:22px;overflow-x:auto}.article .article-body pre code{font-size:inherit;background:0 0;padding:0}.article .article-body>hr{border-top-color:var(--color-rule);margin-top:48px}.article .article-body>hr+*{margin-top:48px}.article .article-body table{width:100%;font-size:16px;line-height:24px}.article .article-body>:is(table,pre){max-width:100%}.article .article-body>.article-body__source{border-top:1px solid var(--color-rule);color:var(--color-muted);padding-top:24px;font-size:15px;line-height:22px}.article .article-more{flex-direction:column;gap:32px;padding-top:160px;display:flex}.article .article-more__head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.article .article-more__head h2{color:var(--color-foreground);font-family:var(--font-body);letter-spacing:-.015em;text-transform:none;margin:0;font-size:44px;font-weight:500;line-height:52px}.article .article-more__head a{color:var(--color-link);flex-shrink:0;font-size:16px;font-weight:500;line-height:24px}.article .article-more__head a:hover{color:var(--color-foreground)}.article .article-more__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.article .article-card{color:var(--color-foreground);flex-direction:column;gap:14px;display:flex}.article .article-card__media{aspect-ratio:442/232;border-radius:var(--sp-radius);background:var(--cover-ground,var(--color-surface));display:block;overflow:hidden}.article .article-card__media img{object-fit:contain;width:100%;height:100%;display:block}.article .article-card__date{color:var(--color-muted);font-size:14px;line-height:20px}.article .article-card__title{transition:color .16s var(--sp-ease);font-size:20px;font-weight:500;line-height:26px}.article .article-card:hover .article-card__title{color:var(--color-link)}.article .article-card:focus-visible{outline:none}.article .article-card:focus-visible .article-card__media{outline:2px solid var(--color-link);outline-offset:4px}@media (width<=1100px){.article .article-hero h1{font-size:56px;line-height:60px}.article .article-layout[data-has-toc]{grid-template-columns:40px minmax(0,1fr)}.article .article-layout:not([data-has-toc]){grid-template-columns:minmax(0,1fr)}.article .article-layout:not([data-has-toc])>.article-body{grid-column:1}.article .article-meta>div:first-child{flex:1 1 0}.article .article-more__list{grid-template-columns:repeat(2,minmax(0,1fr))}.article .article-more__list>li:nth-child(3){display:none}.article-toc{max-width:min(420px, calc(100vw - 2 * var(--sp-gutter)))}.article-toc[data-open],.article-toc:has(:focus-visible){background:var(--color-background);box-shadow:0 1px 2px #0000000f,0 12px 32px #0000001a}}@media (width<=1100px) and (hover:hover) and (pointer:fine){.article-toc:hover{background:var(--color-background);box-shadow:0 1px 2px #0000000f,0 12px 32px #0000001a}}@media (width<=760px){.article .article-hero{gap:16px;padding:40px 0 32px}.article .article-hero h1{font-size:40px;line-height:44px}.article .article-hero__summary{font-size:18px;line-height:26px}.article .article-meta{flex-direction:column;gap:14px;padding-bottom:28px}.article .article-meta>div,.article .article-meta>div:first-child{flex:none}.article .article-cover{aspect-ratio:358/200}.article .article-layout,.article .article-layout[data-has-toc]{padding-top:48px;display:block}.article-toc{display:none}.article .article-body{font-size:17px;line-height:28px}.article .article-body>*+*{margin-top:20px}.article .article-body>h2{margin-top:44px;font-size:24px;line-height:30px}.article .article-body>h3{margin-top:36px;font-size:20px;line-height:28px}.article .article-body>h4{margin-top:32px;font-size:17px;line-height:26px}.article .article-body>:is(h2,h3,h4)+*{margin-top:20px}.article .article-body>blockquote{padding:16px 0 16px 16px;font-size:22px;line-height:30px}.article .article-body>blockquote:first-child{padding:0 0 0 14px;font-size:15px;line-height:22px}.article .article-body>.article-figure,.article .article-body>.article-figure+*{margin-top:36px}.article .article-more{gap:24px;padding-top:96px}.article .article-more__head{flex-direction:column;align-items:flex-start;gap:8px}.article .article-more__head h2{font-size:32px;line-height:38px}.article .article-more__list{grid-template-columns:minmax(0,1fr);gap:32px}.article .article-more__list>li:nth-child(3){display:block}.article .article-card__media{aspect-ratio:358/188}}.case-study[data-layout=gallery] .case-body{padding-top:0}.case-study .case-meta__hint[data-input=touch]{display:none}@media (hover:none){.case-study .case-meta__hint[data-input=pointer]{display:none}.case-study .case-meta__hint[data-input=touch]{display:inline}}.case-study[data-layout=gallery] .case-item>img{width:100%;height:auto;aspect-ratio:var(--ratio);border-radius:var(--sp-radius);object-fit:contain;background:0 0;margin:0;display:block}[data-viewer-item]{cursor:zoom-in}[data-viewer-item]:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}.gallery-viewer{color:#fff;width:100vw;max-width:none;height:100dvh;max-height:none;font-family:var(--font-body);background:#0b0b0b;border:0;margin:0;padding:24px 40px}.gallery-viewer[open]{flex-direction:column;gap:24px;display:flex}.gallery-viewer::backdrop{background:#0b0b0b}.gallery-viewer__bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.gallery-viewer__count{color:#b8b8b2;font-variant-numeric:tabular-nums;max-width:none;margin:0;font-size:15px;line-height:20px}.gallery-viewer__close,.gallery-viewer__nav{color:#fff;font:inherit;cursor:pointer;transition:background-color .16s var(--sp-ease);background:#ffffff1f;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.gallery-viewer__close{border-radius:999px;padding:8px 14px;font-size:15px;line-height:20px}.gallery-viewer__nav{border-radius:50%;flex-shrink:0;width:48px;height:48px;padding:0}.gallery-viewer__nav .chevron{display:block}.gallery-viewer__close:hover,.gallery-viewer__nav:hover{background:#ffffff38}.gallery-viewer__close:focus-visible,.gallery-viewer__nav:focus-visible{outline-offset:3px;outline:2px solid #fff}.gallery-viewer__stage{flex:1 1 0;justify-content:space-between;align-items:center;gap:24px;min-height:0;display:flex}.gallery-viewer__image{object-fit:contain;border-radius:var(--sp-radius);flex:1 1 0;min-width:0;height:100%;max-height:100%;margin-inline:auto}.gallery-viewer__media{flex:1 1 0;justify-content:center;align-self:stretch;align-items:center;min-width:0;display:flex;container-type:size}.gallery-viewer__media>.gallery-viewer__image{flex:none;width:auto;max-width:100%;height:auto;max-height:100%;margin:0}.case-study .gallery-viewer__media>.gallery-viewer__device{width:min(100cqw, 100cqh * var(--_fw) / var(--_fh), 1440px);cursor:auto;flex:none}@media (prefers-reduced-motion:no-preference){.gallery-viewer[open]{animation:gallery-viewer-in .2s var(--sp-ease)}}@keyframes gallery-viewer-in{0%{opacity:0}to{opacity:1}}@media (width<=760px){.case-study[data-layout=gallery] .case-row{flex-direction:column}.case-study[data-layout=gallery] .case-row .case-item{flex:none;width:100%}.gallery-viewer{padding:16px}.gallery-viewer__stage{flex-wrap:wrap;place-content:center;gap:16px}.gallery-viewer__media{flex:1 0 100%;order:-1;height:calc(100% - 64px)}}img[data-blurhash]{background-position:50%;background-repeat:no-repeat;background-size:cover}img[data-blurhash].is-placeholder{background-color:var(--color-surface)}agu-pictograms{color:#f2f0ea;background:#111;width:100%;display:block;container-type:inline-size}agu-pictograms>img{width:100%;height:auto;display:block}agu-pictograms .ap{--ap-act:calc(max(32px, 2.4cqw) + 1.4cqw);grid-template-columns:41.667cqw 40.556cqw;grid-template-rows:1fr var(--ap-act) auto var(--ap-act) 1fr;aspect-ratio:16/9;align-items:center;column-gap:4.444cqw;padding:0 6.667cqw;display:grid}agu-pictograms .ap__stage{grid-area:3/1;position:relative}agu-pictograms .ap__labels{letter-spacing:.04em;color:#78766f;white-space:nowrap;justify-content:space-between;padding-bottom:1.2cqw;font:max(9px,.76cqw)/1 ui-monospace,Menlo,monospace;display:flex;position:absolute;inset:auto 0 100%}agu-pictograms .ap__grid{width:100%;height:auto;display:block;overflow:visible}agu-pictograms .ap__glyph{color:#f2f0ea}agu-pictograms .ap__matrix{touch-action:pan-y;grid-area:3/2;grid-template-columns:repeat(10,1fr);display:grid}agu-pictograms .is-pinned .ap__matrix{touch-action:none}agu-pictograms .ap__cell{aspect-ratio:1;color:#96948e;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .12s;display:grid;box-shadow:inset 0 0 0 1.25px #0000}agu-pictograms .ap__cell svg{width:86%;height:86%;display:block;overflow:visible}agu-pictograms .ap__cell:hover{color:#d9d6cf}agu-pictograms .ap__cell[aria-pressed=true]{color:#f2f0ea;box-shadow:inset 0 0 0 1.25px #ff3600}agu-pictograms .is-pinned .ap__cell[aria-pressed=true]{color:#fff;background:#ff36002e;box-shadow:inset 0 0 0 1.5px #ff3600}agu-pictograms .ap__cell:focus-visible{outline-offset:2px;outline:2px solid #ff3600}agu-pictograms .ap__actions{grid-area:4/2;place-self:start;gap:8px;margin-top:-1.183cqw;display:flex}agu-pictograms .ap__dl{--out:cubic-bezier(.4, 0, 1, 1);color:#f2f0ea;letter-spacing:.06em;cursor:pointer;opacity:0;visibility:hidden;filter:blur(3px);height:max(32px,2.4cqw);transition:opacity .16s var(--out) calc((1 - var(--i)) * 30ms), transform .16s var(--out) calc((1 - var(--i)) * 30ms), filter .16s var(--out) calc((1 - var(--i)) * 30ms), visibility 0s linear calc(.16s + (1 - var(--i)) * 30ms), box-shadow .15s ease, color .15s ease;background:#1c1b19;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 max(13px,1cqw) 0 max(10px,.8cqw);font:500 max(11px,.8cqw)/1 ui-monospace,Menlo,monospace;display:inline-flex;transform:translateY(-6px)scale(.96);box-shadow:inset 0 0 0 1px #3a3936}agu-pictograms .ap__dl svg{color:#ff3600;flex-shrink:0;display:block}agu-pictograms .is-engaged .ap__dl{opacity:1;visibility:visible;filter:none;transition:opacity .24s cubic-bezier(.2, .8, .2, 1) calc(var(--i) * 55ms), transform .44s cubic-bezier(.2, 1.25, .35, 1) calc(var(--i) * 55ms), filter .24s ease-out calc(var(--i) * 55ms), visibility 0s linear 0s, box-shadow .15s ease, color .15s ease;transform:none}agu-pictograms .ap__dl:hover{color:#fff;box-shadow:inset 0 0 0 1px #ff3600}agu-pictograms .is-engaged .ap__dl:active{transition-duration:80ms;transition-delay:0s;transform:scale(.96)}agu-pictograms .ap__dl:focus-visible{outline-offset:2px;outline:2px solid #ff3600}agu-pictograms .ap__dl:disabled{cursor:progress}@media (prefers-reduced-motion:reduce){agu-pictograms .ap__dl,agu-pictograms .is-engaged .ap__dl{filter:none;transform:none}}@container (width<=640px){agu-pictograms .ap{aspect-ratio:auto;grid-template-rows:auto auto auto;grid-template-columns:1fr;row-gap:4cqw;padding:12cqw 6cqw 6cqw}agu-pictograms .ap__stage{grid-row:1}agu-pictograms .ap__matrix{grid-area:2/1}agu-pictograms .ap__actions{grid-area:3/1;margin-top:0}agu-pictograms .ap__labels{padding-bottom:3cqw;font-size:10px}}agu-sticker{color:#e8e6ff;background:#2a2c78;width:100%;display:block;container-type:inline-size}agu-sticker>img{width:100%;height:auto;display:block}agu-sticker .as{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:4cqw;padding:6cqw 6.667cqw;display:grid}agu-sticker .as__panel{font:14px/1 var(--font-sans,system-ui), sans-serif;flex-direction:column;align-items:flex-start;gap:14px;display:flex}agu-sticker .as__hint{letter-spacing:.04em;text-transform:uppercase;color:#9fa3e6;margin:0 0 6px;font-size:12px}agu-sticker .as__row{align-items:center;gap:8px;display:flex}agu-sticker .as__pill{color:#e8e6ff;white-space:nowrap;background:#3a3ea6;border-radius:999px;align-items:center;gap:10px;min-height:30px;padding:0 12px;display:inline-flex}agu-sticker .as__pill--line{background:0 0;box-shadow:inset 0 0 0 1px #5a5fc4}agu-sticker input{font:inherit;color:inherit;background:0 0;border:0;outline:0;padding:0}agu-sticker input:focus,agu-sticker input:focus-visible{outline:none}agu-sticker .as__text:focus-within{box-shadow:inset 0 0 0 1px #b9bdf5}agu-sticker .as__dd{position:relative}agu-sticker .as__dd-button{font:inherit;cursor:pointer;border:0;gap:8px;padding-right:10px}agu-sticker .as__dd-button:hover{box-shadow:inset 0 0 0 1px #8b90e0}agu-sticker .as__chevron{color:#9fa3e6;flex-shrink:0;transition:transform .18s;display:block}agu-sticker .as__dd-button[aria-expanded=true] .as__chevron{transform:rotate(180deg)}agu-sticker .as__dd-list{z-index:5;background:#34379a;border-radius:14px;outline:none;min-width:100%;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 0 0 1px #5a5fc4,0 18px 40px #0a0c3c73}agu-sticker .as__dd-list[hidden]{display:none}agu-sticker .as__dd-list li{white-space:nowrap;cursor:pointer;color:#e8e6ff;border-radius:9px;padding:8px 12px}agu-sticker .as__dd-list li.is-active{background:#4a4fc0}agu-sticker .as__dd-list li[aria-selected=true]{color:#fff;font-weight:500}agu-sticker input{width:13ch}agu-sticker input::placeholder{color:#9fa3e6}agu-sticker .as__count{color:#9fa3e6;font-variant-numeric:tabular-nums}agu-sticker .as__colours{gap:12px}agu-sticker .as__colours button{font:inherit;color:#9fa3e6;cursor:pointer;background:0 0;border:0;padding:0}agu-sticker .as__colours button[aria-pressed=true]{color:#fff}agu-sticker .as__download{font:inherit;color:#2a2c78;cursor:pointer;background:#f6e4c4;border:0;border-radius:999px;min-height:34px;margin-top:8px;padding:0 16px}agu-sticker .as__download:disabled{opacity:.6;cursor:progress}agu-sticker .as__stage{perspective:1400px;place-items:center;display:grid}agu-sticker .as__card{cursor:pointer;filter:drop-shadow(0 30px 50px #0a0c3c73);background:0 0;border:0;width:min(100%,560px);padding:0;transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .26s;display:block}agu-sticker .as__card.is-out{opacity:.4;transform:rotateY(90deg)scale(.96)}agu-sticker .as__card svg{width:100%;height:auto;display:block}agu-sticker :focus-visible{outline-offset:3px;outline:2px solid #f6e4c4}@container (width<=640px){agu-sticker .as{grid-template-columns:1fr;padding:8cqw 6cqw}agu-sticker .as__stage{order:-1}}macbook-reveal{background:#f5f5f7;width:100%;display:block}macbook-reveal .mr__stage{aspect-ratio:16/9;position:relative;overflow:hidden}macbook-reveal .mr__stage>.mr__lid,macbook-reveal .mr__film{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}macbook-reveal .mr__film{opacity:0;transition:opacity .45s}macbook-reveal.is-open .mr__film{opacity:1}macbook-reveal.is-static .mr__lid{display:none}@media (prefers-reduced-motion:reduce){macbook-reveal .mr__film{transition:none}}macbook-reveal[mode=demo]{background:0 0;position:relative}macbook-reveal[mode=demo] .mr__pin{transform:translateY(var(--mr-lift,0px));position:sticky;top:0}macbook-reveal[mode=demo] .mr__scene{border-radius:var(--sp-radius);position:relative;overflow:hidden}macbook-reveal .mr__head{margin-bottom:48px;padding-top:48px}macbook-reveal .mr__head>*{margin:0}macbook-reveal .mr__head>*+*{margin-top:20px}.case-study .case-body>*+macbook-reveal.mr--headed{margin-top:72px}@media (width<=760px){macbook-reveal .mr__head{padding-top:0}macbook-reveal .mr__head>*+*{margin-top:32px}.case-study .mr__head>h2{margin-top:0}.case-study .case-body>*+macbook-reveal.mr--headed{margin-top:80px}}macbook-reveal[mode=demo] .mr__ground{opacity:var(--mr-macbook,0);background:#f5f5f7;position:absolute;inset:0}macbook-reveal[mode=demo] .mr__zoom{transform-origin:0 0;transform:translate(var(--mr-x,0px), var(--mr-y,0px)) scale(var(--mr-s,1));position:relative}macbook-reveal[mode=demo] .mr__lid,macbook-reveal[mode=demo] .mr__notch{max-width:none;max-height:none;opacity:var(--mr-macbook,0);pointer-events:none;display:block;position:absolute}macbook-reveal[mode=demo] .mr__notch{z-index:2;opacity:calc(var(--mr-macbook,0) * var(--mr-screen,1));background:#131313;border-radius:0 0 6% 6%/0 0 30% 30%}macbook-reveal[mode=demo] .prototype-frame{z-index:1;background:rgb(243 239 230/var(--mr-chrome,1));position:relative}macbook-reveal[mode=demo] .prototype-frame__stage{opacity:var(--mr-screen,1)}macbook-reveal[mode=demo] .prototype-frame__bar{opacity:var(--mr-chrome,1)}macbook-reveal[mode=demo]:not(.is-live) .prototype-frame{pointer-events:none}macbook-reveal[mode=demo].is-static .mr__lid,macbook-reveal[mode=demo].is-static .mr__notch,macbook-reveal[mode=demo].is-static .mr__ground{display:none}macbook-reveal[mode=demo] .prototype-frame__stage{aspect-ratio:1512/982}.article .article-body .katex{font-size:1.15em}.article .article-body .katex-display{margin:0;padding-block:4px;overflow:auto hidden}.article .article-body{counter-reset:figure}.article .article-body>:is(.article-maths,.article-figure--chart,.article-notation){border:1px solid var(--color-rule);border-radius:var(--sp-radius);margin-top:40px;padding:20px 24px 24px}.article .article-body>:is(.article-maths,.article-figure--chart,.article-notation)+*{margin-top:40px}.article .article-maths__label,.article .article-figure--chart:before,.article .article-notation__label{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:12px;line-height:16px;display:block}.article .article-maths{flex-direction:column;gap:16px;display:flex}.article .article-maths>.katex-display{padding-block:8px 4px}.article .article-figure--chart{counter-increment:figure;gap:16px}.article .article-figure--chart:before{content:"Figure " counter(figure)}.article .article-figure--chart picture{max-width:none;margin-inline:-24px;display:block}.article .article-body>.article-figure--chart img{border-radius:0;width:100%;max-width:none}.article .article-figure--chart figcaption{max-width:720px}.article .article-figure figcaption p{max-width:none}.article .article-notation{padding-block:0}.article .article-notation>summary{cursor:pointer;align-items:baseline;gap:16px;padding-block:20px;list-style:none;display:flex}.article .article-notation>summary::-webkit-details-marker{display:none}.article .article-notation__toggle{color:var(--color-muted);transition:transform .2s var(--sp-ease), color .16s var(--sp-ease);flex:none;align-self:center;margin-left:auto}.article .article-notation[open] .article-notation__toggle{transform:rotate(180deg)}.article .article-notation>summary:hover .article-notation__toggle{color:var(--color-foreground)}.article .article-notation__hint{color:var(--color-muted);font-size:15px;line-height:20px}.article .article-notation__body{padding-bottom:24px}.article .article-notation table{max-width:none;margin:0;font-size:16px;line-height:24px}.article .article-notation table+table{margin-top:40px}.article .article-notation th{padding:0 24px 10px 0}.article .article-notation td{padding:12px 24px 12px 0}.article .article-notation td:first-child{white-space:nowrap}.article .article-notation td:last-child{color:inherit;font-variant-numeric:normal;white-space:normal;padding-right:0}.article .article-notation td:nth-child(3){color:var(--color-muted)}.article .article-notation tr:last-child td{border-bottom:0}.article .article-body .katex [data-term]{cursor:help;transition:background-color .12s var(--sp-ease);background:#2357ff14;border-radius:2px}.article .article-body .katex [data-term] [data-term]{background:0 0}.article .article-body .katex [data-term]:is([data-term-active],[data-term-pinned]){background:#2357ff38}.article .article-body .notation-term{cursor:help;text-decoration:underline dotted var(--color-link);text-underline-offset:4px;transition:background-color .12s var(--sp-ease);border-radius:2px;text-decoration-thickness:1.5px}.article .article-body .notation-term:is([data-term-active],[data-term-pinned]){background:#2357ff1f}.article .article-body .notation-term:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.tip-card{border:1px solid var(--color-rule);border-radius:var(--sp-radius);background:var(--color-background);width:100%;min-height:0;color:var(--color-foreground);font-family:var(--font-body);flex-direction:column;font-size:15px;line-height:21px;display:flex}.tip-card__idle{color:var(--color-muted);margin:0;padding:14px 16px;font-size:14px;line-height:20px}.tip-card__bar{justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 0 16px;display:none}.tip-card[data-pinned] .tip-card__bar{display:flex}.tip-card__pinned{color:var(--color-link);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:12px;line-height:16px}.tip-card__close{border-radius:var(--sp-radius);width:28px;height:28px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tip-card__close:hover{background:var(--color-surface);color:var(--color-foreground)}.tip-card__close:focus-visible{outline:2px solid var(--color-link);outline-offset:1px}.tip-card__entries{overscroll-behavior:contain;flex-direction:column;gap:12px;min-height:0;padding:14px 16px 16px;display:none;overflow-y:auto}.tip-card[data-open] .tip-card__idle{display:none}.tip-card[data-open] .tip-card__entries{display:flex}.tip-card .tip{flex-direction:column;gap:6px;display:flex}.tip-card .tip+.tip{border-top:1px solid var(--color-rule);padding-top:12px}.tip-card .tip>*{display:block}.tip-card .tip__symbol{font-size:18px;line-height:26px}.tip-card .tip__number{color:var(--color-link);font-family:var(--font-mono);font-size:12px;line-height:16px}.tip-card .tip__title{font-weight:500}.tip-card .tip__source,.tip-card .tip__units{color:var(--color-muted);font-size:14px;line-height:20px}.tip-card .katex{font-size:1.1em}@media (width<=1100px){.tip-card{z-index:60;max-height:45vh;padding-bottom:env(safe-area-inset-bottom);transition:transform .26s var(--sp-ease);border-width:1px 0 0;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -12px 32px #0000001a}.tip-card[data-open]{transform:none}.tip-card__idle{display:none}.tip-card[data-open] .tip-card__bar{padding-inline:var(--sp-gutter) 12px;padding-top:12px;display:flex}.tip-card:not([data-pinned]) .tip-card__pinned{visibility:hidden}.tip-card__entries{padding:18px var(--sp-gutter) 20px}}.article .article-body a.cite{color:var(--color-link);font-variant-numeric:tabular-nums;white-space:nowrap;transition:background-color .12s var(--sp-ease);border-radius:2px;font-size:.8em;text-decoration:none}.article .article-body a.cite:hover,.article .article-body a.cite:is([data-term-active],[data-term-pinned]){background:#2357ff1f}.article .article-body>.article-references{counter-reset:none;flex-direction:column;gap:12px;padding:0 0 0 40px;font-size:16px;line-height:24px;list-style:none;display:flex}.article .article-references>li{scroll-margin-top:calc(var(--site-header-h) + 24px);margin:0;position:relative}.article .article-references>li:before{content:"[" attr(value) "]";color:var(--color-muted);font-family:var(--font-mono);font-size:13px;position:absolute;left:-40px}.article .article-references>li:target{background:#2357ff14}.article .article-references__authors{color:var(--color-foreground)}.article .article-references a{color:var(--color-link);text-decoration:none}.article .article-references a:hover{color:var(--color-foreground)}@media (prefers-reduced-motion:reduce){.tip-card,.article .article-body :is(.katex [data-term],.notation-term,a.cite){transition:none}}@media (width<=760px){.article .article-body .katex{font-size:1.1em}.article .article-body>:is(.article-maths,.article-figure--chart,.article-notation){padding-inline:16px}.article .article-body>.article-notation{padding-block:0}.article .article-notation>summary{flex-direction:column;gap:4px}.article .article-notation__toggle{position:absolute;top:20px;right:16px}.article .article-notation{position:relative}.article .article-notation :is(table,tbody,tr,td){display:block}.article .article-notation thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.article .article-notation table{border-top:1px solid var(--color-foreground)}.article .article-notation tr{border-bottom:1px solid var(--color-rule);padding:14px 0}.article .article-notation td{border:0;padding:0}.article .article-notation td+td{margin-top:4px}.article .article-figure--chart picture{margin-inline:-16px}}:root:has([data-book-row]){overflow-x:clip}.book-row{outline:none;width:100vw;margin-left:calc(50% - 50vw);position:relative}.book-row:focus-visible .book-row__stage{box-shadow:inset 0 0 0 2px var(--color-link)}.book-row__stage{cursor:grab;touch-action:pan-y;height:clamp(520px,100svh - 96px,860px)}.book-row__stage[data-dragging]{cursor:grabbing}.book-row__stage canvas{width:100%;height:100%;display:block}.book-row__label{top:calc(var(--y,0px) + 20px);left:var(--x,50%);text-align:center;flex-direction:column;align-items:center;gap:4px;width:min(360px,80vw);display:flex;position:absolute;transform:translate(-50%)}.book-row__label--hover{opacity:0;pointer-events:none;transition:opacity .16s}.book-row__label--hover[data-shown]{opacity:1}.sp-page .book-row__title{text-wrap:balance;font-size:17px;font-weight:500;line-height:22px}.sp-page .book-row__meta{color:var(--color-muted);font-size:14px;line-height:20px}.sp-page .book-row__read{color:var(--color-link);align-items:center;gap:4px;margin-top:10px;font-size:14px;line-height:20px;text-decoration:none;display:inline-flex}.sp-page .book-row__read:after{content:none}.book-row__read-on{color:var(--color-muted)}.book-row__nav{right:var(--sp-gutter);gap:8px;display:flex;position:absolute;bottom:24px}.book-row__nav button{border:1px solid var(--color-rule);background:var(--color-background,#fff);width:40px;height:40px;color:var(--color-foreground);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid}.book-row__nav button:disabled{cursor:default;opacity:.35}.book-row:has(.book-row__stage[data-webgl=none]){display:none}.book-row__topic{color:var(--color-muted);align-items:center;gap:6px;font-size:13px;line-height:18px;display:inline-flex}.book-row__topic:before{background:var(--tag);content:"";border-radius:50%;width:7px;height:7px}.sp-page .book-row__used{color:var(--color-muted);text-wrap:balance;font-size:13px;line-height:18px}.sp-page .book-row__used a{color:var(--color-link)}.book-row__used[hidden],.book-row__more[hidden]{display:none}.sp-page .book-row__more .book-row__read{margin-top:2px}.book-row__hint{color:var(--color-muted);margin-top:6px;font-size:13px;line-height:18px;display:none}.book-row__back{top:16px;left:var(--sp-gutter);border:1px solid var(--color-rule);background:var(--color-background,#fff);color:var(--color-foreground);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:6px;padding:8px 14px 8px 10px;font-size:14px;line-height:20px;display:none;position:absolute}.book-row[data-mode=focus] .book-row__hint,.book-row[data-mode=focus] .book-row__back{display:inline-flex}.book-row[data-mode=focus] .book-row__nav,.book-row[data-mode=opening] .book-row__nav,.book-row[data-mode=opening] .book-row__label,.book-row[data-mode=opening] .book-row__back{visibility:hidden}.book-row[data-mode=focus] .book-row__stage{cursor:grab}.book-row__veil{z-index:100;opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}@media (width<=719px){.book-row__stage{height:min(640px,82svh)}.book-row__nav{bottom:16px;left:50%;right:auto;transform:translate(-50%)}}.papers-list__tag:before{background:var(--tag);content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px}.sp-page .papers-list__used a{color:var(--color-link)}.sp-papers__head{justify-content:space-between;align-items:flex-end;gap:24px;padding-top:72px;display:flex}.sp-papers__intro{flex-direction:column;gap:8px;max-width:640px;display:flex}.sp-page .sp-papers__intro h2,.sp-page .sp-research__notes h2{letter-spacing:-.01em;font-size:28px;line-height:34px}.sp-papers__intro p{color:var(--color-muted);font-size:16px;line-height:24px}.sp-papers__toggle{border:1px solid var(--color-rule);border-radius:999px;flex-shrink:0;padding:3px;display:inline-flex}.sp-papers__toggle button{color:var(--color-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:14px;line-height:20px}.sp-papers__toggle button[aria-pressed=true]{background:var(--color-foreground);color:#fff}.book-row[data-view=grid] .book-row__nav{visibility:hidden}.book-row[data-view=grid] .book-row__label--hover .book-row__topic{display:none}.sp-research__notes{flex-direction:column;gap:24px;padding-top:72px;display:flex}.sp-research__notes-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.sp-page .sp-research__all{color:var(--color-link);align-items:center;gap:4px;font-size:15px;line-height:20px;text-decoration:none;display:inline-flex}.sp-page .sp-research__all:after{content:none}.sp-page .sp-back{color:var(--color-muted);align-self:flex-start;align-items:center;gap:2px;margin-top:40px;font-size:15px;line-height:20px;text-decoration:none;display:inline-flex}.sp-page .sp-back:hover{color:var(--color-link)}.sp-page .sp-back .chevron{margin-left:-.35em}@media (width<=719px){.sp-papers__head{flex-direction:column;align-items:flex-start;padding-top:48px}}.sp-papers .papers-list:not([data-shown]){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sp-papers:has(.book-row__stage[data-webgl=none]) .papers-list{clip-path:none;white-space:normal;width:auto;height:auto;position:static}.papers-list{flex-direction:column;gap:24px;padding-block:96px 120px;display:flex}.sp-page .papers-list h2{letter-spacing:-.01em;font-size:28px;line-height:34px}.papers-list__items{border-top:1px solid var(--color-foreground);margin:0;padding:0;list-style:none}.papers-list__item{border-bottom:1px solid var(--color-rule);grid-template-columns:56px minmax(0,1fr) 220px;align-items:baseline;gap:24px;padding-block:16px;display:grid}.papers-list__year{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:15px;line-height:22px}.papers-list__text{flex-direction:column;gap:4px;min-width:0;display:flex}.papers-list__title{font-size:18px;font-weight:500;line-height:26px;text-decoration:none}.papers-list__title:hover{color:var(--color-link)}.papers-list__meta,.papers-list__used{color:var(--color-muted);font-size:14px;line-height:20px}.papers-list__tag{color:var(--color-muted);align-items:center;gap:8px;font-size:13px;line-height:20px;display:inline-flex}@media (width<=760px){.papers-list__item{grid-template-columns:40px minmax(0,1fr);gap:4px 16px}.papers-list__tag{grid-column:2}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
