:root{color-scheme:light;--ink:#101113;--muted:#8a8b8e;--paper:#f8f8f7;--blue:#0876ff;--line:#1011131f;--prism-text:linear-gradient(135deg, #18ccef 0%, #6d74ff 58%, #c85fc8 100%);--tab-glass-blur:4px;--tab-glass-opacity:.85;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}body:before,body:after{content:"";z-index:-1;aspect-ratio:1;filter:blur(110px);opacity:.12;pointer-events:none;border-radius:50%;width:55vw;position:fixed}body:before{background:#d9e7ff;top:-30vw;left:15vw}body:after{background:#e9e0ff;bottom:-30vw;right:-25vw}a{color:inherit}button{font:inherit}[hidden]{display:none!important}.wordmark{color:inherit;align-items:center;gap:10px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.mark{background:currentColor;border-radius:50%;width:8px;height:8px}.home-shell{grid-template-columns:minmax(340px,33vw) 1fr;min-height:100svh;display:grid}.home-shell:after{content:"";z-index:3;pointer-events:none;background:#1011130f;width:1px;position:fixed;top:clamp(64px,8vh,96px);bottom:clamp(64px,8vh,96px);left:max(340px,33vw)}.sidebar{z-index:2;overscroll-behavior:contain;scrollbar-width:none;background:#fcfcfb94;flex-direction:column;height:100svh;padding:0 clamp(28px,3vw,54px) 32px;display:flex;position:relative;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.tab-blur-layer{z-index:8;backdrop-filter:blur(var(--tab-glass-blur)) saturate(100%);pointer-events:none;background:#f8f8f704;border-radius:72px;transition:left .45s cubic-bezier(.2,.8,.2,1);position:fixed;mask-repeat:no-repeat}.tab-core-blur-layer{z-index:9;backdrop-filter:blur(4px)saturate();pointer-events:none;background:#f8f8f7d9;border-radius:19px;transition:left .45s cubic-bezier(.2,.8,.2,1);position:fixed}.sidebar-sticky-header{z-index:10;padding-top:32px;padding-bottom:24px;position:sticky;top:0}.home-header{justify-content:space-between;align-items:center;display:flex}.edition,.sidebar-footer{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:10px DM Mono,monospace}.experiment-tabs{z-index:1;border-radius:19px;grid-template-columns:1fr 1fr;gap:4px;margin:clamp(70px,11vh,120px) -12px 0;padding:8px;display:grid;position:relative}.tab-glass{pointer-events:none;background:0 0;border:1px solid #ffffffc2;border-radius:19px;width:calc(50% - 2px);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s;position:absolute;inset:0 auto 0 0;box-shadow:inset 0 1px #ffffffb8,0 12px 42px #23272f0e}.tab-glass:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;filter:blur(.15px);opacity:.72;background:conic-gradient(from 205deg,#0000 0deg 32deg,#00e0ffb8 47deg,#6559ffad 57deg,#ff37cdb8 67deg,#ffb1289e 77deg,#0000 96deg 286deg,#ff46ac80 304deg,#5b5dff85 316deg,#00e0ff7a 328deg,#0000 344deg);padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.experiment-tabs:has(button[data-filter=small][aria-selected=true]) .tab-glass{transform:translate(calc(100% + 4px))}.experiment-tabs:has(button[aria-selected=true]:hover) .tab-glass{background:#ffffff29}.experiment-tabs:has(button[aria-selected=true]:hover) .tab-glass:after{opacity:.92}.experiment-tabs button{z-index:1;min-height:52px;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:7px;padding:0 5px;font-size:clamp(10px,.85vw,13px);transition:color .3s,background .3s,box-shadow .3s;display:flex;position:relative}.experiment-tabs button[aria-selected=false]{color:#1011137a}.experiment-tabs button[aria-selected=false]:hover,.experiment-tabs button[aria-selected=false]:focus-visible{color:#101113b8}.experiment-tabs i{color:#1011134d;font-size:17px;font-style:normal;font-weight:300;transition:color .35s}.experiment-tabs sup{color:#1011134d;vertical-align:super;margin-left:3px;font:8px DM Mono,monospace}.experiment-tabs button[aria-selected=true] i,.experiment-tabs button[aria-selected=true] sup{color:#0000;background:linear-gradient(155deg,#18ccef 10%,#6d74ff 62%,#aa63e8 100%);background-clip:text}.experiment-tabs button[aria-selected=false]:hover,.experiment-tabs button[aria-selected=false]:focus-visible{background:#ffffff47;box-shadow:inset 0 0 0 1px #ffffff80,0 8px 24px #5058940b}.experiment-tabs button:focus-visible{outline-offset:-3px;outline:1px solid #10111347}.experiment-tabs button[aria-selected=false]:hover i,.experiment-tabs button[aria-selected=false]:hover sup,.experiment-tabs button[aria-selected=false]:focus-visible i,.experiment-tabs button[aria-selected=false]:focus-visible sup{color:#0000;background:linear-gradient(155deg,#18ccefb8,#6d74ffb8);background-clip:text}.project-nav{flex:none;margin-top:clamp(44px,8vh,90px)}.project-nav ol{margin:0;padding:0;list-style:none;position:relative}.project-nav li[data-scale=big]{padding-left:16px}.project-nav li[data-scale=small]{padding-left:calc(50% + 18px)}.project-nav li[data-scale=big]~li[data-scale=big],.project-nav li[data-scale=small]~li[data-scale=small]{margin-top:clamp(35px,5.5vh,68px)}.project-nav a{flex-direction:column;margin-bottom:-10px;padding-bottom:10px;text-decoration:none;display:inline-flex}.project-nav a span{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:400;transition:color .35s}.project-nav a strong{letter-spacing:-.035em;font-size:clamp(18px,1.65vw,25px);font-weight:400;position:relative}.project-nav a strong:after{content:"";opacity:0;background:linear-gradient(90deg,#19cbea 0%,#6d74ff 64%,#c85fc8 100%);height:1px;transition:right .4s cubic-bezier(.2,.8,.2,1),opacity .35s;position:absolute;bottom:-4px;left:0;right:100%}.project-nav a.is-previewing span{color:#0000;background:linear-gradient(135deg,#19cbea 0%,#6d74ff 72%,#b35fd8 100%);background-clip:text}.project-nav a.is-previewing strong{color:#0000;background:linear-gradient(100deg,#405c67 0%,#585f7d 58%,#715c82 100%);background-clip:text}.project-nav a.is-previewing strong:after{opacity:.62;right:82%}.project-nav a:hover span,.project-nav a:focus-visible span{color:#0000;background:linear-gradient(135deg,#19cbea 0%,#6d74ff 72%,#b35fd8 100%);background-clip:text}.project-nav a:hover strong:after,.project-nav a:focus-visible strong:after{opacity:1;right:0}.sidebar-footer{justify-content:space-between;gap:18px;margin-top:auto;padding-top:clamp(120px,18vh,200px);display:flex}.preview-area{--preview-lift:clamp(32px, 4.2vh, 48px);background:#fff;height:100svh;position:sticky;top:0;overflow:hidden}.particle-preview{z-index:1;top:calc(50% - var(--preview-lift));aspect-ratio:16/9;background:#fff;border-radius:4px;width:86%;height:auto;position:absolute;left:7%;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #10111309}.preview{z-index:2;opacity:0;pointer-events:none;transition:opacity .8s;position:absolute;inset:0;overflow:hidden}.preview.active{opacity:1}.preview-wash{background:radial-gradient(circle at 32% 38%, color-mix(in srgb, var(--accent) 78%, white), transparent 28%), radial-gradient(circle at 68% 64%, color-mix(in srgb, var(--accent) 44%, #ecf2ff), transparent 34%), linear-gradient(135deg, #f1f2f0, #e8e9eb);filter:saturate(.78);border-radius:4px;position:absolute;inset:8% 7%}.preview-wash,.preview-form{display:none}.preview-form{border:1px solid #1011132e;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);position:absolute}.form-a{aspect-ratio:1;backdrop-filter:blur(8px);width:28vw;transform:translateY(20px) rotate(calc(var(--order) * 17deg));background:#ffffff14;border-radius:50%;top:17%;left:19%}.form-b{aspect-ratio:1;background:color-mix(in srgb, var(--accent) 18%, transparent);width:20vw;bottom:17%;right:13%;transform:rotate(45deg)translateY(20px)}.preview.active .form-a{transform:translateY(0) rotate(calc(var(--order) * 17deg))}.preview.active .form-b{transform:rotate(45deg)translateY(0)}.preview-caption{z-index:2;left:11%;right:11%;bottom:calc(12% + var(--preview-lift));grid-template-columns:1fr auto;align-items:end;gap:8px 40px;display:grid;position:absolute}.preview-caption span{color:#1011138a;text-transform:uppercase;letter-spacing:.08em;font:9px DM Mono,monospace}.preview-caption strong{letter-spacing:-.07em;grid-row:2;font-size:clamp(40px,6vw,100px);font-weight:400;line-height:.9}.preview-caption p{color:#101113a6;grid-area:2/2;width:210px;margin:0;font-size:11px;line-height:1.45}.case-study{width:min(100% - 48px,1500px);margin:0 auto}.case-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;font-size:11px;display:flex}.case-nav>a:last-child{color:#0000;background:var(--prism-text);background-clip:text;text-decoration:none}.link-arrow{color:#0000;background:var(--prism-text);background-clip:text;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:inline-block}.link-label{color:#0000;background:var(--prism-text);background-clip:text}.case-live-link .link-arrow,.case-meta a .link-arrow{margin-left:3px;font-family:Manrope,sans-serif;font-size:17px;font-weight:400;line-height:1;transform:translateY(0)}.case-nav a:hover .link-arrow,.case-nav a:focus-visible .link-arrow,.case-live-link:hover .link-arrow,.case-live-link:focus-visible .link-arrow,.case-meta a:hover .link-arrow,.case-meta a:focus-visible .link-arrow,.case-meta-action:hover .link-arrow,.case-meta-action:focus-within .link-arrow,.case-footer a:hover .link-arrow,.case-footer a:focus-visible .link-arrow{transform:translate(3px,-2px)}.case-nav>a:last-child:hover .link-arrow-back,.case-nav>a:last-child:focus-visible .link-arrow-back,.case-footer a:hover .link-arrow-back,.case-footer a:focus-visible .link-arrow-back{transform:translate(-3px,-2px)}.case-hero{flex-direction:column;min-height:78svh;padding:54px 0 70px;display:flex}.case-hero.has-preview-image{min-height:68svh}.case-index,.section-number{color:#0000;background:var(--prism-text);text-transform:capitalize;background-clip:text;font-size:11px}.case-hero h1{letter-spacing:-.078em;margin:auto 0 26px;font-size:clamp(68px,12vw,190px);font-weight:400;line-height:.82}.case-hero-aside{align-self:flex-end;width:min(100%,470px)}.case-lede{color:var(--muted);letter-spacing:-.03em;margin:0;font-size:clamp(16px,1.6vw,23px);line-height:1.35}.case-live-link{z-index:0;isolation:isolate;width:min(58%,300px);color:inherit;letter-spacing:.06em;text-transform:uppercase;border-radius:4px;align-items:baseline;margin-top:24px;padding:12px 5px 13px 0;font:11px DM Mono,monospace;text-decoration:none;display:inline-flex;position:relative}.case-live-link:before,.case-meta-action:before{content:"";z-index:-1;border-radius:inherit;opacity:0;backdrop-filter:blur(5px)saturate(115%);background:#fff3;border:1px solid #ffffffb8;transition:opacity .28s;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffbd,0 12px 32px #23272f0e}.case-live-link:after,.case-meta-action:after{content:"";z-index:-1;border-radius:inherit;-webkit-mask-composite:xor;opacity:0;background:conic-gradient(from 205deg,#0000 0deg 34deg,#00e0ff9e 48deg,#6559ff94 60deg,#ff37cd94 72deg,#ffb1287a 84deg,#0000 102deg 286deg,#ff46ac6b 304deg,#5b5dff70 318deg,#00e0ff66 330deg,#0000 346deg);padding:1px;transition:opacity .28s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.case-live-link:before{inset:0 0 0 -5px}.case-live-link:after{background:linear-gradient(115deg,#00e0ff9e,#6559ff8c,#ff37cd7a,#0000 54%) 0 0/32% 100% no-repeat;inset:-1px -1px -1px -6px}.case-live-link:hover:before,.case-live-link:focus-visible:before,.case-live-link:hover:after,.case-live-link:focus-visible:after,.case-meta-action:hover:before,.case-meta-action:focus-within:before,.case-meta-action:hover:after,.case-meta-action:focus-within:after{opacity:1}.case-visual{background:color-mix(in srgb, var(--accent) 22%, #e9eaeb);place-items:center;min-height:min(72vw,850px);display:grid;position:relative;overflow:hidden}.case-visual-media{background:radial-gradient(circle at 16% 20%,#b4d7f59e,#0000 34%),radial-gradient(circle at 88% 75%,#cce8ab8c,#0000 31%),linear-gradient(135deg,#d7e6ef,#edf0eb 48%,#dcead9);min-height:auto;padding:clamp(34px,5vw,74px)}.case-visual-media img{border-radius:5px;width:100%;height:auto;display:block;box-shadow:0 34px 90px #3d4c542e}.case-visual>span{letter-spacing:.08em;text-transform:uppercase;font:9px DM Mono,monospace;position:absolute;bottom:22px;left:24px}.case-orbit{aspect-ratio:1;backdrop-filter:blur(9px);background:#ffffff1c;border:1px solid #10111347;border-radius:50% 20%;width:min(49vw,650px);transform:rotate(18deg)}.case-copy{grid-template-columns:100px 1fr minmax(160px,240px);align-items:start;gap:30px;min-height:620px;padding:150px 5%;display:grid}.case-copy .section-number{transform:translateY(19px)}.case-copy h2{letter-spacing:-.055em;max-width:620px;margin:0 0 45px;font-size:clamp(34px,4.2vw,64px);font-weight:400;line-height:1}.prose{max-width:min(820px,100%);color:var(--muted);font-size:15px;line-height:1.6}.prose p{max-width:490px}.prose em{font-synthesis:style;font-style:italic}.prose img{border-radius:5px;width:100%;margin:54px 0 28px;display:block;box-shadow:0 24px 70px #3d4c5424}.case-meta{margin:2px 0 0}.case-meta div{border-bottom:1px solid var(--line);margin-bottom:18px;padding:0 0 18px}.case-meta dt,.case-meta dd{padding-left:3px}.case-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font:9px DM Mono,monospace}.case-meta dd{text-transform:capitalize;margin:0;font-size:13px}.case-meta .case-meta-action{cursor:pointer;border-radius:4px;margin:-18px 0 0;padding:28px 3px 20px;position:relative}.case-meta a{color:#0000;background:var(--prism-text);text-transform:none;background-clip:text;align-items:baseline;text-decoration:none;display:inline-flex}.case-footer{min-height:300px;color:var(--muted);justify-content:flex-end;align-items:flex-end;padding:60px 0;font-size:12px;display:flex}.case-footer a{color:#0000;background:var(--prism-text);background-clip:text;text-decoration:none}.reveal{opacity:0;filter:blur(12px);animation:1.05s cubic-bezier(.2,.75,.2,1) 80ms forwards reveal-in;transform:translateY(15px)}.home-shell .experiment-tabs{animation-delay:.18s}.home-shell .project-nav{animation-delay:.3s}.home-shell .sidebar-footer{animation-delay:.44s}.case-study .reveal{animation:none}.case-study .reveal.revealed{animation:1.05s cubic-bezier(.2,.75,.2,1) forwards reveal-in}@keyframes reveal-in{to{opacity:1;filter:blur();transform:translateY(0)}}@media (width<=800px){.home-shell{display:block}.home-shell:after,.tab-blur-layer,.tab-core-blur-layer{display:none}.sidebar{border-right:0;height:auto;padding:24px 18px 40px;overflow:visible}.sidebar-sticky-header{background:0 0;padding-top:0;position:relative;top:auto}.project-nav li[data-scale]{padding-left:0}.sidebar-footer{padding-top:80px}.experiment-tabs{margin-top:60px}.project-nav{min-height:310px;margin-top:60px}.preview-area{--preview-lift:0px;height:58svh;min-height:430px;position:relative}.preview-wash{inset:5%}.form-a{width:52vw;left:10%}.form-b{width:38vw}.preview-caption{display:block;bottom:9%;left:9%;right:9%}.preview-caption strong{margin-top:8px;font-size:clamp(42px,16vw,74px);display:block}.preview-caption p{width:80%;margin-top:15px}.case-study{width:min(100% - 24px,1500px)}.case-hero{min-height:70svh}.case-hero h1{font-size:clamp(64px,21vw,120px)}.case-copy{grid-template-columns:46px 1fr;min-height:auto;padding:90px 6px}.case-copy .section-number{transform:translateY(5px)}.case-meta{grid-column:2;margin-top:45px}.case-visual{min-height:75svh}.case-visual-media{min-height:auto;padding:18px}.case-orbit{width:70vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.case-study .reveal,.case-study .reveal.revealed{opacity:1;filter:none;animation:none;transform:none}.preview,.preview-form,.tab-glass{transition:none}}
