:root{--bg: #f5f5f7;--text: #1d1d1f;--text-2: #5f5f64;--accent: #0066cc;--accent-press: #004f9e;--on-accent: #ffffff;--hairline: rgba(0, 0, 0, .1);--fill: rgba(0, 0, 0, .05);--fill-hover: rgba(0, 0, 0, .08);--inset: rgba(246, 246, 249, .86);--glass: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .72);--glass-edge: rgba(255, 255, 255, .75);--nav: rgba(245, 245, 247, .72);--shadow-sm: 0 1px 1px rgba(0, 0, 0, .04), 0 2px 6px rgba(0, 0, 0, .04);--shadow-lg: 0 1px 1px rgba(0, 0, 0, .03), 0 4px 12px rgba(0, 0, 0, .04), 0 18px 48px rgba(0, 0, 0, .07);--field-1: rgba(255, 186, 140, .45);--field-2: rgba(125, 175, 255, .4);--field-3: rgba(140, 220, 190, .38);--field-4: rgba(205, 160, 255, .32);--ring: rgba(0, 102, 204, .55);--media-dim: none;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, system-ui, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 14px;--max: 72rem;--gutter: clamp(1.25rem, 4.5vw, 3rem);--nav-h: 3.5rem;--section: clamp(3.5rem, 2.5rem + 3.5vw, 6.5rem);color-scheme:light}@media(prefers-color-scheme:dark){:root:not(.light){--bg: #000000;--text: #f5f5f7;--text-2: #a1a1a6;--accent: #2997ff;--accent-press: #0071e3;--hairline: rgba(255, 255, 255, .12);--fill: rgba(255, 255, 255, .08);--fill-hover: rgba(255, 255, 255, .12);--inset: rgba(10, 10, 12, .55);--glass: rgba(30, 30, 34, .56);--glass-strong: rgba(30, 30, 34, .7);--glass-edge: rgba(255, 255, 255, .1);--nav: rgba(10, 10, 12, .68);--shadow-sm: 0 1px 1px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .25);--shadow-lg: 0 1px 1px rgba(0, 0, 0, .3), 0 6px 16px rgba(0, 0, 0, .3), 0 24px 60px rgba(0, 0, 0, .45);--field-1: rgba(255, 120, 60, .2);--field-2: rgba(40, 110, 255, .26);--field-3: rgba(30, 180, 140, .18);--field-4: rgba(150, 80, 255, .2);--ring: rgba(41, 151, 255, .7);--media-dim: brightness(.86);color-scheme:dark}}:root.dark{--bg: #000000;--text: #f5f5f7;--text-2: #a1a1a6;--accent: #2997ff;--accent-press: #0071e3;--hairline: rgba(255, 255, 255, .12);--fill: rgba(255, 255, 255, .08);--fill-hover: rgba(255, 255, 255, .12);--inset: rgba(10, 10, 12, .55);--glass: rgba(30, 30, 34, .56);--glass-strong: rgba(30, 30, 34, .7);--glass-edge: rgba(255, 255, 255, .1);--nav: rgba(10, 10, 12, .68);--shadow-sm: 0 1px 1px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .25);--shadow-lg: 0 1px 1px rgba(0, 0, 0, .3), 0 6px 16px rgba(0, 0, 0, .3), 0 24px 60px rgba(0, 0, 0, .45);--field-1: rgba(255, 120, 60, .2);--field-2: rgba(40, 110, 255, .26);--field-3: rgba(30, 180, 140, .18);--field-4: rgba(150, 80, 255, .2);--ring: rgba(41, 151, 255, .7);--media-dim: brightness(.86);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1.5rem)}body{margin:0;position:relative;overflow-x:clip;background:var(--bg);color:var(--text);font-family:var(--font);font-optical-sizing:auto;font-size:1.0625rem;line-height:1.53;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,video{display:block;max-width:100%;height:auto}p{margin:0}h1,h2{margin:0;color:var(--text);font-weight:700;text-wrap:balance}h3{margin:0;color:var(--text);font-weight:600;text-wrap:pretty}ol,ul{margin:0}a{color:var(--accent);text-decoration:none;-webkit-tap-highlight-color:transparent}h1 a,h2 a,h3 a{color:inherit}::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}main:focus{outline:none}.fields{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(38rem 30rem at 88% 4%,var(--field-2),transparent 70%),radial-gradient(34rem 28rem at 4% 14%,var(--field-1),transparent 70%),radial-gradient(40rem 32rem at 96% 30%,var(--field-3),transparent 70%),radial-gradient(36rem 30rem at 0% 46%,var(--field-4),transparent 70%),radial-gradient(40rem 30rem at 100% 64%,var(--field-1),transparent 70%),radial-gradient(38rem 30rem at 6% 80%,var(--field-2),transparent 70%),radial-gradient(36rem 26rem at 80% 96%,var(--field-3),transparent 70%)}.section-shell{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}.eyebrow{margin:0 0 .75rem;font-size:.875rem;line-height:1.4;font-weight:600;letter-spacing:.002em;color:var(--text-2)}.lede,.article-dek{font-size:clamp(1.1875rem,1.05rem + .5vw,1.4375rem);line-height:1.42;letter-spacing:-.014em;color:var(--text-2)}.handwritten{font-size:.9375rem;line-height:1.45;font-style:italic;color:var(--text-2)}.project-role,.caption,.process-sketch figcaption{font-size:.875rem;line-height:1.43;letter-spacing:.002em;color:var(--text-2)}:focus-visible{outline:3px solid var(--ring);outline-offset:3px;border-radius:10px}.skip-link{position:fixed;left:1rem;top:.75rem;z-index:100;display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.1rem;border-radius:999px;background:var(--text);color:var(--bg);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none}.glass{background:var(--glass);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-edge);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)}.glass.thick{background:var(--glass-strong);-webkit-backdrop-filter:blur(40px) saturate(190%);backdrop-filter:blur(40px) saturate(190%);box-shadow:var(--shadow-lg);border-radius:var(--radius-xl)}.button,.pill,.text-link,.article-back a,.press,summary{transition:transform .1s ease-out,background-color .16s ease,color .16s ease,box-shadow .16s ease;-webkit-tap-highlight-color:transparent}.button:active,.pill:active,.text-link:active,.article-back a:active,summary:active{transform:scale(.97)}.press:active,.press:has(.stretch:active){transform:scale(.99)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:3rem;padding:0 1.4rem;border-radius:999px;font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap}.button.primary{background:var(--accent-press);color:var(--on-accent);box-shadow:0 1px 2px #0000001f,0 6px 18px #0066cc40}.button.secondary{background:var(--fill);color:var(--accent)}.text-link,.article-back a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:500;letter-spacing:-.008em}.prose p a,.story-body p a,.article-body p a,.article-body li a,.lab-intro p a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}@media(hover:hover)and (pointer:fine){.button.primary:hover{background:var(--accent)}.button.secondary:hover{background:var(--fill-hover)}.text-link:hover,.article-back a:hover{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.prose p a:hover,.story-body p a:hover,.article-body p a:hover,.article-body li a:hover{text-decoration-color:currentColor}.pill:hover{background:var(--fill)}.press:hover{box-shadow:var(--shadow-lg)}.stretch:hover,.project-intro h3 a:hover,.supporting-projects h3 a:hover,.project-index-row h2 a:hover,#notes h2 a:hover{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}summary:hover{background:var(--fill)}:root.dark .button.primary:hover{background:#0077ed}}@media(prefers-color-scheme:dark){@media(hover:hover)and (pointer:fine){:root:not(.light) .button.primary:hover{background:#0077ed}}}.nav{position:sticky;top:0;z-index:50;background:var(--nav);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:.5px solid var(--hairline)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--nav-h)}.brand{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;border-radius:10px;color:var(--text);font-weight:600;font-size:1rem;letter-spacing:-.012em;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;flex-shrink:0;width:1.875rem;height:1.875rem;border-radius:.5rem;background:var(--text);color:var(--bg);font-size:.75rem;font-weight:700;letter-spacing:-.02em;font-style:normal}.nav-links{display:flex;gap:.125rem}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 .85rem;border-radius:999px;color:var(--text);font-size:.875rem;letter-spacing:-.005em;white-space:nowrap}.nav-links .pill[aria-current=page]{background:var(--fill);font-weight:600}.selected-work,.editorial-section{padding-block:var(--section)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:clamp(1.75rem,1.25rem + 1.5vw,2.75rem)}.section-heading .eyebrow,.section-label .eyebrow{margin-bottom:.5rem}.section-heading h2,.section-label h2,.editorial-section>h2,.lab-intro h2{font-size:clamp(2rem,1.45rem + 2.2vw,3rem);line-height:1.08;letter-spacing:-.026em}.editorial-section{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem 3rem;align-items:start}.about-line{margin-top:1rem}.margin-aside,.lab-aside{margin-top:1.25rem;padding-left:.875rem;border-left:2px solid var(--hairline)}@media(min-width:900px){.editorial-section{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.editorial-section>.section-label,.editorial-section>h2{position:sticky;top:calc(var(--nav-h) + 2rem)}}.prose{max-width:40rem}.prose>p+p{margin-top:1.1em}.hero{padding-block:clamp(2.5rem,1.25rem + 4.5vw,5.5rem) clamp(1rem,.5rem + 1.5vw,2rem)}.portfolio-hero{display:grid;gap:2.75rem;align-items:center}.hero .eyebrow{margin-bottom:1.25rem}.hero h1{font-size:clamp(2.25rem,1.45rem + 3.6vw,4.25rem);line-height:1.03;letter-spacing:-.03em}.hero .lede{margin-top:1.5rem;max-width:34rem}.signature{margin-top:1.25rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem}.snapshot{margin:0;position:relative;justify-self:center;width:min(100%,26rem)}.snapshot img{width:100%;aspect-ratio:660 / 726;object-fit:cover;border-radius:var(--radius-xl);box-shadow:0 2px 4px #0000000f,0 12px 32px #0000001f,0 40px 80px #0000001f}.snapshot figcaption{position:absolute;left:1rem;bottom:1rem;right:auto;max-width:calc(100% - 2rem);padding:.6rem .95rem;border-radius:16px;font-size:.875rem;line-height:1.35;font-weight:500;letter-spacing:.002em;color:var(--text)}@media(min-width:900px){.portfolio-hero{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:4rem}.snapshot{justify-self:end}}.hero+.selected-work{padding-top:clamp(2rem,1.25rem + 2.5vw,3.5rem)}.featured-project,.supporting-projects>article{padding:clamp(1.5rem,1rem + 2vw,2.75rem)}.featured-project{display:grid;gap:2rem}.project-intro h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);line-height:1.14;letter-spacing:-.021em}.project-intro h3+p,.supporting-projects h3+p{margin-top:1rem;color:var(--text-2)}.project-intro h3+p{font-size:1.1875rem;line-height:1.47;letter-spacing:-.012em}.project-role{margin-top:1rem}.project-intro .text-link,.supporting-projects .text-link{margin-top:.5rem}@media(min-width:900px){.featured-project{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}}.proof-points{padding-bottom:clamp(1.5rem,1rem + 2vw,3rem)}.proof-points .eyebrow{margin-bottom:.75rem}.proof-list{list-style:none;margin:0;padding:0;display:grid;gap:.875rem}@media(min-width:760px){.proof-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}.proof-list li{margin:0;padding:1.25rem 1.375rem;font-size:.9375rem;line-height:1.5;color:var(--text-2)}.hero-note{margin-top:.875rem;color:var(--text-2);font-size:.9375rem}.featured-project+.featured-project{margin-top:1.25rem}.projects-footnote{margin-top:1.5rem;color:var(--text-2);font-size:.875rem}.supporting-projects{display:grid;gap:1.25rem;margin-top:1.25rem}@media(min-width:760px){.supporting-projects{grid-template-columns:1fr 1fr;align-items:start}}.supporting-projects>article{display:flex;flex-direction:column}.supporting-projects .text-link{align-self:flex-start}.supporting-projects h3{font-size:1.3125rem;line-height:1.24;letter-spacing:-.016em}.supporting-projects .process-sketch{margin-top:1.5rem}.process-sketch{margin:0}.sketch-static{padding:1.25rem 1.25rem 1.375rem;background:var(--inset);border:1px solid var(--hairline);border-radius:var(--radius-md)}.sketch-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;margin-bottom:1rem}.sketch-heading .eyebrow{margin:0;color:var(--text)}.sketch-heading .handwritten{font-size:.875rem}.process-sketch ol{display:grid;gap:.5rem;padding:0;list-style:none}.process-sketch li{display:flex;align-items:center;gap:.875rem;min-height:2.75rem;padding:.5rem .75rem;border-radius:12px;background:var(--fill);font-weight:500;letter-spacing:-.01em}.step-number{flex-shrink:0;display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--bg);color:var(--text-2);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.sketch-question{margin-top:1rem;font-weight:600;letter-spacing:-.012em;line-height:1.4}.process-sketch figcaption{margin-top:.75rem;font-size:.8125rem;line-height:1.4;letter-spacing:.004em}@media(prefers-color-scheme:dark){:root:not(.light) .process-sketch.has-motion .sketch-video.v-dark{background-image:var(--poster-d)}}:root.dark .process-sketch.has-motion .sketch-video.v-dark{background-image:var(--poster-d)}.sketch-media{position:relative}.process-sketch.has-motion .sketch-video{display:block;width:100%;height:auto;aspect-ratio:1200 / 940;border-radius:var(--radius-md);border:1px solid var(--hairline);object-fit:cover;clip-path:inset(0 round var(--radius-md));filter:var(--media-dim);background:var(--inset) var(--poster-l) center / cover no-repeat}.process-sketch.has-motion .sketch-static{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.process-sketch.has-motion .sketch-video.v-dark{display:none}:root.dark .process-sketch.has-motion .sketch-video.v-light{display:none}:root.dark .process-sketch.has-motion .sketch-video.v-dark{display:block}@media(prefers-color-scheme:dark){:root:not(.light) .process-sketch.has-motion .sketch-video.v-light{display:none}:root:not(.light) .process-sketch.has-motion .sketch-video.v-dark{display:block}}.sketch-replay{position:absolute;right:4%;bottom:25%;display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-2);cursor:pointer;opacity:0;transition:opacity .3s ease,color .2s ease}.sketch-replay[hidden]{display:none}.sketch-media.ended .sketch-replay,.sketch-replay:focus-visible{opacity:1}.sketch-replay:hover{color:var(--text)}.sketch-replay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.sketch-replay{transition:none}}.cn-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cn-pair img{display:block;width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--hairline);background:#000}.process-sketch.compact .cn-pair img{aspect-ratio:720 / 1130;object-fit:cover;object-position:top}.cn-shots .sketch-question{margin-top:.875rem}.cn-note{margin-top:.5rem;color:var(--text-2);font-size:.8125rem}.project-grid{display:grid;gap:1.25rem}@media(min-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-grid .featured-project{display:flex;flex-direction:column;align-items:stretch;gap:1.5rem;margin-top:0}.project-grid .featured-project .process-sketch{margin-top:auto}.project-grid .project-intro h3{font-size:clamp(1.375rem,1.15rem + .7vw,1.75rem)}.project-grid .project-intro h3+p{font-size:1.0625rem}.lab-card{padding:clamp(1.75rem,1rem + 3vw,3.5rem);max-width:none}.larger{font-size:clamp(1.625rem,1.2rem + 1.6vw,2.5rem);line-height:1.12;letter-spacing:-.024em;font-weight:600;color:var(--text);max-width:22ch;text-wrap:balance}.lab-card>p:not(.larger){margin-top:1.25rem;color:var(--text-2);max-width:36rem}.lab-card .text-link{margin-top:.75rem}.quiet-discovery{margin-top:2.25rem;border-radius:var(--radius-lg)}.quiet-discovery summary,.worksheet summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.75rem;min-height:3.25rem;padding:.5rem 1.25rem;border-radius:var(--radius-lg);font-weight:600;letter-spacing:-.01em;color:var(--text)}.quiet-discovery summary::-webkit-details-marker,.worksheet summary::-webkit-details-marker{display:none}.quiet-discovery summary:after,.worksheet summary:after{content:"";flex-shrink:0;margin-left:auto;width:.5rem;height:.5rem;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg) translateY(-2px);transition:transform .2s var(--ease-out)}.quiet-discovery[open] summary:after,.worksheet details[open] summary:after{transform:rotate(-135deg) translateY(-2px)}.discovery-body{padding:0 1.25rem 1.375rem}.discovery-body p+p{margin-top:.875rem}.lab-path{padding:.75rem 1rem;border-radius:12px;background:var(--fill);font-weight:600;letter-spacing:-.01em}.margin-note{padding-bottom:clamp(3rem,2rem + 3vw,5rem)}.margin-note .quiet-discovery{margin-top:0;max-width:40rem}.margin-note .brand-mark{width:1.75rem;height:1.75rem}.monogram-doodle{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.monogram-doodle i{font-family:Georgia,Times New Roman,serif;font-weight:600}.worksheet{margin:1.75rem 0;padding:.375rem}.worksheet details+details{border-top:.5px solid var(--hairline)}.worksheet summary{border-radius:16px;font-size:1.0625rem;line-height:1.4}.worksheet details>p,.worksheet details>ul{padding:0 1.25rem 1.25rem;margin:0;color:var(--text-2);font-size:1.0625rem}.worksheet details>ul{padding-left:2.5rem}.worksheet li+li{margin-top:.375rem}.timeline{padding:.5rem clamp(1.25rem,.75rem + 1.5vw,2rem)}.timeline-item{display:grid;gap:.25rem 2rem;padding:1.375rem 0;border-top:.5px solid var(--hairline)}.timeline-item:first-child{border-top:0}.timeline-item h3{font-size:1.3125rem;line-height:1.24;letter-spacing:-.016em}.timeline-date{font-size:.875rem;font-weight:600;letter-spacing:.002em;color:var(--text-2);font-variant-numeric:tabular-nums;padding-top:.15rem}.timeline-item .company{margin-top:.2rem;font-weight:500;color:var(--text)}.timeline-item .company+p{margin-top:.25rem;color:var(--text-2)}@media(min-width:640px){.timeline-item{grid-template-columns:8.5rem minmax(0,1fr)}}.resume-link{margin-top:1rem}.note-rows{display:grid;gap:.75rem}.note-row{position:relative;padding:1.375rem 3.25rem 1.375rem 1.5rem;transition:transform .1s ease-out,box-shadow .2s ease}.note-row h2,.note-row h3{font-size:1.3125rem;line-height:1.24;letter-spacing:-.016em;font-weight:600}.note-row p{margin-top:.375rem;color:var(--text-2)}.note-row:after{content:"→";position:absolute;right:1.5rem;top:50%;translate:0 -50%;color:var(--accent);font-weight:500}.stretch{color:inherit}.note-row .stretch:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}.note-row:has(.stretch:focus-visible){outline:3px solid var(--ring);outline-offset:3px}.note-row .stretch:focus-visible{outline:none}.project-page{padding-block:clamp(1.5rem,1rem + 2vw,3rem) var(--section)}.project-page>.text-link:first-child{margin-left:-.125rem}.project-header,.notes-hero,.article-header{max-width:50rem;padding-block:clamp(1.5rem,1rem + 2vw,3rem) clamp(1.5rem,1rem + 1.5vw,2.5rem)}.project-header h1,.notes-hero h1,.article-header h1{font-size:clamp(2.25rem,1.5rem + 3vw,3.75rem);line-height:1.05;letter-spacing:-.028em}.project-header .eyebrow,.notes-hero .eyebrow,.article-header .eyebrow{margin-bottom:1rem}.article-dek{margin-top:1.25rem}.project-header .article-dek+p,.notes-hero h1+p{margin-top:1rem;color:var(--text-2);max-width:40rem}.notes-hero h1+p{font-size:clamp(1.1875rem,1.05rem + .5vw,1.4375rem);line-height:1.42;letter-spacing:-.014em}.project-facts{display:grid;gap:1rem 2rem;margin:1.75rem 0 0;padding:1rem 1.25rem;background:var(--inset);border:1px solid var(--hairline);border-radius:var(--radius-md);font-size:.9375rem;line-height:1.45}.project-facts dt{color:var(--text-2);font-size:.8125rem;font-weight:600;letter-spacing:.002em}.project-facts dd{margin:.2rem 0 0;font-weight:500}@media(min-width:640px){.project-facts{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}.project-page>.process-sketch{max-width:50rem;padding:clamp(1rem,.5rem + 1.5vw,1.75rem);background:var(--glass-strong);-webkit-backdrop-filter:blur(40px) saturate(190%);backdrop-filter:blur(40px) saturate(190%);border:1px solid var(--glass-edge);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.story-body{max-width:42rem;margin:clamp(2.5rem,2rem + 2vw,4rem) auto;font-size:1.1875rem;line-height:1.58;letter-spacing:-.011em}.story-body>p+p,.article-body>p+p{margin-top:1.05em}.story-body h2,.article-body h2{margin:2.5rem 0 .875rem;font-size:clamp(1.5rem,1.25rem + .9vw,1.875rem);line-height:1.15;letter-spacing:-.022em}.story-body h2:first-child{margin-top:0}.story-body .caption{margin-top:.25rem;margin-bottom:1.25rem}.source-flow{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 .75rem;padding:.75rem;background:var(--inset);border:1px solid var(--hairline);border-radius:var(--radius-md);font-size:.9375rem;line-height:1.35}.source-flow span{flex:1 1 8rem;display:grid;place-items:center;min-height:2.75rem;padding:.5rem .75rem;border-radius:12px;background:var(--fill);font-weight:600;text-align:center;letter-spacing:-.01em}.source-flow b{color:var(--text-2);font-weight:500}.related-projects{display:flex;flex-wrap:wrap;gap:.5rem 2rem;max-width:42rem;margin-inline:auto;padding-top:1.25rem;border-top:.5px solid var(--hairline)}.project-index-row{display:grid;gap:1.75rem;padding:clamp(1.5rem,1rem + 2vw,2.75rem)}.project-index-row+.project-index-row{margin-top:1.25rem}.project-index-row h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);line-height:1.14;letter-spacing:-.021em}.project-index-row h2+p{margin-top:1rem;color:var(--text-2)}.project-index-row .text-link{margin-top:.5rem}@media(min-width:900px){.project-index-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}}.lab-intro{display:grid;gap:1rem 3rem;padding-block:1rem var(--section)}.lab-intro h2{margin-bottom:1.25rem}.lab-intro>div>p{max-width:40rem;color:var(--text-2)}.lab-intro>div>p+p{margin-top:1em}.lab-aside{align-self:center;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem)}@media(min-width:900px){.lab-intro{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.tool-group{padding-bottom:clamp(2rem,1.5rem + 2vw,3.5rem)}.tool-group h2{margin-bottom:1rem;font-size:1.3125rem;line-height:1.24;letter-spacing:-.016em;font-weight:600}.tool-grid{display:grid;gap:.75rem}@media(min-width:640px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:960px){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tool{display:flex;align-items:center;gap:1rem;min-height:4.75rem;padding:1rem 1.25rem;color:var(--text)}.tool img{flex:0 0 2.5rem;width:2.5rem;height:2.5rem;object-fit:contain;padding:.375rem;border-radius:10px;background:#fff;box-sizing:content-box}.tool strong{display:block;font-weight:600;letter-spacing:-.012em}.tool span span{display:block;font-size:.9375rem;line-height:1.4;color:var(--text-2)}.tool:active{transform:scale(.99)}.project-page>.editorial-section{padding-block:clamp(2rem,1.5rem + 2vw,3.5rem);border-top:.5px solid var(--hairline)}.editorial-section .prose .worksheet{margin-top:1.5rem}.notes-page{max-width:50rem;padding-bottom:var(--section)}.notes-page .article-back{margin-top:1.5rem}.article-shell{max-width:46rem;padding-block:clamp(1.5rem,1rem + 2vw,3rem) var(--section)}.article-header{padding-bottom:2rem;margin-bottom:2rem;border-bottom:.5px solid var(--hairline)}.article-body{font-size:1.1875rem;line-height:1.58;letter-spacing:-.011em}.article-body dt{margin-top:1.125rem;font-weight:600}.article-body dd{margin:.25rem 0 0;color:var(--text-2)}.article-body ul{padding-left:1.25rem;margin-top:1rem}.credits-list li{margin-bottom:.5rem}.credits-list a{display:inline-block;padding-block:.4rem}.related-work{margin-top:clamp(2.5rem,2rem + 2vw,3.5rem);padding:clamp(1.25rem,1rem + 1vw,2rem)}.related-work .eyebrow{margin-bottom:.375rem}.related-work p:not(.eyebrow){color:var(--text-2)}.related-work .text-link{margin-top:.25rem}.article-back{margin-top:1.5rem}.project-page>.article-back{margin-top:0}.notes-hero .hero-actions{margin-top:1.75rem}.not-found{padding-bottom:var(--section)}.footer{border-top:.5px solid var(--hairline);padding-block:2rem 2.5rem}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem}.footer p{font-size:.875rem;line-height:1.5;color:var(--text)}.footer p span{color:var(--text-2)}.footer-links{display:flex;flex-wrap:wrap;gap:0 .25rem;margin-left:-.85rem}.footer-links .pill{color:var(--accent)}@media(min-width:760px){.footer-links{margin-left:0;margin-right:-.85rem}}@media(max-width:640px){:root{--nav-h: 6.25rem}.nav-inner{flex-direction:column;align-items:stretch;gap:0;padding-block:.25rem}.nav-links{justify-content:space-between;margin-inline:-.6rem}.pill{padding:0 .6rem;font-size:.9375rem}.footer-links{margin-left:-.6rem}.note-row{padding:1.25rem 2.75rem 1.25rem 1.25rem}.note-row:after{right:1.125rem}}@media(max-width:360px){.pill{padding:0 .45rem;font-size:.875rem}}.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease-out) var(--delay, 0ms),transform .45s var(--ease-out) var(--delay, 0ms)}.js .reveal.is-in{opacity:1;transform:none}.js .reveal.press.is-in{transition:transform .1s ease-out,box-shadow .2s ease,opacity .45s var(--ease-out) var(--delay, 0ms)}.js .reveal.press.is-in:is(:active,:has(.stretch:active)){transform:scale(.99)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .reveal.press.is-in{transform:none;transition:opacity .3s ease var(--delay, 0ms)}.button:active,.pill:active,.text-link:active,.article-back a:active,summary:active,.press:active,.press:has(.stretch:active),.tool:active,.js .reveal.press.is-in:is(:active,:has(.stretch:active)){transform:none}.quiet-discovery summary:after,.worksheet summary:after{transition:none}}@media(prefers-reduced-transparency:reduce){.glass,.glass.thick,.nav,.project-page>.process-sketch{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}.glass,.glass.thick,.project-page>.process-sketch{background:color-mix(in srgb,var(--bg) 70%,var(--text) 4%)}}@media(prefers-contrast:more){:root{--hairline: rgba(0, 0, 0, .45);--glass-edge: rgba(0, 0, 0, .45);--text-2: #3a3a3c}:root.dark{--hairline: rgba(255, 255, 255, .5);--glass-edge: rgba(255, 255, 255, .5);--text-2: #d1d1d6}.glass,.project-page>.process-sketch{background:var(--bg)}}@media(prefers-contrast:more)and (prefers-color-scheme:dark){:root:not(.light){--hairline: rgba(255, 255, 255, .5);--glass-edge: rgba(255, 255, 255, .5);--text-2: #d1d1d6}}@media print{.nav,.footer,.skip-link,.hero-actions,.fields{display:none}.section-shell{width:100%}body{background:#fff;color:#000}.glass,.project-page>.process-sketch{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}details,.process-sketch{break-inside:avoid}}article.project-page{width:min(100% - 2 * var(--gutter),46rem)}article.project-page>.process-sketch{max-width:none}article.project-page .story-body{max-width:none;margin-inline:0}article.project-page .related-projects{max-width:none}body{min-height:100svh;display:flex;flex-direction:column}body>main{flex:1 0 auto}body:has(.not-found) .fields{background:radial-gradient(38rem 30rem at 92% 6%,var(--field-2),transparent 70%),radial-gradient(34rem 28rem at 2% 78%,var(--field-1),transparent 70%)}
