:root{--bg:#0b0a10;--surface:#14121c;--surface-2:#1b1826;--line:#262233;--line-2:#363048;--text:#e7e5ee;--text-2:#cfcbdb;--muted:#8f8aa3;--dim:#4f4a63;--accent:#a78bfa;--accent-hi:#c4b5fd;--accent-deep:#8b5cf6;--accent-deeper:#6d28d9;--accent-dim:#a78bfa1f;--good:#4ade80;--danger:#f43f5e;--paper:#f4f4f6;--hue-1:#a78bfa;--hue-2:#818cf8;--hue-3:#e879f9;--hue-4:#60a5fa;--hue-5:#c084fc;--hue-6:#f0abfc;--heat-0:#1f1b2b;--heat-1:#4c3d8f;--heat-2:#6d58c4;--heat-3:#9b82f7;--heat-4:#cdbffd;--display:"Inter Tight Variable", "Inter Variable", system-ui, sans-serif;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Inter Variable", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, monospace;--fs-2xs:.7rem;--fs-xs:.78rem;--fs-sm:.9rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:2rem;--fs-lead:clamp(1.05rem, 2.4vw, 1.3rem);--fs-title:clamp(2rem, 5vw, 3rem);--fs-hero:clamp(2.6rem, 8vw, 4.75rem);--fs-statement:clamp(1.45rem, 3.3vw, 2.9rem);--fs-card:clamp(1.6rem, 2.6vw, 2.25rem);--fs-number:clamp(2.6rem, 5.4vw, 4.6rem);--fs-display:clamp(3.1rem, 10vw, 8.75rem);--fs-giant:clamp(5.25rem, 21vw, 17.5rem);--track-display:-.045em;--track-tight:-.025em;--track-label:.14em;--fw-medium:500;--fw-semibold:600;--fw-bold:650;--fw-heavy:760;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3.5rem;--space-10:5rem;--space-11:8rem;--section:clamp(5.5rem, 14vw, 11rem);--radius-xs:2px;--radius-sm:4px;--radius:10px;--radius-lg:18px;--radius-pill:999px;--shadow-lift:0 10px 30px -18px color-mix(in srgb, var(--accent-deep) 60%, transparent);--shadow-deep:0 40px 80px -40px color-mix(in srgb, var(--accent-deep) 55%, transparent);--header-h:4.25rem;--width:90rem;--measure:44rem;--gutter:clamp(1rem, 4vw, 3.5rem);--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1)}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth;interpolate-size:allow-keywords;overflow-x:clip}body{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}body>main{flex:1 0 auto}body{background:var(--bg);color:var(--text);font:400 var(--fs-base)/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hi)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--accent);color:var(--bg)}img{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:var(--track-tight);line-height:1.1;font-weight:var(--fw-bold);margin:0}h1,h2{font-family:var(--display)}p{margin:0 0 1em}ul,ol{margin:0}button{font:inherit;color:inherit}code{font-family:var(--mono);background:var(--surface-2);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.85em}[hidden]{display:none!important}.skip{left:var(--space-4);z-index:120;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:var(--bg);font-weight:var(--fw-semibold);transition:top .15s;position:fixed;top:-4rem}.skip:focus-visible{top:var(--space-3);color:var(--bg)}.wrap{width:min(var(--width), 100% - 2 * var(--gutter));margin-inline:auto}.mono{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.02em}.muted{color:var(--muted)}.label{font-family:var(--mono);font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--accent);margin:0}.label.quiet{color:var(--muted)}.serif{font-family:var(--serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.small{font-size:var(--fs-xs)}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[id]{scroll-margin-top:var(--space-10)}.icon{vertical-align:-.12em;flex:none;width:1em;height:1em;display:inline-block}.page-title{font-family:var(--display);font-size:var(--fs-display);font-weight:var(--fw-heavy);letter-spacing:var(--track-display);margin:0 0 var(--space-6);line-height:.9}.page-title em{font-family:var(--serif);letter-spacing:-.02em;color:var(--accent);font-style:italic;font-weight:400}.page-top{padding-top:clamp(var(--space-8), 5.5vw, 5.5rem)}.lead{font-size:var(--fs-lead);color:var(--text-2);max-width:40rem;margin-bottom:var(--space-7)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border:1px solid var(--line-2);border-radius:var(--radius-pill);min-height:2.75rem;color:var(--text);font-size:var(--fs-sm);cursor:pointer;transition:border-color .2s, background .2s, color .2s, translate .2s var(--ease-out);background:0 0;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--text);background:var(--accent-dim)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:var(--fw-semibold)}.btn.primary:hover{background:var(--accent-hi);border-color:var(--accent-hi);color:var(--bg)}.btn:active{translate:0 1px}.links{gap:var(--space-3);flex-wrap:wrap;display:flex}.round-btn{border:1px solid var(--line-2);width:4rem;height:4rem;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:1.15rem;transition:background .25s,border-color .25s,color .25s;display:inline-grid}.round-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.round-btn.small{width:2.9rem;height:2.9rem;font-size:1rem}.btn-big{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-7);border-radius:var(--radius-pill);background:var(--text);color:var(--bg);font:var(--fw-semibold) var(--fs-md) var(--display);letter-spacing:-.01em;cursor:pointer;border:0;transition:background .25s,color .25s;display:inline-flex}.btn-big:hover{background:var(--accent);color:var(--bg)}.btn-big .icon{transition:translate .3s var(--ease-out)}.btn-big:hover .icon{translate:3px}.link-cta{align-items:center;gap:var(--space-2);font:var(--fw-medium) var(--fs-sm) var(--sans);color:var(--accent-hi);display:inline-flex}.link-cta .icon{transition:translate .25s var(--ease-out)}.link-cta:hover .icon,a:hover .link-cta .icon{translate:3px}.tags{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--line-2);border-radius:var(--radius-pill);color:var(--text-2);font:400 var(--fs-xs)/1.45 var(--sans);letter-spacing:0;white-space:nowrap;background:0 0;padding:.22rem .7rem;transition:border-color .2s,color .2s;display:inline-block}a.tag:hover{border-color:var(--accent);color:var(--text)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{font-family:var(--mono);font-size:var(--fs-xs);min-height:2.5rem;padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line-2);color:var(--text-2);cursor:pointer;background:0 0;transition:color .15s,border-color .15s,background .15s,transform .1s}.chip:hover{color:var(--text);border-color:var(--muted)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.chip span{margin-left:var(--space-1);opacity:.65}.pill{align-items:center;gap:var(--space-2);padding:.1rem var(--space-3);border-radius:var(--radius-pill);background:var(--accent-dim);color:var(--accent-hi);font:var(--fw-medium) var(--fs-2xs)/1.6 var(--sans);letter-spacing:.01em;white-space:nowrap;display:inline-flex}.pill:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.prose{max-width:var(--measure)}.prose p{color:var(--text-2);font-size:var(--fs-md);line-height:1.7}.prose a{text-underline-offset:.2em;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent)}.prose h2,.prose h3{font-family:var(--display);font-size:var(--fs-lg);margin:var(--space-8) 0 var(--space-4)}.prose ul,.prose ol{color:var(--text-2);padding-left:var(--space-6);margin-bottom:1em}.prose li+li{margin-top:var(--space-2)}header.site{z-index:60;height:var(--header-h);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background .35s,border-color .35s;position:sticky;top:0}.js.at-top header.site,.menu-open header.site{-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.bar{align-items:center;gap:var(--space-5);grid-template-columns:1fr auto 1fr;height:100%;display:grid}.mark{min-width:2.75rem;height:2.75rem;color:var(--text);font:var(--fw-heavy) 1.2rem/1 var(--display);letter-spacing:-.04em;justify-self:start;place-items:center;display:inline-grid}.mark:hover{color:var(--accent-hi)}.nav{gap:var(--space-6);display:flex}.nav a{color:var(--text-2);font-size:var(--fs-sm);padding-block:var(--space-2);position:relative}.nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .35s var(--ease-expo);position:absolute;bottom:.2rem;left:0;right:0;transform:scaleX(0)}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a:hover:after,.nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.bar-end{justify-self:end;align-items:center;gap:var(--space-3);grid-column:3;display:flex}.open-pill{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--line-2);border-radius:var(--radius-pill);min-height:2.25rem;color:var(--text);font-size:var(--fs-xs);white-space:nowrap;background:color-mix(in srgb, var(--bg) 40%, transparent);display:inline-flex}.open-pill:hover{color:var(--text);border-color:var(--good)}.dot{background:var(--good);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;position:relative}.dot:after{content:"";background:var(--good);border-radius:50%;animation:2.4s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}@keyframes ping{70%,to{opacity:0;transform:scale(2.8)}}.menu-btn{align-items:center;gap:var(--space-3);min-height:2.75rem;padding:0 var(--space-1) 0 var(--space-3);cursor:pointer;font:var(--fw-medium) var(--fs-sm) var(--sans);background:0 0;border:0;display:none}.menu-btn-icon{border:1px solid var(--line-2);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:relative}.menu-btn-icon i{width:.95rem;height:1.5px;transition:transform .4s var(--ease-expo);background:currentColor;border-radius:1px;position:absolute}.menu-btn-icon i:first-child{transform:translateY(-3px)}.menu-btn-icon i:last-child{transform:translateY(3px)}.menu-btn[aria-expanded=true] .menu-btn-icon i:first-child{transform:rotate(45deg)}.menu-btn[aria-expanded=true] .menu-btn-icon i:last-child{transform:rotate(-45deg)}@media (width<=899px){.js .nav{display:none}.js .menu-btn{display:inline-flex}html:not(.js) header.site{height:auto;position:static}html:not(.js) .bar{padding-block:var(--space-3);row-gap:var(--space-2);grid-template-columns:auto 1fr}html:not(.js) .bar-end{grid-column:2}html:not(.js) .nav{gap:0 var(--space-5);flex-wrap:wrap;grid-area:2/1/auto/-1}}@media (width<=30rem){.menu-btn-text{display:none}.open-pill{font-size:var(--fs-2xs)}}.menu{z-index:55;overscroll-behavior:contain;padding-top:calc(var(--header-h) + var(--space-6));padding-bottom:var(--space-7);background:radial-gradient(80% 50% at 100% 0%, color-mix(in srgb, var(--accent-deep) 26%, transparent), transparent 70%), var(--bg);clip-path:inset(0 0 100%);transition:clip-path .6s var(--ease-in-out);position:fixed;inset:0;overflow-y:auto}.menu.is-open{clip-path:inset(0)}.menu[hidden]{display:none}.menu-nav{gap:var(--space-6);flex-direction:column;min-height:100%;display:flex}.menu-nav ul{padding:0;list-style:none;display:grid}.menu-nav li{border-bottom:1px solid var(--line);overflow:hidden}.menu-nav li a{align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;color:var(--text);font:var(--fw-heavy) clamp(2.2rem, 10vw, 4rem)/1.05 var(--display);letter-spacing:var(--track-display);transition:transform .7s var(--ease-expo), color .2s;display:flex;transform:translateY(105%)}.menu-nav li a .mono{color:var(--accent);letter-spacing:.02em;font-weight:400}.menu-nav li a[aria-current=page],.menu-nav li a:hover{color:var(--accent-hi)}.menu.is-open li a{transform:none}.menu.is-open li:nth-child(2) a{transition-delay:40ms}.menu.is-open li:nth-child(3) a{transition-delay:80ms}.menu.is-open li:nth-child(4) a{transition-delay:.12s}.menu.is-open li:nth-child(5) a{transition-delay:.16s}.menu.is-open li:nth-child(6) a{transition-delay:.2s}.menu.is-open li:nth-child(n+7) a{transition-delay:.24s}.menu-foot{gap:var(--space-4);color:var(--text-2);margin-top:auto;display:grid}.menu-foot p{align-items:center;gap:var(--space-3);margin:0;display:flex}.menu-links{flex-wrap:wrap}.menu-links a{color:var(--text);text-underline-offset:.25em;text-decoration:underline;text-decoration-color:var(--line-2)}.menu-open body{overflow:hidden}footer.site{border-top:1px solid var(--line);padding-block:var(--space-7) var(--space-8);color:var(--muted)}.foot-row{gap:var(--space-3) var(--space-6);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.foot-row>*{text-transform:uppercase;letter-spacing:.12em;margin:0}.foot-row>.foot-note{padding-top:var(--space-4);border-top:1px solid var(--line);font-size:var(--fs-2xs);color:var(--muted);grid-column:1/-1;line-height:1.7}.foot-clock span:before{content:" · "}.foot-top{justify-self:end;align-items:center;gap:var(--space-2);color:var(--text-2);min-height:2.75rem;display:inline-flex}.foot-top:hover{color:var(--accent-hi)}.foot-note a{color:var(--text-2);text-underline-offset:.2em;text-decoration:underline}@media (width<=40rem){.foot-row{grid-template-columns:1fr}.foot-top{justify-self:start}}.progress{z-index:70;background:linear-gradient(90deg, var(--accent-deep), var(--accent-hi));transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation:linear both progress scroll(root)}@keyframes progress{to{transform:scaleX(1)}}}.loader{display:none}.preload .loader{z-index:100;padding:var(--space-7) var(--gutter) var(--space-8);background:var(--bg);animation:loader-out .45s var(--ease-in-out) .75s forwards;grid-template:auto 1fr auto auto/1fr auto;display:grid;position:fixed;inset:0}.preload-skip .loader{animation-duration:.35s;animation-delay:0s}.loader-name,.loader-hint{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0}.loader-hint{text-align:right;grid-column:2}.loader-count{font:800 clamp(6rem, 24vw, 17rem)/.8 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;grid-area:3/2;margin:0}.loader-line{height:1px;margin-top:var(--space-6);background:var(--line);grid-area:4/1/auto/-1}.loader-line i{background:var(--accent);transform-origin:0;height:100%;animation:grow-x .75s var(--ease-out) both;display:block}@keyframes loader-out{to{visibility:hidden;transform:translateY(-100%)}}@keyframes grow-x{0%{transform:scaleX(0)}}@media (width<=40rem){.loader-hint{display:none}}.wipe{z-index:110;padding:var(--gutter);color:var(--bg);background:radial-gradient(70% 60% at 50% 110%, var(--accent-deeper), transparent 70%), radial-gradient(60% 50% at 0% 0%, var(--accent-hi), transparent 70%), var(--accent);place-items:center;display:none;position:fixed;inset:0}.wipe-in .wipe{animation:wipe-leave .7s var(--ease-in-out) .15s both;display:grid}.wipe.is-covering{animation:wipe-cover .5s var(--ease-in-out) both;display:grid}.wipe-label{gap:var(--space-3);text-align:center;justify-items:center;margin:0;display:grid}.wipe-label .mono{text-transform:uppercase;letter-spacing:.16em}.wipe-label strong{font:var(--fw-heavy) clamp(2.6rem, 9vw, 7.5rem)/.95 var(--display);letter-spacing:var(--track-display);max-width:14ch}.wipe.is-covering .wipe-label{animation:rise-in .6s var(--ease-expo) .12s both}@keyframes wipe-cover{0%{transform:translateY(100%)}}@keyframes wipe-leave{to{visibility:hidden;transform:translateY(-100%)}}@keyframes rise-in{0%{opacity:0;transform:translateY(30px)}}.cursor,.cursor-dot{z-index:130;pointer-events:none;opacity:0;transition:opacity .25s;position:fixed;top:0;left:0}.cursor-on .cursor,.cursor-on .cursor-dot{opacity:1}.cursor-off .cursor,.cursor-off .cursor-dot{opacity:0}.cursor-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{border:1px solid color-mix(in srgb, var(--text) 40%, transparent);width:2.4rem;height:2.4rem;transition:width .45s var(--ease-expo), height .45s var(--ease-expo), background .3s, border-color .3s, scale .2s;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;translate:-50% -50%}.cursor-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--bg);opacity:0;white-space:nowrap;transition:opacity .2s}.cursor.is-link .cursor-ring{border-color:var(--accent);width:3.4rem;height:3.4rem}.cursor.is-label .cursor-ring{background:var(--accent);border-color:var(--accent);width:5.5rem;height:5.5rem}.cursor.is-label .cursor-label{opacity:1;transition-delay:.1s}.cursor.is-down .cursor-ring{scale:.86}.cursor-on.has-label .cursor-dot{opacity:0}.cursor-on,.cursor-on *{cursor:none!important}.grain{z-index:75;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .8 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}@view-transition{navigation:auto}header.site{view-transition-name:site-header}::view-transition-old(root){animation:.18s ease-in both vt-out}::view-transition-new(root){animation:.36s var(--ease-out) both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;translate:0 12px}}::view-transition-group(*){animation-duration:.5s;animation-timing-function:var(--ease-expo)}.shot{view-transition-class:shot}::view-transition-image-pair(.shot){border-radius:var(--radius-lg);overflow:clip}.section{padding-top:var(--section)}.section-lead{color:var(--text-2);font-size:var(--fs-lead);max-width:40rem;margin:calc(-1 * var(--space-6)) 0 var(--space-8)}.shead{align-items:flex-end;gap:var(--space-2) var(--space-6);margin-bottom:clamp(var(--space-8), 6vw, var(--space-10));flex-wrap:wrap;display:flex}.shead-num{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;margin:0 0 1.2em}.shead-title{font-size:var(--fs-display);font-weight:var(--fw-heavy);letter-spacing:var(--track-display);padding-bottom:.04em;line-height:.9}.shead-end{margin:0 0 1.2em auto}.shead-end p{margin:0}@media (width<=40rem){.shead{flex-direction:column;align-items:flex-start}.shead-num{margin:0}.shead-end{margin:var(--space-2) 0 0}}.hero{isolation:isolate;margin-top:calc(-1 * var(--header-h));padding-top:var(--header-h);flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:clip}.hero-inner{z-index:1;padding-top:var(--space-7);flex:1 0 auto;grid-template-rows:auto 1fr auto auto;display:grid;position:relative}.hero-meta{justify-content:space-between;gap:var(--space-4);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;display:flex}.hero-name{margin:var(--space-8) 0 var(--space-7);font-size:var(--fs-giant);font-weight:var(--fw-heavy);letter-spacing:var(--track-display);align-self:center;line-height:.84}.hero-first,.hero-last{width:max-content;max-width:100%;display:block}.hero-last{font-family:var(--serif);letter-spacing:-.015em;color:var(--accent);margin-top:-.02em;margin-left:.62em;font-size:1.04em;font-style:italic;font-weight:400;line-height:.95}.sphere-caption{margin:0 0 var(--space-4);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-2xs);justify-self:end}html:not(.js) .sphere-caption{display:none}.hero-foot{gap:var(--space-5) var(--space-8);padding:var(--space-6) 0 var(--space-8);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;display:grid}.hero-build{font:var(--fw-medium) clamp(1.45rem, 2.6vw, 2.25rem)/1.25 var(--display);letter-spacing:-.025em;flex-wrap:wrap;align-items:baseline;gap:0 .35em;margin:0;display:flex}.ticker{vertical-align:bottom;height:1.25em;font-family:var(--serif);letter-spacing:-.005em;color:var(--accent-hi);font-style:italic;font-weight:400;display:inline-block;overflow:hidden}.ticker-list{display:block}.ticker-list>span{white-space:nowrap;height:1.25em;line-height:1.25em;display:block}.hero-intro{max-width:30rem;color:var(--text-2);font-size:var(--fs-md);margin:0;line-height:1.55}.hero-bg{z-index:-1;pointer-events:none;position:absolute;inset:0}.sphere{width:100%;height:100%;position:absolute;inset:0}.blob{border-radius:50%;position:absolute}.blob-a{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent-deep) 30%, transparent), color-mix(in srgb, var(--accent-deeper) 12%, transparent) 55%, transparent);width:62vw;max-width:58rem;height:62vw;max-height:58rem;animation:22s ease-in-out infinite alternate drift;top:4%;right:-12vw}.blob-b{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent-deeper) 24%, transparent), transparent);width:40vw;max-width:36rem;height:40vw;max-height:36rem;animation:26s ease-in-out -8s infinite alternate-reverse drift;bottom:-10%;left:-14vw}@keyframes drift{to{transform:translate(-3vw,2vw)scale(1.08)}}@media (width<=56rem){.hero-foot{grid-template-columns:minmax(0,1fr) auto}.hero-build{grid-column:1/-1}.hero-name{margin-bottom:var(--space-6);align-self:end}}@media (width<=40rem){.hero-name{margin:var(--space-9) 0 var(--space-6);align-self:end}.hero-last{margin-left:.45em}.sphere-caption{justify-self:start}.hero-foot{gap:var(--space-4);padding-bottom:var(--space-7)}.hero-intro{font-size:var(--fs-base)}.round-btn{width:3.25rem;height:3.25rem}.blob-a{width:120vw;height:120vw;top:-8%;right:-50vw}}.marquee{border-block:1px solid var(--line);background:var(--surface);margin-top:0;padding-block:clamp(1.25rem,3vw,2.1rem);overflow:hidden}.marquee-track{will-change:transform;width:max-content;animation:70s linear infinite marquee;display:flex}.marquee-track.is-driven{animation:none}.marquee-list{flex:none;align-items:center;margin:0;padding:0;list-style:none;display:flex}.marquee-list li{white-space:nowrap;font:700 clamp(2rem, 5vw, 4.25rem)/1.15 var(--display);letter-spacing:-.04em;align-items:center;gap:clamp(1.25rem,3vw,2.75rem);padding-right:clamp(1.25rem,3vw,2.75rem);display:flex}.marquee-list li:nth-child(2n){font-family:var(--serif);letter-spacing:-.01em;color:var(--text-2);font-style:italic;font-weight:400}.marquee .icon-star{color:var(--accent);font-size:.36em}@keyframes marquee{to{transform:translate(-50%)}}.statement{max-width:66rem;margin:0 0 var(--space-10);font:var(--fw-medium) var(--fs-statement)/1.2 var(--display);letter-spacing:-.028em;color:var(--text)}.about-text{margin:0 0 var(--space-10)}.about-text .statement{margin-bottom:var(--space-7)}.about-examples{max-width:50rem;font-size:var(--fs-lead);color:var(--text-2);margin:0;line-height:1.6}.counters{margin:0 0 var(--space-10);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.counter{justify-content:flex-end;gap:var(--space-3);padding:var(--space-6) var(--space-5) 0;border-left:1px solid var(--line);flex-direction:column-reverse;display:flex}.counter:first-child{border-left:0;padding-left:0}.counter dd{font:var(--fw-heavy) var(--fs-number)/.9 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.counter dd small{font-size:.42em;font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--accent);vertical-align:.95em;margin-left:.06em}.counter dd small.pre{color:var(--muted);vertical-align:.95em;margin:0 .1em 0 0}.counter dt{max-width:15rem;font:var(--fw-medium) var(--fs-2xs)/1.6 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.skills{gap:var(--space-8) var(--space-7);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));display:grid}@media (width>=64rem){.skills{grid-template-columns:repeat(4,minmax(0,1fr))}}.skill-group .label{margin-bottom:var(--space-4)}.skill-rest{margin-top:var(--space-2)}.skill-rest summary{min-height:2rem;color:var(--accent-hi);cursor:pointer;align-items:center;list-style:none;display:inline-flex}.skill-rest summary::-webkit-details-marker{display:none}.skill-rest summary:hover{color:var(--text)}.skill-rest[open] summary{color:var(--muted)}.skill-rest .skill-list{margin-top:var(--space-1)}.skill-list .tag{cursor:default}.skill-list .tag[title]{text-decoration:underline dotted var(--line-2);text-underline-offset:.25em}.skills-more{margin-top:var(--space-8);border-block:1px solid var(--line)}.skills-more summary{align-items:center;gap:var(--space-5);padding:var(--space-4) 0;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;list-style:none;display:grid}.skills-more summary::-webkit-details-marker{display:none}.skills-more-names{color:var(--text-2);font-size:var(--fs-sm)}.skills-more summary:hover .skills-more-names{color:var(--text)}.skills-more[open] .acc-icon{background:var(--accent);border-color:var(--accent);color:var(--bg);rotate:45deg}.skills-more>.skills{padding:var(--space-5) 0 var(--space-8)}.skills-more::details-content{block-size:0;transition:block-size .55s var(--ease-expo), content-visibility .55s allow-discrete;overflow-y:clip}.skills-more[open]::details-content{block-size:auto}@media (width<=40rem){.skills{gap:var(--space-6)}.counters{grid-template-columns:1fr 1fr}.counter{padding:var(--space-5) var(--space-4) var(--space-5) 0;border-left:0;border-bottom:1px solid var(--line)}.counter:nth-child(2n){padding-left:var(--space-4);border-left:1px solid var(--line)}.counter:last-child:nth-child(odd){grid-column:1/-1}}.work-count{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.1em}html:not(.js) .work-count{display:none}@media (width>=900px){.work-count{display:none}}@media (width>=900px) and (hover:hover) and (pointer:fine){.motion .work-count{display:block}}.work-viewport{position:relative}.work-track{gap:var(--space-5);padding:0 var(--gutter) var(--space-5);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;margin:0;list-style:none;display:flex;overflow-x:auto}.work-track>li{scroll-snap-align:start;flex:none;width:min(84vw,30rem)}.work-more a{justify-content:center;gap:var(--space-3);height:100%;min-height:14rem;padding:var(--space-7);border:1px solid var(--line-2);border-radius:var(--radius-lg);color:var(--text);font-size:var(--fs-xl);flex-direction:column;display:flex}.work-more strong{font:var(--fw-bold) var(--fs-card)/1.05 var(--display);letter-spacing:-.035em}.work-more .mono{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-2xs)}.work-more a:hover{border-color:var(--accent);color:var(--accent-hi)}@media (width>=900px){.work-track{gap:var(--space-9) var(--space-6);width:min(var(--width), 100% - 2 * var(--gutter));grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:auto;padding:0;display:grid;overflow:visible}.work-track>li{width:auto}.work-more{grid-column:1/-1}.work-more a{flex-direction:row;align-items:center;min-height:0}}@media (width>=900px) and (hover:hover) and (pointer:fine){.motion .work-viewport{overflow:clip}.motion .work-track{width:max-content;padding:0 var(--gutter);gap:clamp(1.5rem,2.4vw,2.5rem);margin:0;display:flex}.motion .work-track>li{width:clamp(24rem,33vw,33rem)}.motion .work-more a{aspect-ratio:auto;flex-direction:column;align-items:flex-start;min-height:100%}.motion .work-more{align-self:stretch}.motion .work.is-pinned{min-height:100vh;padding-block:var(--space-9) var(--space-7);flex-direction:column;justify-content:center;display:flex}}.wcard{gap:var(--space-5);height:100%;color:var(--text);flex-direction:column;display:flex}.wcard:hover{color:var(--text)}.wcard-media{isolation:isolate;aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2);position:relative;overflow:hidden}.wcard-shot,.wcard-shot picture,.wcard-shot img{width:100%;height:100%}.wcard-shot img{object-fit:cover;object-position:top;opacity:.7;filter:saturate(.85);transition:transform .9s var(--ease-expo), opacity .5s, filter .5s}.wcard:hover .wcard-shot img{opacity:1;filter:none;transform:scale(1.045)}.wcard-wash{z-index:1;pointer-events:none;position:absolute;inset:0}.wcard-wash:before,.wcard-wash:after{content:"";transition:opacity .6s;position:absolute;inset:0}.wcard-wash:before{background:linear-gradient(160deg, color-mix(in srgb, var(--hue) 55%, #1a1530), color-mix(in srgb, var(--hue) 30%, #0b0a10));mix-blend-mode:multiply;opacity:.32}.wcard-wash:after{background:radial-gradient(80% 70% at 6% 100%, color-mix(in srgb, var(--hue) 34%, transparent), transparent 62%), linear-gradient(180deg, transparent 38%, color-mix(in srgb, var(--bg) 55%, transparent) 68%, color-mix(in srgb, var(--bg) 92%, transparent))}.wcard:hover .wcard-wash:before{opacity:0}.wcard:hover .wcard-wash:after{opacity:.75}.wcard-num{left:var(--space-5);bottom:var(--space-3);z-index:2;font:800 clamp(5rem, 8.5vw, 9rem)/.85 var(--display);letter-spacing:-.065em;pointer-events:none;background:linear-gradient(165deg, #fff 8%, var(--hue) 50%, color-mix(in srgb, var(--hue) 35%, var(--accent-deeper)) 95%);color:#0000;transition:translate .7s var(--ease-expo);-webkit-background-clip:text;background-clip:text;position:absolute}.wcard:hover .wcard-num{translate:0 -.06em}.wcard-year{top:var(--space-4);right:var(--space-4);z-index:2;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 62%, transparent);color:var(--text);-webkit-backdrop-filter:blur(6px);padding:.2rem .6rem;position:absolute}.wcard-year.is-live:before{content:"";background:var(--accent);vertical-align:.1em;border-radius:50%;width:6px;height:6px;margin-right:.4rem;display:inline-block}.wcard-panel{padding:var(--space-6) var(--space-6) 30%;text-align:center;background:radial-gradient(closest-side at 50% 35%, color-mix(in srgb, var(--hue) 30%, transparent), transparent), linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, var(--line) 1px, var(--surface-2) 1px) 0 0 / 28px 28px;place-items:center;display:grid;position:absolute;inset:0}.wcard-panel span{max-width:18ch;font:400 clamp(1.1rem, 1.9vw, 1.55rem)/1.3 var(--mono);color:var(--accent-hi)}.wcard-panel.has-fig{align-content:start;place-items:start;gap:var(--space-3);padding:var(--space-7) var(--space-6);text-align:left}.wcard-panel .wcard-fig{max-width:none;font:var(--fw-heavy) clamp(2.6rem, 4.4vw, 4rem)/.95 var(--display);letter-spacing:-.05em;color:var(--text);font-variant-numeric:tabular-nums}.wcard-panel .wcard-fig-label{max-width:24ch;font:var(--fw-medium) var(--fs-2xs)/1.6 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-hi)}.wcard-body{gap:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.wcard-title{font:var(--fw-bold) var(--fs-card)/1.05 var(--display);letter-spacing:-.035em;text-wrap:balance}.wcard-blurb{color:var(--muted);font-size:var(--fs-sm);grid-column:1/-1;margin:0;line-height:1.55}.wcard-stack{grid-column:1/-1}.wcard:hover .round-btn{background:var(--accent);border-color:var(--accent);color:var(--bg)}.dlist{margin:0}@media (width>=64rem){.dlist{column-gap:var(--space-8);border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dlist>li{border-top:1px solid var(--line)}.dlist>li:nth-child(n+3){border-top:0}}.prow.drow{gap:var(--space-4);padding-block:var(--space-5);grid-template-columns:2.75rem minmax(0,1fr) auto}.drow .prow-title{text-wrap:balance;font-size:clamp(1.35rem,2vw,1.75rem)}.drow-kind{margin:var(--space-2) 0 0;color:var(--muted)}.drow-run{border:1px solid var(--line-2);width:3.6rem;height:3.6rem;color:var(--text);font:var(--fw-semibold) var(--fs-2xs)/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;transition:background .25s, border-color .25s, color .25s, scale .45s var(--ease-expo);border-radius:50%;align-content:center;place-items:center;gap:.15rem;display:inline-grid}.drow-run .icon{font-size:.8rem}.drow:hover .drow-run{background:var(--accent);border-color:var(--accent);color:var(--bg);scale:1.06}@media (width<=56rem){.prow.drow{grid-template-columns:2.25rem minmax(0,1fr) auto}.prow.drow .prow-main{grid-column:2}.drow-run{width:3.1rem;height:3.1rem}}.acc{border-top:1px solid var(--line)}.acc-row{border-bottom:1px solid var(--line);transition:background .3s}.acc-row[open]{background:var(--surface)}.acc-row summary{gap:var(--space-5);padding:var(--space-6) var(--space-4);cursor:pointer;grid-template-columns:3rem minmax(0,1.7fr) minmax(0,1fr) 3.5rem 2.9rem;align-items:center;list-style:none;display:grid}.acc-row summary::-webkit-details-marker{display:none}.acc-row summary:hover .acc-name{color:var(--accent-hi)}.acc-num{color:var(--muted)}.acc-name{font:var(--fw-semibold) clamp(1.2rem, 2.2vw, 1.9rem)/1.2 var(--display);letter-spacing:-.03em;transition:color .2s}.acc-result{font-family:var(--serif);color:var(--accent-hi);font-size:clamp(1.1rem,1.7vw,1.45rem);font-style:italic;line-height:1.25}.acc-year{color:var(--muted);text-align:right}.acc-icon{border:1px solid var(--line-2);width:2.9rem;height:2.9rem;transition:rotate .45s var(--ease-expo), background .25s, color .25s, border-color .25s;border-radius:50%;place-items:center;display:grid}.acc-row[open] .acc-icon{background:var(--accent);border-color:var(--accent);color:var(--bg);rotate:45deg}.acc-body{justify-items:start;gap:var(--space-4);max-width:60rem;padding:0 var(--space-4) var(--space-7) calc(3rem + var(--space-5) + var(--space-4));display:grid}.acc-body p{color:var(--text-2);font-size:var(--fs-md);margin:0;line-height:1.6}.acc-row::details-content{block-size:0;transition:block-size .55s var(--ease-expo), content-visibility .55s allow-discrete;overflow-y:clip}.acc-row[open]::details-content{block-size:auto}@media (width<=48rem){.acc-row summary{gap:var(--space-1) var(--space-4);padding:var(--space-5) 0;grid-template-columns:2.25rem minmax(0,1fr) 2.9rem}.acc-num{grid-row:1/3;align-self:start;padding-top:.35em}.acc-name{grid-column:2}.acc-result,.acc-year{grid-area:2/2}.acc-year{justify-self:end}.acc-result:empty+.acc-year{justify-self:start}.acc-icon{grid-area:1/3/3}.acc-body{padding:0 0 var(--space-6) calc(2.25rem + var(--space-4))}.acc-row[open]{background:0 0}}.edu-rows{border-top:1px solid var(--line);padding:0;list-style:none}.edu-row{gap:var(--space-3) var(--space-8);padding:var(--space-7) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;align-items:baseline;display:grid}.edu-school{font:var(--fw-bold) clamp(1.5rem, 3vw, 2.6rem)/1.08 var(--display);letter-spacing:-.035em}.edu-degree{font-family:var(--serif);color:var(--text-2);margin:0;font-size:clamp(1.15rem,1.8vw,1.55rem);font-style:italic;line-height:1.3}.edu-meta{align-items:flex-end;gap:var(--space-1);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-direction:column;margin:0;display:flex}.edu-courses{max-width:72rem;margin:var(--space-7) 0 var(--space-8);color:var(--muted);font-size:var(--fs-sm);line-height:1.8}.edu-courses .label{margin-bottom:var(--space-2);display:block}@media (width<=56rem){.edu-row{gap:var(--space-2);grid-template-columns:1fr}.edu-meta{align-items:baseline;gap:var(--space-1) var(--space-5);white-space:normal;flex-flow:wrap}}.contact{padding-bottom:var(--section)}.signoff{margin:var(--space-5) 0 var(--space-9);font-size:clamp(3.4rem,10.4vw,9rem);font-weight:var(--fw-heavy);letter-spacing:var(--track-display);text-wrap:balance;line-height:.95}.signoff>span,.signoff>em{display:block}.signoff em{font-family:var(--serif);letter-spacing:-.02em;color:var(--accent);margin-top:.06em;padding-left:.03em;font-size:1.06em;font-weight:400}@media (width<=40rem){.signoff{font-size:15.5vw}}.contact-email{color:var(--text);font:var(--fw-medium) clamp(1.35rem, 4.4vw, 3.6rem)/1.2 var(--display);letter-spacing:-.035em;overflow-wrap:anywhere;background:linear-gradient(var(--accent), var(--accent)) 0 100% / 100% 2px no-repeat;transition:color .25s, background-size .4s var(--ease-expo);padding-bottom:.12em;display:inline-block}.contact-email:hover{color:var(--accent-hi);background-size:100% 4px}.copy-note{min-height:1.6em;margin:var(--space-3) 0 var(--space-7);color:var(--accent-hi)}.socials{gap:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.social{align-items:center;gap:var(--space-2);min-height:2.9rem;padding:0 var(--space-5);border:1px solid var(--line-2);border-radius:var(--radius-pill);color:var(--text);font-size:var(--fs-sm);transition:border-color .2s,background .2s;display:inline-flex}.social:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.stats-updated{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-2xs)}.stats .group{align-items:center;gap:var(--space-4);margin:var(--space-10) 0 var(--space-5);font:var(--fw-bold) var(--fs-xl)/1 var(--display);letter-spacing:-.03em;color:var(--text);display:flex}.stats .group:after{content:"";background:var(--line);flex:1;height:1px}.stats .shead+.group{margin-top:0}.tile{gap:var(--space-2);min-width:0;padding:var(--space-6) 0 var(--space-7);border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;transition:border-color .3s;display:flex;position:relative}.tile:hover{border-top-color:var(--line-2)}.tile.wide{margin-bottom:var(--space-4)}.tiles{gap:0 var(--space-7);grid-template-columns:1fr;display:grid}.tiles:empty{display:none}@media (width>=40rem){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles>.tile:last-child:nth-child(odd){grid-column:1/-1}}@media (width>=60rem){.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.tiles>.tile{padding-inline:var(--space-6);border-left:1px solid var(--line)}.tiles>.tile:nth-child(3n+1){border-left:0;padding-left:0}.tiles>.tile:nth-child(3n),.tiles>.tile:last-child{padding-right:0}.tiles>.tile:last-child:nth-child(odd){grid-column:auto}.tiles>.tile:last-child:nth-child(3n+1){grid-column:1/-1}.tiles>.tile:last-child:nth-child(3n+2){grid-column:span 2}}@media (width<=40rem){.tiles{gap:var(--space-5);margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) var(--space-3);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;display:flex;overflow-x:auto}.tiles>.tile{scroll-snap-align:start;flex:none;width:min(84vw,22rem)}.tiles>.tile:only-child{width:100%}}.tile{container-type:inline-size}@container (width>=34rem){.tile .kv:not(.inline){grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}}.head-row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.tile .label{color:var(--muted);margin:0}.tile-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.tile-head a{font-size:var(--fs-xs)}.tile .stat{margin:var(--space-2) 0 0;font-size:var(--fs-sm);color:var(--muted)}.tile .stat strong{margin-bottom:var(--space-2);font:var(--fw-heavy) clamp(2.8rem, 5.2vw, 4.6rem)/.92 var(--display);letter-spacing:-.05em;color:var(--text);font-variant-numeric:tabular-nums;display:block}.tile.wide .stat strong{font-size:clamp(3.4rem,8vw,6.75rem)}.tile .sub{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.55}.tile .sub strong{color:var(--text);font-weight:var(--fw-semibold)}.kv{gap:var(--space-3) var(--space-4);margin:var(--space-2) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kv dt{font-family:var(--mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.kv dd{font:var(--fw-bold) var(--fs-lg)/1.2 var(--display);letter-spacing:-.025em;color:var(--text);font-variant-numeric:tabular-nums;margin:.15rem 0 0}.kv dd .muted{font:400 var(--fs-xs) var(--sans);letter-spacing:0}.kv.inline{gap:0 var(--space-7);grid-template-columns:repeat(3,auto);margin:0}.shares{margin:var(--space-2) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.shares li{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) 2.6rem;display:grid}.shares li.other .track i{background:var(--heat-1)}.shares .name{overflow-wrap:anywhere;line-height:1.25}.shares .track{border-radius:var(--radius-sm);background:var(--heat-0);height:6px;overflow:hidden}.shares .track i{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--accent-deep), var(--accent-hi));height:100%;display:block}.shares .mono{text-align:right;color:var(--muted);font-size:var(--fs-xs)}.ticks{margin:var(--space-1) 0;flex-wrap:wrap;gap:3px;display:flex}.ticks i{border-radius:var(--radius-xs);width:8px;height:18px}.ticks i.ok{background:var(--good);opacity:.85}.ticks i.bad{background:var(--danger)}.split{margin:var(--space-2) 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.split li{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm);display:flex}.split li>:last-child{white-space:nowrap;text-align:right}.split li .mono{color:var(--text);font-size:var(--fs-xs)}.live{margin-left:var(--space-2);padding:.05rem var(--space-2);border-radius:var(--radius-sm);background:var(--danger);color:var(--text);font-size:var(--fs-2xs);letter-spacing:.08em}.heatmap{margin:var(--space-3) 0 0}.heatmap .scroll{overflow-x:auto}.heatmap svg{width:100%;min-width:34rem;height:auto;display:block}.heatmap .legend{margin-top:var(--space-2);color:var(--muted);font-size:var(--fs-2xs);justify-content:flex-end;align-items:center;gap:4px;display:flex}.heatmap .legend span{margin-inline:var(--space-1)}.heatmap .legend i{border-radius:var(--radius-xs);width:10px;height:10px;display:inline-block}.h0{fill:var(--heat-0);background:var(--heat-0)}.h1{fill:var(--heat-1);background:var(--heat-1)}.h2{fill:var(--heat-2);background:var(--heat-2)}.h3{fill:var(--heat-3);background:var(--heat-3)}.h4{fill:var(--heat-4);background:var(--heat-4)}.heatmap rect:hover{stroke:var(--text);stroke-width:1px}svg .axis{font:400 8px var(--mono);fill:var(--muted)}svg .value{font:var(--fw-semibold) 9px var(--sans);fill:var(--text)}.weekbars{width:100%;height:auto;margin:var(--space-2) 0}.weekbars .bar{fill:var(--accent)}.weekbars .bar.partial,.weekbars .bar.soft{fill:var(--heat-2)}.weekbars g:hover .bar{fill:var(--accent-hi)}.weekbars .baseline{stroke:var(--line);stroke-width:1px}.plist-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-9) 0 var(--space-5);flex-wrap:wrap;display:flex}.plist-shown{text-transform:uppercase;letter-spacing:.1em;margin:0}html:not(.js) .plist-bar{display:none}.plist{margin:0 0 var(--section);border-top:1px solid var(--line);padding:0;list-style:none}.prow-item[hidden]{display:none}.prow{gap:var(--space-5);padding:var(--space-6) var(--space-3);border-bottom:1px solid var(--line);color:var(--text);transition:background .35s, padding .5s var(--ease-expo);grid-template-columns:3.25rem minmax(0,1fr) 8.5rem minmax(0,11rem) 2.75rem;align-items:center;display:grid;position:relative}.prow:hover{color:var(--text);background:linear-gradient(90deg, color-mix(in srgb, var(--hue) 10%, transparent), transparent 70%)}@media (hover:hover) and (pointer:fine){.prow:hover{padding-left:var(--space-6)}}.prow-num{color:var(--muted)}.prow-main{min-width:0}.prow-title{font:var(--fw-bold) var(--fs-card)/1.05 var(--display);letter-spacing:-.035em;transition:color .2s}.prow:hover .prow-title{color:var(--accent-hi)}.prow-blurb{max-width:52rem;margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.prow-year{color:var(--text-2)}.prow-tags{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.prow-arrow{border:1px solid var(--line-2);width:2.75rem;height:2.75rem;transition:background .25s, color .25s, border-color .25s, rotate .45s var(--ease-expo);border-radius:50%;place-items:center;display:grid}.prow:hover .prow-arrow{background:var(--accent);border-color:var(--accent);color:var(--bg);rotate:45deg}@media (width<=56rem){.prow{gap:var(--space-3) var(--space-4);padding:var(--space-5) 0;grid-template-columns:2.25rem minmax(0,1fr) auto}.prow-num{align-self:start;padding-top:.5em}.prow-main{grid-column:2/-1}.prow-year{grid-column:2}.prow-tags{grid-column:3}.prow-arrow{display:none}}.float-thumb{z-index:50;aspect-ratio:16/10;pointer-events:none;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2);width:clamp(16rem,24vw,24rem);box-shadow:var(--shadow-deep);opacity:0;transition:opacity .25s, scale .45s var(--ease-expo);position:fixed;top:0;left:0;overflow:hidden;scale:.8}.float-thumb.is-on{opacity:1;scale:1}.float-thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.float-thumb .wcard-panel{padding-bottom:var(--space-6)}.ptop{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:clamp(var(--space-8), 7vw, var(--space-10));color:var(--muted);text-transform:uppercase;letter-spacing:.12em;display:flex}.back{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--text-2);display:inline-flex}.back:hover{color:var(--accent-hi)}.back .icon{transition:translate .25s var(--ease-out)}.back:hover .icon{translate:-3px}.ptitle{margin:0 0 var(--space-7);font-size:clamp(2.4rem, min(15vw, var(--fit,15vw)), 11rem);font-weight:var(--fw-heavy);letter-spacing:var(--track-display);overflow-wrap:break-word;line-height:.9}.ptitle.long{font-size:clamp(2.2rem, min(11vw, var(--fit,11vw)), 7.5rem)}.pblurb{max-width:36ch;margin:0 0 clamp(var(--space-8), 6vw, var(--space-10));font-family:var(--serif);color:var(--accent-hi);font-size:clamp(1.45rem,3vw,2.6rem);font-style:italic;line-height:1.22}.pmeta{gap:var(--space-6) var(--space-7);margin:0 0 clamp(var(--space-8), 6vw, var(--space-10));padding-top:var(--space-6);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}@media (width>=64rem){.pmeta{grid-template-columns:minmax(0,.7fr) minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr)}.pmeta:not(:has(.pmeta-wide)){grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.pmeta dd.tags{gap:var(--space-2)}.pmeta dt{margin-bottom:var(--space-2);font:var(--fw-medium) var(--fs-2xs) var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.pmeta dd{color:var(--text-2);font-size:var(--fs-sm);margin:0;line-height:1.6}.plinks{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.plinks a{color:var(--text);border-bottom:1px solid var(--line-2);align-items:center;gap:.4em;transition:border-color .2s,color .2s;display:inline-flex}.plinks a:hover{color:var(--accent-hi);border-color:var(--accent)}.frame{margin:0 0 var(--section);position:relative}.frame:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--hue) 22%, transparent), transparent);pointer-events:none;border-radius:50%;position:absolute;inset:8% 6% -6%}.frame-browser{border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-deep);overflow:hidden}.frame-bar{height:2.4rem;padding:0 var(--space-4);border-bottom:1px solid var(--line);background:var(--surface-2);align-items:center;gap:6px;display:flex}.frame-bar i{background:var(--line-2);border-radius:50%;flex:none;width:10px;height:10px}.frame-bar span{min-width:0;margin-left:var(--space-4);text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--fs-2xs);overflow:hidden}.frame-shot{overflow:hidden}.frame-shot img{width:100%}.motion .frame-parallax{scale:1.06}.frame-phone{border:1px solid var(--line-2);width:min(24rem,80vw);box-shadow:var(--shadow-deep);background:#0f0d16;border-radius:2.6rem;margin-inline:auto;padding:.7rem}.frame-phone .frame-shot{border-radius:2rem}.pbody{display:grid}.psec{gap:var(--space-5) var(--space-8);padding-block:clamp(var(--space-8), 6vw, var(--space-10));border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,3fr);display:grid}.psec>.label{padding-top:.6em}.pover{max-width:56rem;font:var(--fw-medium) var(--fs-statement)/1.22 var(--display);letter-spacing:-.028em;margin:0}.pover code{vertical-align:.15em;font-size:.62em}.pstats{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin:0;padding:0;list-style:none;display:grid}.pstats li{padding:var(--space-6) var(--space-6) var(--space-2);border-left:1px solid var(--line);font:var(--fw-heavy) clamp(1.9rem, 3.4vw, 3.1rem)/1.02 var(--display);letter-spacing:-.045em;text-wrap:balance}.pstats li:first-child{border-left:0;padding-left:0}.pstats li:before{content:"";width:2rem;height:2px;margin-bottom:var(--space-4);background:var(--hue);display:block}.phigh{border-top:1px solid var(--line);padding:0;list-style:none}.phigh li{gap:var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--line);grid-template-columns:3rem minmax(0,1fr);display:grid}.phigh .mono{color:var(--accent);padding-top:.3em}.phigh p{max-width:54rem;color:var(--text);font-size:var(--fs-md);margin:0;line-height:1.6}.motion .phigh p,.motion .phigh .mono{transition:color .6s var(--ease-out)}.motion .phigh li:not(.is-lit) p{color:var(--muted)}.motion .phigh li:not(.is-lit) .mono{color:var(--dim)}.prose.skip-first>p:first-child:not(.prose-rest),.prose.skip-first>.prose-rest+p{display:none}@media (width<=48rem){.psec{gap:var(--space-4);grid-template-columns:1fr}.psec>.label{padding-top:0}.phigh li{grid-template-columns:2.25rem minmax(0,1fr)}.pstats{grid-template-columns:1fr 1fr}.pstats li{padding:var(--space-5) var(--space-4) var(--space-5) 0;border-left:0;border-bottom:1px solid var(--line)}.pstats li:nth-child(2n){padding-left:var(--space-4);border-left:1px solid var(--line)}.pstats li:last-child:nth-child(odd){grid-column:1/-1}}.pdemo{margin-bottom:var(--section)}.project:has(.pdemo) .frame{margin-bottom:clamp(var(--space-9), 7vw, var(--space-11))}.pdemo-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-6);margin-bottom:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.pdemo-head p{margin:0}.demo{gap:var(--space-4);min-width:0;display:grid}.demo-frame{border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--shadow-deep);position:relative;overflow:hidden}.demo-frame iframe{width:100%;height:var(--demo-h,640px);background:var(--bg);border:0;display:block}@media (width<=48rem),(pointer:coarse){.demo-frame iframe{height:min(var(--demo-h,640px), 75svh)}}.demo-frame.is-locked iframe{pointer-events:none}.demo-gate{padding:0 0 var(--space-6);background:linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--bg) 78%, transparent));color:var(--text);cursor:pointer;border:0;place-items:end center;display:grid;position:absolute;inset:0}.demo-gate span{padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);background:var(--accent);color:var(--bg);font:var(--fw-semibold) var(--fs-sm)/1 var(--sans);box-shadow:var(--shadow-lift)}.demo-done{top:var(--space-3);right:var(--space-3);background:color-mix(in srgb, var(--bg) 85%, transparent);position:absolute}.demo-frame:fullscreen{border:0;border-radius:0}.demo-frame:fullscreen iframe{height:100%}.demo-tools{gap:var(--space-3);flex-wrap:wrap;display:flex}.demo-nojs{color:var(--text-2);margin:0}.demo-nojs a{text-underline-offset:.2em;text-decoration:underline}.demo-label{max-width:62rem;padding-left:var(--space-4);border-left:2px solid var(--accent);color:var(--text-2);margin:0;line-height:1.6}.pnext{gap:var(--space-7);padding-block:var(--section) calc(var(--section) * .8);display:grid}.pnext-link{align-items:end;gap:var(--space-5) var(--space-6);padding-block:var(--space-8) var(--space-9);border-block:1px solid var(--line);color:var(--text);grid-template-columns:minmax(0,1fr) auto;display:grid}.pnext-link:hover{color:var(--text)}.pnext-link .mono{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;grid-column:1/-1}.pnext-link strong{font:var(--fw-heavy) clamp(2.4rem, 9vw, 8rem)/.92 var(--display);letter-spacing:var(--track-display);overflow-wrap:break-word;transition:color .3s}.pnext-link:hover strong{color:var(--accent-hi)}.pnext-link:hover .round-btn{background:var(--accent);border-color:var(--accent);color:var(--bg)}.pprev{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--muted);justify-self:start;display:inline-flex}.pprev:hover{color:var(--text)}.resumes{--cols:1;justify-content:center;gap:var(--space-6);margin:var(--space-9) 0 var(--section);flex-wrap:wrap;padding:0;list-style:none;display:flex}.resumes>.rcard{flex:0 0 calc((100% - (var(--cols) - 1) * var(--space-6)) / var(--cols));min-width:0}@media (width>=40rem){.resumes{--cols:2}}@media (width>=64rem){.resumes{--cols:3}}.rcard{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .3s, translate .5s var(--ease-expo);flex-direction:column;display:flex;overflow:hidden}.rcard:hover{border-color:color-mix(in srgb, var(--hue) 55%, var(--line));translate:0 -4px}.rcard-preview{background:var(--paper);height:19rem;display:block;position:relative;overflow:hidden}.rcard-preview img{width:100%;height:auto;transition:transform .9s var(--ease-expo)}.rcard:hover .rcard-preview img{transform:scale(1.03)translateY(-1.5%)}.rcard-preview:after{content:"";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--hue) 18%, transparent) 60%, color-mix(in srgb, var(--surface) 92%, transparent));height:45%;position:absolute;inset:auto 0 0}.rcard-num{color:var(--hue);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.14em;margin:0}.rcard-body{gap:var(--space-3);padding:var(--space-6);flex-direction:column;flex:1;display:flex}.rcard-body h2{font:var(--fw-bold) var(--fs-xl)/1.05 var(--display);letter-spacing:-.035em}.rcard-body>p.muted{font-size:var(--fs-sm);margin:0;line-height:1.5}.rcard .links{padding-top:var(--space-3);gap:var(--space-2);margin-top:auto}.rcard .btn{padding-inline:var(--space-4)}.rcard-date{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.1em;margin:0}.note-title{font-size:clamp(2.4rem,7vw,6rem)}.note-body{margin:var(--space-8) 0 var(--section)}.notes-list .prow{grid-template-columns:3.25rem minmax(0,1fr) 8.5rem 2.75rem}.notes-empty{padding:var(--space-6) 0}.notfound{padding-bottom:var(--section)}.notfound-code{margin-bottom:var(--space-4);font-size:clamp(7rem,30vw,22rem);line-height:.8}.notfound-line{margin:0 0 var(--space-7);color:var(--accent);font-size:clamp(1.8rem,5vw,4rem);line-height:1.1}.motion [data-split]:not(.is-split){visibility:hidden}.sw{vertical-align:top;margin:-.14em -.08em -.2em;padding:.14em .08em .2em;display:inline-block;overflow:clip}.swi,.sc{display:inline-block}.motion :is([data-reveal],[data-reveal-intro]):not(.is-in){opacity:0}.motion :is([data-reveal],[data-reveal-intro]).is-in{animation:rise 1s var(--ease-expo) both var(--d,0s)}@keyframes rise{0%{opacity:0;transform:translateY(36px)}}.motion.arrived .frame[data-reveal-intro]{opacity:1;animation:none}.motion .tile:not(.is-in),.motion .stats .group:not(.is-in){opacity:0}.motion :is(.tile,.stats .group).is-in{animation:rise 1s var(--ease-expo) both var(--d,0s)}@keyframes rise-sm{0%{opacity:0;transform:translateY(14px)}}@media (width<=40rem){.motion :is([data-reveal],[data-reveal-intro]).is-in,.motion :is(.tile,.stats .group).is-in{animation-name:rise-sm;animation-duration:.6s}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes cell{0%{opacity:0;transform:scale(.3)}}.motion .tile.is-in .weekbars .bar{transform-box:fill-box;transform-origin:50% 100%;animation:grow-y .8s var(--ease-out) backwards calc(var(--d,0s) + .15s + var(--i,0) * 30ms)}.motion .tile.is-in .heatmap rect{transform-box:fill-box;transform-origin:50%;animation:cell .45s ease-out backwards calc(var(--d,0s) + var(--i,0) * 1.4ms)}.motion .tile.is-in .shares .track i{transform-origin:0;animation:grow-x .9s var(--ease-out) backwards calc(var(--d,0s) + .15s + var(--i,0) * 60ms)}.motion .tile.is-in .ticks i{transform-origin:bottom;animation:grow-y .4s ease-out backwards calc(var(--d,0s) + var(--i,0) * 18ms)}@media print{.motion [data-split],.motion [data-reveal],.motion [data-reveal-intro],.motion .tile{visibility:visible!important;opacity:1!important;animation:none!important}.loader,.wipe,.grain,.cursor,.cursor-dot,.progress{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@view-transition{navigation:none}}
