@font-face{font-family:GeistSans;src:url(/_next/static/media/b5bb120f6fcabcb4-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_64f856{font-family:GeistSans,GeistSans Fallback}.__variable_64f856{--font-geist-sans:"GeistSans","GeistSans Fallback"}:root{--sans:var(--font-geist-sans),system-ui,-apple-system,sans-serif;--mono:var(--font-geist-sans),system-ui,-apple-system,sans-serif;--ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--maxw:1240px;--gutter:clamp(20px,5vw,72px);--radius:14px;--radius-sm:9px;--nav-h:60px}:root,:root[data-theme=dark]{--bg:#08090A;--bg-tint:#0C0D0F;--surface:#0F1011;--surface-2:#141517;--surface-hi:#1A1C1F;--line:rgba(255,255,255,.09);--line-soft:rgba(255,255,255,.055);--line-strong:rgba(255,255,255,.16);--ink:#F4F5F6;--ink-2:#C9CCD1;--mut:#8A8F98;--mut-2:#5C616B;--mut-3:#3A3E45;--on-ink:#08090A;--glow:rgba(255,255,255,.05);--shadow:0 1px 0 rgba(255,255,255,.04),0 18px 50px -24px rgba(0,0,0,.8);--vis-grid:rgba(255,255,255,.04);color-scheme:dark}:root[data-theme=light]{--bg:#FBFBFA;--bg-tint:#F4F4F2;--surface:#FFFFFF;--surface-2:#F6F6F4;--surface-hi:#EFEFEC;--line:rgba(0,0,0,.12);--line-soft:rgba(0,0,0,.07);--line-strong:rgba(0,0,0,.22);--ink:#0A0A0B;--ink-2:#2A2C30;--mut:#6A6F78;--mut-2:#9aa0a8;--mut-3:#C5C8CC;--on-ink:#FBFBFA;--glow:rgba(0,0,0,.04);--shadow:0 1px 0 rgba(0,0,0,.02),0 18px 50px -28px rgba(0,0,0,.18);--vis-grid:rgba(0,0,0,.05);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01","cv01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background .5s var(--ease),color .5s var(--ease)}body.cmdk-open{overflow:hidden}::selection{background:var(--ink);color:var(--on-ink)}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:0}::view-transition-new(root){z-index:1;animation:vt-reveal .5s var(--ease-out)}@keyframes vt-reveal{0%{-webkit-clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0));clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{-webkit-clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,0));clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,0))}}html.theme-switching body{transition:none}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none}}a{text-decoration:none}a,button{color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 65%,transparent);outline-offset:3px;border-radius:4px}:where(a,button):focus-visible{outline-offset:4px}.magnetic{transition:transform .35s var(--ease-out)}@media (prefers-reduced-motion:reduce){.magnetic{transition:none}}.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1100px 520px at 50% -8%,var(--glow),transparent 70%),radial-gradient(900px 600px at 100% 110%,var(--glow),transparent 65%);opacity:.9}.wrap{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);font-weight:500}.kicker,.mono{font-family:var(--mono)}.nav{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--nav-h);display:flex;align-items:center;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:border-color .3s var(--ease),background .5s var(--ease),backdrop-filter .5s var(--ease),-webkit-backdrop-filter .5s var(--ease)}.nav.scrolled{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--line-soft)}@property --nav-k{syntax:"<number>";inherits:false;initial-value:0}.nav-inner{--nav-k:0;width:100%;max-width:100%;margin:0 auto;padding-block:0;padding-inline:calc(var(--gutter) + var(--nav-k) * max(0px, calc(50vw - var(--maxw) / 2)));display:flex;align-items:center;gap:22px;transition:--nav-k .5s var(--ease)}.nav.compact .nav-inner{--nav-k:1}@media (prefers-reduced-motion:reduce){.nav-inner{transition:none}}.wordmark{display:flex;align-items:center;gap:11px;font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:500;white-space:nowrap}.avail-dot{width:7px;height:7px;border-radius:50%;background:var(--ink);position:relative;flex:none}.avail-dot:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--ink);opacity:.35;animation:ping 2.6s var(--ease) infinite}@keyframes ping{0%{transform:scale(.6);opacity:.5}80%,to{transform:scale(1.6);opacity:0}}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-link{font-size:13.5px;color:var(--mut);padding:7px 13px;border-radius:8px;letter-spacing:-.01em;transition:color .18s var(--ease),background .18s var(--ease);cursor:pointer}.nav-link:hover{color:var(--ink);background:var(--surface-2)}.nav-right{gap:8px}.cmdk-btn,.nav-right{display:flex;align-items:center}.cmdk-btn{gap:9px;height:34px;padding:0 10px 0 13px;border:1px solid var(--line);border-radius:9px;color:var(--mut);font-size:13px;background:var(--surface);transition:.18s var(--ease);letter-spacing:-.01em;white-space:nowrap}.cmdk-btn:hover{color:var(--ink);border-color:var(--line-strong)}.kbd{font-family:var(--mono);font-size:11px;color:var(--mut);border:1px solid var(--line);border-radius:5px;padding:2px 6px;line-height:1;background:var(--bg-tint)}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--mut);background:var(--surface);transition:.18s var(--ease)}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}.icon-btn svg{width:16px;height:16px}.cmdk-scrim{position:fixed;inset:0;z-index:200;display:grid;place-items:start center;padding-top:14vh;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:scrimIn .18s var(--ease)}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}.cmdk{width:min(580px,calc(100vw - 40px));background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;animation:cmdkIn .26s var(--ease-out)}@keyframes cmdkIn{0%{opacity:0;transform:translateY(-8px) scale(.97);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.cmdk-search{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-soft)}.cmdk-search svg{width:17px;height:17px;color:var(--mut);flex:none}.cmdk-input{flex:1 1;background:none;border:none;outline:none;color:var(--ink);font-family:var(--sans);font-size:16px;letter-spacing:-.01em}.cmdk-input::placeholder{color:var(--mut-2)}.cmdk-list{max-height:56vh;overflow-y:auto;padding:7px}.cmdk-group{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut-2);padding:12px 11px 6px}.cmdk-item{display:flex;align-items:center;gap:13px;padding:10px 11px;border-radius:9px;color:var(--ink-2);font-size:14px;letter-spacing:-.01em;cursor:pointer}.cmdk-item .ci-ic{width:17px;height:17px;color:var(--mut);flex:none;display:grid;place-items:center}.cmdk-item .ci-ic svg{width:16px;height:16px}.cmdk-item .ci-meta{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--mut-2)}.cmdk-item.active{background:var(--surface-hi);color:var(--ink)}.cmdk-item.active .ci-ic{color:var(--ink)}.cmdk-empty{padding:26px 14px;color:var(--mut-2);font-size:14px;text-align:center}.cmdk-foot{gap:16px;padding:10px 16px;border-top:1px solid var(--line-soft);color:var(--mut-2);font-size:11px}.cmdk-foot,.cmdk-foot .ff{display:flex;align-items:center}.cmdk-foot .ff{gap:6px}.cmdk-foot .kbd{font-size:10px;padding:1px 5px}section{position:relative}.section{padding:clamp(80px,11vh,150px) 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}.section-kicker{margin-bottom:18px}.section-title{font-size:clamp(34px,5.2vw,62px);font-weight:600;letter-spacing:-.035em;line-height:.98}.rule{height:1px;background:var(--line-soft);border:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:calc(var(--i, 0) * 60ms)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}html.lenis-on{scroll-behavior:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.fx-canvas{position:fixed;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.35));mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.35))}.page-t{animation:pageIn .5s var(--ease-out)}@keyframes pageIn{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.page-t{animation:none}}.rt-l{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.rt-l .rt-i{display:block;will-change:transform}.ct-m{overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}.ct-c,.ct-m{display:inline-block}.ct-c{will-change:transform}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only,html.intro-active{overflow:hidden}.intro-active .nav{opacity:0;visibility:hidden}.intro-active .hero-name .ln>span,.intro-active .hero-right,.intro-active .hero-sub{animation-play-state:paused}.intro-active .fx-canvas{z-index:301}.intro-bg{position:fixed;inset:0;z-index:300;background:var(--bg);overflow:hidden}.intro-shader{position:absolute;inset:0;pointer-events:none}.intro-shader canvas{display:block;width:100%;height:100%}.intro-ui{position:fixed;inset:0;z-index:302;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end}.intro-bottom{display:flex;align-items:flex-end;padding:0 var(--gutter) clamp(44px,7vh,80px)}.intro-count{overflow:hidden;font-size:clamp(64px,9vw,128px);font-weight:600;letter-spacing:-.04em;line-height:.85;margin-left:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.intro-count-i{display:block;will-change:transform}.intro-pct{font-size:.32em;color:var(--mut-2);margin-left:.1em;letter-spacing:0}.intro-bar{position:absolute;left:0;right:0;bottom:0;height:2px}.intro-bar i{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left center}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:var(--nav-h);padding-bottom:clamp(48px,7vh,84px);max-width:100%}.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:clamp(20px,3vw,34px);flex-wrap:wrap}.hero-eyebrow .kicker{white-space:nowrap}.hero-divider{width:26px;height:1px;background:var(--line-strong);transform:scaleX(0);transform-origin:left center;animation:heroDraw .55s var(--ease-out) .6s forwards}@keyframes heroDraw{to{transform:scaleX(1)}}.intro-active .hero-divider{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.hero-divider{transform:scaleX(1);animation:none}}.hero-name{font-size:clamp(58px,13.5vw,184px);font-weight:600;letter-spacing:-.05em;line-height:.86;margin-left:-.08em}.hero-name .ln{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}.hero-name .ln>span{display:block;transform:translateY(102%);animation:rise 1s var(--ease-out) forwards}.hero-name .ln:nth-child(2)>span{animation-delay:.09s}@keyframes rise{to{transform:none}}.hero-name .light{color:var(--mut-2)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(28px,5vw,80px);flex-wrap:wrap;width:100%}.hero-lead{min-width:0}.hero-aside{display:flex;flex-direction:column;align-items:flex-end;gap:clamp(18px,2vw,26px);flex:0 1 460px;max-width:460px}.hero-sub{font-size:clamp(15px,1.5vw,18px);line-height:1.6;color:var(--ink-2);letter-spacing:-.01em;text-align:right;opacity:0;animation:fadeUp .8s var(--ease-out) .4s forwards;text-wrap:pretty}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-right{display:flex;flex-direction:column;gap:14px;align-items:flex-end;opacity:0;animation:fadeUp .8s var(--ease-out) .52s forwards}.avail-pill{display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 15px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);white-space:nowrap}.avail-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--ink);position:relative}.avail-pill .dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--ink);opacity:.4;animation:ping 2.6s var(--ease) infinite}.hero-loc{font-family:var(--mono);font-size:12px;color:var(--mut);letter-spacing:.04em}.view-toggle{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.seg{display:flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:7px;font-size:13px;color:var(--mut);letter-spacing:-.01em;transition:color .18s var(--ease)}.seg svg{width:14px;height:14px}.seg.on{color:var(--ink);background:var(--surface-hi);box-shadow:var(--shadow)}.seg:not(.on):hover{color:var(--ink-2)}.facet-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.facet,.facet-row{align-items:center}.facet{display:inline-flex;gap:8px;height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;color:var(--mut);letter-spacing:-.01em;transition:.16s var(--ease)}.facet .ct{font-family:var(--mono);font-size:10.5px;color:var(--mut-2)}.facet:hover{color:var(--ink-2);border-color:var(--line-strong)}.facet.on{color:var(--on-ink);background:var(--ink);border-color:var(--ink)}.facet.on .ct{color:color-mix(in srgb,var(--on-ink) 55%,transparent)}.gallery{display:flex;flex-direction:column;gap:clamp(16px,2.4vw,30px)}.showcase{--mx:50%;--my:50%;position:relative;display:grid;grid-template-columns:1fr 1.18fr;min-height:400px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color .3s var(--ease),transform .4s var(--ease-out)}.showcase:hover{border-color:var(--line-strong);transform:translateY(-2px)}.showcase:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;z-index:2;background:radial-gradient(240px circle at var(--mx) var(--my),var(--ink),transparent 62%);opacity:0;transition:opacity .4s var(--ease);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.showcase:hover:after{opacity:.5}@media (prefers-reduced-motion:reduce){.showcase{transition:border-color .3s var(--ease)}}@media (pointer:coarse){.showcase:after{display:none}}.showcase.flip{grid-template-columns:1.18fr 1fr}.showcase.flip .sc-vis{order:-1;border-left:none;border-right:1px solid var(--line)}.sc-meta{padding:clamp(26px,3vw,42px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}.sc-top .sc-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}.sc-num{font-size:12px;letter-spacing:.08em}.sc-num,.sc-status{font-family:var(--mono);color:var(--mut)}.sc-status{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.sc-status .d{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--mut)}.sc-status.done .d{background:var(--mut)}.sc-title{font-size:clamp(26px,3vw,38px);font-weight:600;letter-spacing:-.035em;line-height:1.04}.sc-summary{font-size:15px;line-height:1.62;color:var(--mut);max-width:42ch;letter-spacing:-.01em}.sc-tags{display:flex;flex-wrap:wrap;gap:7px}.sc-cta{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);letter-spacing:-.01em;align-self:flex-start;white-space:nowrap;cursor:pointer}.sc-cta svg{width:15px;height:15px;transition:transform .25s var(--ease-out)}.sc-cta:hover svg{transform:translate(3px,-3px)}.sc-vis{position:relative;border-left:1px solid var(--line);background:var(--bg-tint);display:grid;place-items:stretch;min-height:280px}.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--mut);border:1px solid var(--line);border-radius:6px;padding:4px 9px;white-space:nowrap;transition:color .2s var(--ease),border-color .2s var(--ease)}.chip:hover{color:var(--ink-2);border-color:var(--line-strong)}.issue-head{display:grid;grid-template-columns:44px 1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:0 4px 12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut-2);position:relative}.issue-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line-soft);transform:scaleX(var(--draw,1));transform-origin:left center}.issue{border-bottom:1px solid var(--line-soft)}.issue-row{display:grid;grid-template-columns:44px 1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:18px 4px;cursor:pointer;transition:background .16s var(--ease)}.issue-row:hover{background:var(--surface)}.issue-idx{font-family:var(--mono);font-size:12px;color:var(--mut-2);display:flex;align-items:center;gap:10px}.issue-st{width:13px;height:13px;border-radius:50%;border:1.6px solid var(--mut-2);flex:none}.issue-st.done{background:var(--mut);border-color:var(--mut)}.issue-st.active{border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--ink);background:transparent}.issue-main{min-width:0}.issue-title{font-size:16px;font-weight:500;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:10px;transition:transform .25s var(--ease-out)}.issue-row:hover .issue-title{transform:translateX(4px)}.issue-title .car{color:var(--mut-2);transition:transform .25s var(--ease);font-size:12px}.issue.open .issue-title .car{transform:rotate(90deg);color:var(--ink)}.issue-meta{font-family:var(--mono);font-size:11px;color:var(--mut-2);letter-spacing:.04em;margin-top:5px;text-transform:uppercase}.issue-tags{display:flex;gap:7px;align-items:center}.issue-detail{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .42s var(--ease-out),visibility 0s linear .42s}.issue.open .issue-detail{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .42s var(--ease-out),visibility 0s}.issue-detail-inner{overflow:hidden}.issue-detail-pad{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:30px;gap:30px;padding:6px 4px 30px}.idp-summary{font-size:15px;line-height:1.62;color:var(--ink-2);letter-spacing:-.01em}.idp-specs{margin-top:20px;display:flex;flex-direction:column;gap:0}.idp-spec{display:grid;grid-template-columns:84px 1fr;grid-gap:16px;gap:16px;padding:11px 0;border-top:1px solid var(--line-soft);font-size:13px}.idp-spec .k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-2);padding-top:2px}.idp-spec .v{color:var(--ink-2);letter-spacing:-.01em}.idp-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.idp-vis{background:var(--bg-tint);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;min-height:230px;display:grid;place-items:stretch}.work-more{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:clamp(30px,4vw,52px);padding-top:clamp(30px,4vw,48px);border-top:1px solid var(--line-soft)}.work-more h3{font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.03em;line-height:1.1;max-width:18ch}.work-more p{color:var(--mut);font-size:14px;margin-top:8px;max-width:40ch;line-height:1.55}.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px;color:var(--ink);letter-spacing:-.01em;transition:.2s var(--ease);white-space:nowrap;cursor:pointer}.btn:hover{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn svg{width:15px;height:15px;transition:transform .25s var(--ease-out)}.btn:hover svg{transform:translate(3px,-3px)}.btn.solid{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn.solid:hover{opacity:.88}.matrix{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.matrix-col{border-right:1px solid var(--line-soft);padding:26px 24px}.matrix-col:last-child{border-right:none}.matrix-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.matrix-head h4{font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.matrix-head .n{font-family:var(--mono);font-size:11px;color:var(--mut-2)}.matrix-list{display:flex;flex-direction:column}.matrix-item{padding:11px 0;border-top:1px solid var(--line-soft);font-size:14px;color:var(--mut);letter-spacing:-.01em;display:flex;align-items:center;gap:11px;transition:color .16s var(--ease)}.matrix-item:first-child{border-top:none}.matrix-item:hover{color:var(--ink)}.matrix-item .tick{width:4px;height:4px;border-radius:50%;background:var(--mut-3);flex:none;transition:background .16s var(--ease)}.matrix-item:hover .tick{background:var(--ink)}.mi-lab{overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}.mi-lab,.mi-lab-i{display:inline-block}.mi-lab-i{will-change:transform}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:clamp(36px,6vw,96px);gap:clamp(36px,6vw,96px);align-items:start}.about-statement{font-size:clamp(21px,2.3vw,30px);font-weight:500;line-height:1.42;letter-spacing:-.025em;color:var(--mut-2);text-wrap:pretty}.about-statement p+p{margin-top:1.1em}.about-statement .hl{position:relative;color:color-mix(in srgb,var(--ink) calc(var(--lit, 1) * 100%),var(--mut-2))}.about-statement .hl:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center;opacity:.5;transition:transform .25s var(--ease-out)}.about-statement .hl:hover:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.about-statement .hl{color:var(--ink)}}.about-resume{margin-top:36px}.cl-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut-2);margin-bottom:8px}.changelog{margin-bottom:40px}.cl-row{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:baseline;padding:17px 0;border-top:1px solid var(--line-soft);opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i, 0) * 44ms)}.cl-col.in .cl-row{opacity:1;transform:none}.cl-row:last-child{border-bottom:1px solid var(--line-soft)}@media (prefers-reduced-motion:reduce){.cl-row{opacity:1;transform:none}}.cl-co{font-size:16px;font-weight:500;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:10px}.cl-now{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink);background:var(--ink);border-radius:4px;padding:2px 6px}.cl-ro{font-size:13px;color:var(--mut);margin-top:4px;letter-spacing:-.01em}.cl-yr{font-family:var(--mono);font-size:12px;color:var(--mut-2);white-space:nowrap;letter-spacing:.02em}.contact{padding:clamp(90px,14vh,180px) 0 0}.contact-kicker{margin-bottom:22px}.contact-title{font-size:clamp(54px,12vw,168px);font-weight:600;letter-spacing:-.05em;line-height:.84;margin-left:-.08em}.contact-title .arrow{display:inline-block;transition:transform .35s var(--ease-out)}.contact-title:hover .arrow{transform:translate(.08em,-.08em)}.contact-rule{height:1px;background:var(--line-soft);margin-top:clamp(28px,4vw,48px);transform:scaleX(0);transform-origin:left center}@media (prefers-reduced-motion:reduce){.contact-rule{transform:scaleX(1)}}.contact-email{position:relative}.contact-email:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center}.contact-email.copied:after{animation:ackSweep .5s var(--ease-out)}@keyframes ackSweep{0%{transform:scaleX(0);transform-origin:left center}60%{transform:scaleX(1);transform-origin:left center}to{transform:scaleX(0);transform-origin:right center}}@media (prefers-reduced-motion:reduce){.contact-email.copied:after{animation:none}}.contact-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-top:clamp(40px,6vw,80px)}.contact-info{font-family:var(--mono);font-size:13px;color:var(--mut);line-height:1.9;letter-spacing:.01em}.contact-info a,.contact-info button{cursor:pointer;font:inherit;letter-spacing:inherit;padding:0;text-align:left;transition:color .18s var(--ease)}.contact-info a:hover,.contact-info button:hover{color:var(--ink)}.contact-links{display:flex;gap:8px}.social{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-size:13px;letter-spacing:-.01em;color:var(--ink-2);transition:.2s var(--ease)}.social:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface)}.social svg{width:15px;height:15px}.footer{margin-top:clamp(70px,10vh,130px);border-top:1px solid var(--line-soft);padding:26px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut-2)}.img-slot{position:relative;width:100%;height:100%;min-height:280px;background:linear-gradient(135deg,transparent 49.5%,var(--line-soft) 49.5%,var(--line-soft) 50.5%,transparent 50.5%),linear-gradient(45deg,transparent 49.5%,var(--line-soft) 49.5%,var(--line-soft) 50.5%,transparent 50.5%),var(--bg-tint);background-size:100% 100%;display:grid;place-items:center;overflow:hidden}.img-slot:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 320px at 30% 30%,var(--glow),transparent 70%),radial-gradient(500px 280px at 80% 90%,var(--glow),transparent 65%);opacity:.9;pointer-events:none}.img-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.idp-vis .img-slot img,.sc-vis .img-slot img{object-position:left center}.proj-visual .img-slot img{object-position:top center}.img-slot .img-slot-label{position:relative;z-index:1;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.idp-vis .img-slot{min-height:230px}.proj-top{position:-webkit-sticky;position:sticky;top:0;z-index:60;height:var(--nav-h);background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--line-soft)}.proj-top,.proj-top-inner{display:flex;align-items:center}.proj-top-inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);justify-content:space-between;gap:18px}.proj-top-right{display:flex;align-items:center;gap:14px}.proj-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mut);letter-spacing:-.01em;transition:color .18s var(--ease);white-space:nowrap}.proj-back:hover{color:var(--ink)}.proj-back svg{width:15px;height:15px;transition:transform .25s var(--ease-out)}.proj-back:hover svg{transform:translateX(-3px)}.proj{padding-block:clamp(40px,7vh,80px) clamp(70px,11vh,140px)}.proj-hero{padding-top:clamp(20px,5vh,56px)}.proj-hero-top{justify-content:space-between;gap:14px 28px;flex-wrap:wrap;margin-bottom:clamp(26px,4vw,48px)}.proj-eyebrow,.proj-hero-top{display:flex;align-items:center}.proj-eyebrow{gap:14px;opacity:0;animation:fadeUp .7s var(--ease-out) .05s forwards}.proj-meta{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);text-align:right;opacity:0;animation:fadeUp .8s var(--ease-out) .3s forwards}.proj-hero-main{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:end}.proj-title{font-size:clamp(30px,4.2vw,56px);font-weight:600;letter-spacing:-.035em;line-height:1.05;text-wrap:balance;margin-left:-.035em;opacity:0;animation:fadeUp .8s var(--ease-out) .12s forwards}.proj-lead{max-width:46ch;margin-left:auto;font-size:clamp(14px,1.25vw,16px);line-height:1.55;color:var(--ink-2);letter-spacing:-.01em;text-align:right;text-wrap:pretty;padding-bottom:.2em;opacity:0;animation:fadeUp .8s var(--ease-out) .22s forwards}.proj-visual{--mx:50%;--my:50%;position:relative;margin-top:clamp(40px,7vw,88px);-webkit-mask-image:linear-gradient(180deg,#000 58%,transparent 96%);mask-image:linear-gradient(180deg,#000 58%,transparent 96%)}.proj-visual-frame{position:relative;border:1px solid var(--line);border-radius:18px;background:var(--bg-tint);overflow:hidden;aspect-ratio:88/36;min-height:0;transition:border-color .3s var(--ease)}.proj-visual:hover .proj-visual-frame{border-color:var(--line-strong)}.proj-visual-frame .img-slot{min-height:0;height:100%}.proj-visual:after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;padding:1px;z-index:2;background:radial-gradient(300px circle at var(--mx) var(--my),var(--ink),transparent 60%);opacity:0;transition:opacity .4s var(--ease);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.proj-visual:hover:after{opacity:.45}@media (pointer:coarse){.proj-visual:after{display:none}}.proj-overview{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:clamp(28px,6vw,88px);gap:clamp(28px,6vw,88px);align-items:start;margin-top:clamp(56px,9vw,120px)}.proj-overview-head{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 28px)}.proj-h2{font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-top:14px;text-wrap:balance}.proj-prose{font-size:clamp(16px,1.5vw,18px);line-height:1.66;color:var(--ink-2);letter-spacing:-.01em;text-wrap:pretty}.proj-prose p+p{margin-top:1.1em}.proj-stack{margin-top:26px;padding-top:18px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--mut)}.proj-features,.proj-stack{border-top:1px solid var(--line-soft)}.proj-features{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:clamp(20px,3vw,36px);gap:clamp(20px,3vw,36px);margin-top:clamp(56px,9vw,120px);padding-top:clamp(40px,5vw,60px)}.proj-feature{display:flex;flex-direction:column;gap:10px}.proj-feature-head{display:flex;align-items:center;gap:9px}.proj-feature-ic{width:18px;height:18px;color:var(--mut);flex:none;display:grid;place-items:center;transition:color .2s var(--ease)}.proj-feature-ic svg{width:18px;height:18px}.proj-feature:hover .proj-feature-ic{color:var(--ink)}.proj-feature h3{font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.proj-feature p{font-size:13.5px;line-height:1.55;color:var(--mut);letter-spacing:-.01em}.proj-specs{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(28px,6vw,80px);gap:clamp(28px,6vw,80px);margin-top:clamp(56px,9vw,120px);padding-top:clamp(40px,5vw,60px);border-top:1px solid var(--line-soft);align-items:start}.proj-spec-list{display:flex;flex-direction:column}.proj-tags{display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start}.proj-foot{display:grid;grid-template-columns:1fr auto;grid-gap:clamp(24px,5vw,48px);gap:clamp(24px,5vw,48px);align-items:stretch;margin-top:clamp(56px,9vw,120px);padding-top:clamp(40px,5vw,60px);border-top:1px solid var(--line-soft)}.proj-foot-cta{display:flex;flex-direction:column;justify-content:center;gap:22px}.proj-foot-cta h3{font-size:clamp(24px,3.2vw,38px);font-weight:600;letter-spacing:-.03em;line-height:1.08;max-width:16ch}.proj-next{position:relative;display:grid;grid-gap:6px;gap:6px;align-content:center;min-width:280px;padding:clamp(22px,2.4vw,30px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .3s var(--ease),transform .3s var(--ease-out)}.proj-next:hover{border-color:var(--line-strong);transform:translateY(-2px)}.proj-next-label{color:var(--mut-2)}.proj-next-title{font-size:18px;font-weight:500;letter-spacing:-.02em;color:var(--ink);margin-top:6px;max-width:22ch}.proj-next-meta{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut-2)}.proj-next-arrow{position:absolute;top:clamp(22px,2.4vw,30px);right:clamp(22px,2.4vw,30px);color:var(--mut)}.proj-next-arrow svg{width:18px;height:18px;transition:transform .25s var(--ease-out)}.proj-next:hover .proj-next-arrow{color:var(--ink)}.proj-next:hover .proj-next-arrow svg{transform:translate(3px,-3px)}@media (max-width:940px){.proj-hero-main{grid-template-columns:1fr;gap:clamp(16px,4vw,26px);align-items:start}.proj-lead{padding-bottom:0;text-align:left;margin-left:0;max-width:60ch}.proj-overview{grid-template-columns:1fr;gap:clamp(20px,5vw,32px)}.proj-overview-head{position:static}.proj-features{grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,40px) clamp(20px,3vw,36px)}.proj-specs{gap:clamp(24px,5vw,40px)}.proj-foot,.proj-specs{grid-template-columns:1fr}}@media (max-width:560px){.proj-features{grid-template-columns:1fr}}@media (max-width:940px){.matrix{grid-template-columns:1fr 1fr}.matrix-col:nth-child(2){border-right:none}.matrix-col:first-child,.matrix-col:nth-child(2){border-bottom:1px solid var(--line-soft)}.about-grid,.showcase,.showcase.flip{grid-template-columns:1fr}.showcase.flip .sc-vis{order:0;border-right:none}.sc-vis,.showcase.flip .sc-vis{border-left:none;border-top:1px solid var(--line)}.issue-detail-pad{grid-template-columns:1fr;gap:20px}}@media (max-width:680px){.nav-links{display:none}.matrix{grid-template-columns:1fr}.matrix-col{border-right:none;border-bottom:1px solid var(--line-soft)}.matrix-col:last-child{border-bottom:none}.issue-head .ih-tags,.issue-tags{display:none}.issue-head,.issue-row{grid-template-columns:36px 1fr}.hero-bottom{flex-direction:column;align-items:flex-start;gap:clamp(26px,7vw,40px)}.hero-aside{flex-basis:auto}.hero-aside,.hero-right{align-items:flex-start}.hero-sub{text-align:left}.cmdk-btn .cb-label{display:none}}