:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#05060a;--ink-2:#0a0c13;--fg:#edeff5;--fg-2:#edeff5a8;--fg-3:#edeff56b;--line:#edeff517;--line-2:#edeff52b;--glass:#0c0e168f;--glass-strong:#0a0c13db;--cta-bg:#f2f3f7;--cta-fg:#05060a;--error:#ff9c8f;--spectrum:#ff8a7a, #ffb067, #f2d46f, #86e3a8, #67d6e3, #7fa6ff, #b795ff;--sans:var(--font-af), system-ui, sans-serif;--mono:var(--font-af-mono), ui-monospace, monospace;--side:max(20px, 4.2vw);--top:84px;--stage-bottom:184px;--ease:cubic-bezier(.65, 0, .35, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--dur:.95s}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body.site{min-height:100vh;min-height:100dvh;font-family:var(--sans);color:var(--fg);background:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5;overflow:hidden}:where(.site) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:where(.site) a{color:inherit}:where(.site) :focus-visible{outline:1.5px solid var(--fg);outline-offset:3px;border-radius:6px}:where(.site) [tabindex="-1"]:focus{outline:none}:where(.site) :is(p,h1,h2,h3,ul,ol){margin:0}:where(.site) :is(ul,ol){padding:0;list-style:none}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}canvas.field{z-index:0;pointer-events:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}.veil{z-index:1;pointer-events:none;background:radial-gradient(130% 95% at 50% 42%,#0000 52%,#0000009e 100%),linear-gradient(#05060a80,#0000 14% 86%,#05060a8c);position:fixed;inset:0}.veil:after{content:"";opacity:.07;mix-blend-mode:overlay;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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}[data-chrome]{transition:opacity 1.1s var(--ease-out), translate 1.1s var(--ease-out), filter 1.1s var(--ease-out)}body.is-intro [data-chrome]{opacity:0;filter:blur(6px);pointer-events:none;translate:0 10px}body.is-ready .intro{transition-delay:.12s}body.is-ready .tiles{transition-delay:.32s}body.is-ready .guide{transition-delay:.5s}.top{z-index:5;height:var(--top);padding:env(safe-area-inset-top,0px) max(var(--side), env(safe-area-inset-right,0px)) 0 max(var(--side), env(safe-area-inset-left,0px));justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;inset:0 0 auto}.mark{align-items:baseline;gap:14px;min-width:0;text-decoration:none;display:flex}.mark-name{letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:500;font-stretch:122%}.mark-role{color:var(--fg-3);white-space:nowrap;font-size:13px}.nav{align-items:center;gap:4px;display:flex}.nav button{min-height:38px;color:var(--fg-2);border-radius:999px;padding:0 14px;font-size:14px;transition:color .2s,background-color .2s}.nav button:hover{color:var(--fg);background:#ffffff0f}.nav button[aria-current]{color:var(--fg)}.nav button[aria-current]:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin:3px auto -7px;display:block}.site .nav .nav-cta{color:var(--cta-fg);background:var(--cta-bg);margin-left:10px;padding:0 18px;font-weight:500}.site .nav .nav-cta:hover{color:var(--cta-fg);background:#fff}.skip-intro{right:max(var(--side), env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:8;min-height:40px;color:var(--fg-3);border-radius:999px;padding:0 16px;font-size:13px;transition:color .2s;position:fixed}.skip-intro:hover{color:var(--fg)}body:not(.is-intro) .skip-intro{display:none}.stage{z-index:2;pointer-events:none;position:fixed;inset:0}.stage>*{pointer-events:auto}.overview{padding:calc(var(--top) + clamp(12px, 5.5vh, 64px)) max(var(--side), env(safe-area-inset-right,0px)) 0 max(var(--side), env(safe-area-inset-left,0px));grid-template-columns:minmax(0,1fr) auto;align-content:start;align-items:end;gap:32px;display:grid;position:absolute;inset:0}.legend{display:none}.stage>.overview{pointer-events:none}.overview>*{pointer-events:auto}.intro{flex-direction:column;gap:18px;min-width:0;display:flex}.intro h1{letter-spacing:-.028em;text-wrap:balance;max-width:15.5em;font-size:clamp(30px,3.35vw,56px);font-weight:300;font-stretch:116%;line-height:1.06}.intro-sub{max-width:50ch;color:var(--fg-2);text-wrap:pretty;font-size:15.5px;line-height:1.55}.tiles{flex-direction:column;gap:10px;display:flex}.tile{text-align:left;background:var(--glass);width:340px;box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.2);border-radius:16px;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:16px;padding:7px 18px 7px 7px;transition:box-shadow .3s,background-color .3s;display:grid}.tile:hover{box-shadow:inset 0 0 0 1px var(--line-2);background:#121520a8}.tile-media{aspect-ratio:16/10;background:var(--ink-2);border-radius:10px;display:block;position:relative;overflow:hidden}.tile-media video,.tile-media img{object-fit:cover;width:100%;height:100%;transition:scale .6s var(--ease-out);display:block}.tile:hover .tile-media video,.tile:hover .tile-media img{scale:1.04}.tile-text{flex-direction:column;gap:3px;min-width:0;display:flex}.tile-title{font-size:15px;font-weight:500}.tile-line{color:var(--fg-2);font-size:13px;line-height:1.4}.noscript-work{max-width:70ch;color:var(--fg-2);grid-column:1/-1;gap:10px;display:grid}.loom{z-index:3;pointer-events:none;transition:opacity 1s var(--ease-out) .55s;position:fixed;inset:0}body.is-intro .loom,body.is-intro .legend{opacity:0;transition:none}.threads,.strands,.years{position:absolute;inset:0}.thread,.strand,.years li{transition:transform var(--dur) var(--ease), width var(--dur) var(--ease), height var(--dur) var(--ease), opacity .45s var(--ease-out);position:absolute;top:0;left:0}.thread{pointer-events:auto;width:0;height:0}.thread-btn{white-space:nowrap;color:color-mix(in srgb, var(--c) 88%, white);opacity:.86;background:var(--ink);box-shadow:0 0 10px 6px var(--ink);border-radius:999px;padding:4px 10px;font-size:13px;line-height:1.2;transition:opacity .25s,color .25s;position:absolute;top:0;left:-10px;translate:0 -50%}.thread-btn:hover,.thread.is-on .thread-btn{opacity:1;color:color-mix(in srgb, var(--c) 72%, white)}.thread.is-on .thread-btn{font-weight:600}body.has-thread .thread:not(.is-on) .thread-btn{opacity:.38}.thread-tip{z-index:2;width:260px;color:var(--fg-2);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .2s, translate .2s var(--ease-out);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;position:absolute;top:18px;left:-10px;translate:0 -4px}:is(.thread-btn:hover+.thread-tip,.thread-btn:focus-visible+.thread-tip){opacity:1;transition-delay:.25s;translate:0}.thread:nth-child(n+5) .thread-tip{top:auto;bottom:18px;translate:0 4px}:is(.thread:nth-child(n+5) .thread-btn:hover+.thread-tip,.thread:nth-child(n+5) .thread-btn:focus-visible+.thread-tip){translate:0}.strand{pointer-events:auto}.strand-btn{border-radius:999px;position:absolute;inset:0}.site .strand-btn:focus-visible{outline-offset:0;outline:1px solid #ffffff80}.strand-name{transform-origin:0 100%;white-space:nowrap;color:var(--fg-2);margin-bottom:8px;font-size:12.5px;line-height:1;transition:color .25s,opacity .35s;position:absolute;bottom:100%;left:50%;rotate:-36deg}:is(.strand-btn:hover .strand-name,.strand-btn:focus-visible .strand-name,.strand.is-lit .strand-name){color:var(--fg)}.strand.is-lit .strand-name{font-weight:600}.strand.is-dim .strand-name{opacity:.28}.strand-kind,.strand-dots{display:none}.years li{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--fg-3);font-size:12px;translate:-50%}.hover-card{z-index:4;background:var(--glass-strong);max-width:300px;box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;border-radius:12px;flex-direction:column;gap:2px;padding:9px 14px 10px;transition:opacity .18s;display:flex;position:absolute;top:0;left:0;translate:-50%}.hover-card.is-above{translate:-50% -100%}.hover-card.is-right{translate:18px -50%}.hover-card.is-left{translate:calc(-100% - 18px) -50%}.hover-card.is-on{opacity:1}.hc-name{font-size:14px;font-weight:500}.hc-kind{color:var(--fg-2);font-size:12.5px;line-height:1.35}body.is-band .threads,body.is-band .years,body.is-band .strand-name{opacity:0;pointer-events:none}body.is-band .threads .thread,body.is-band .threads .thread-btn{pointer-events:none}.strand.is-current:before{content:"";background:var(--fg);border-radius:50%;width:5px;height:5px;position:absolute;top:-10px;left:50%;translate:-50%;box-shadow:0 0 12px 2px #ffffff8c}.no-gl canvas.field{display:none}.no-gl .thread:after{content:"";background:linear-gradient(to right, transparent, color-mix(in srgb, var(--c) 55%, transparent) 140px);width:100vw;height:1px;position:absolute;top:0;left:0}.no-gl .strand-btn:before{content:"";background:#ffffff24;width:1px;position:absolute;top:0;bottom:0;left:50%}.stage-view{top:calc(var(--top) + 6px);bottom:var(--stage-bottom);left:max(var(--side), env(safe-area-inset-left,0px));right:max(var(--side), env(safe-area-inset-right,0px));position:absolute}@keyframes focus-in{0%{opacity:0;filter:blur(8px);translate:0 6px}}.focus-view{flex-direction:column;gap:14px;display:flex}.focus-slot{flex:1;min-height:0}.fx{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:clamp(28px,4vw,72px);height:100%;display:grid}.fx-media{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.fx-frame{flex:1;min-height:0;position:relative}.fx-item{object-fit:contain;opacity:0;width:100%;height:100%;position:absolute;inset:0}.fx-frame.is-in .fx-item{opacity:1;transition:opacity .9s var(--ease-out)}.fx-frame.is-gone .fx-item{opacity:0;transition:none}video.fx-item,img.fx-item{filter:drop-shadow(0 30px 60px #0000008c)}.fx-diagram{place-items:center;padding:8px;display:grid;overflow:auto}.fx-empty{text-align:center;color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--line);background:repeating-linear-gradient(135deg,#ffffff05 0 1px,#0000 1px 9px);border-radius:16px;place-items:center;padding:24px;font-size:16px;line-height:1.6;display:grid}.fx-empty p{text-wrap:balance;max-width:30ch}.fx-thumbs{flex-wrap:wrap;gap:8px;display:flex}.fx-thumb{aspect-ratio:16/10;background:var(--ink-2);opacity:.55;width:72px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;transition:opacity .2s;position:relative;overflow:hidden}.fx-thumb:hover,.fx-thumb[aria-pressed=true]{opacity:1}.fx-thumb[aria-pressed=true]{box-shadow:0 0 0 1.5px var(--fg)}.fx-thumb img{object-fit:cover;width:100%;height:100%;display:block}.fx-thumb-play{border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--fg);filter:drop-shadow(0 1px 3px #0009);width:0;height:0;margin:auto;position:absolute;inset:0}.fx-thumb-diagram{background:linear-gradient(var(--fg-3), var(--fg-3)) 0 0 / 30% 2px no-repeat, linear-gradient(var(--fg-3), var(--fg-3)) 50% 50% / 30% 2px no-repeat, linear-gradient(var(--fg-3), var(--fg-3)) 100% 100% / 30% 2px no-repeat;position:absolute;inset:10px 14px}.fx-info{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex-direction:column;gap:16px;min-width:0;min-height:0;padding:4px 6px 40px 0;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 48px),#0000);mask-image:linear-gradient(#000 calc(100% - 48px),#0000)}.fx-info>*{animation:focus-in .8s var(--ease-out) both}.fx-info>:nth-child(2){animation-delay:50ms}.fx-info>:nth-child(3){animation-delay:.1s}.fx-info>:nth-child(4){animation-delay:.15s}.fx-info>:nth-child(n+5){animation-delay:.22s}.fx-meta{color:var(--fg-3);flex-wrap:wrap;gap:6px 10px;font-size:13px;display:flex}.fx-meta span+span{border-left:1px solid var(--line-2);padding-left:10px}.fx-name{letter-spacing:-.03em;text-wrap:balance;margin-top:-4px;font-size:clamp(34px,3.3vw,54px);font-weight:300;font-stretch:116%;line-height:1.02}.fx-kind{color:var(--fg-2);margin-top:-6px;font-size:16px}.fx-summary{text-wrap:pretty;max-width:62ch;font-size:15.5px;line-height:1.62}.fx-h{color:var(--fg-3);margin-top:8px;font-size:13px;font-weight:500}.fx-shows{margin-top:-6px;display:grid}.fx-shows li{border-top:1px solid var(--line);grid-template-columns:124px minmax(0,1fr);gap:16px;padding:11px 0;display:grid}.fx-shows li:last-child{border-bottom:1px solid var(--line)}.fx-d{width:fit-content;color:color-mix(in srgb, var(--c) 78%, white);cursor:help;align-self:start;align-items:center;gap:9px;font-size:13.5px;font-weight:500;line-height:1.5;display:inline-flex;position:relative}.fx-d:before{content:"";background:var(--c);width:3px;height:14px;box-shadow:0 0 10px var(--c);border-radius:2px;flex:none}.fx-tip{z-index:3;width:250px;color:var(--fg-2);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.45;transition:opacity .18s;position:absolute;bottom:calc(100% + 8px);left:0}:is(.fx-d:hover .fx-tip,.fx-d:focus-visible .fx-tip){opacity:1;transition-delay:.2s}.fx-shows p{color:var(--fg-2);text-wrap:pretty;font-size:14.5px;line-height:1.55}.fx-more{color:var(--fg-2);font-size:14.5px;line-height:1.55}.fx-more summary{min-height:36px;color:var(--fg);cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:500;list-style:none;display:inline-flex}.fx-more summary::-webkit-details-marker{display:none}.fx-more summary:after{content:"";width:7px;height:7px;transition:rotate .25s var(--ease-out);border-bottom:1.4px solid;border-right:1.4px solid;margin-top:-3px;rotate:45deg}.fx-more[open] summary:after{margin-top:3px;rotate:225deg}.fx-more[open]>:not(summary){animation:focus-in .5s var(--ease-out) both}.fx-role{color:var(--fg);margin-top:6px}.fx-highlights{gap:8px;margin:12px 0;display:grid}.fx-highlights li{padding-left:16px;position:relative}.fx-highlights li:before{content:"";background:var(--fg-3);width:6px;height:1px;position:absolute;top:.72em;left:0}.fx-stack{color:var(--fg-3);font-size:13.5px}.fx-actions{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.fx-link,.fx-ask,.cv-links a{min-height:40px;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14px;text-decoration:none;transition:background-color .2s,box-shadow .2s;display:inline-flex}.fx-link:hover,.fx-ask:hover,.cv-links a:hover{background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff4d}.site .fx-ask{color:var(--fg-2);box-shadow:none;padding:0 14px 0 4px}.fx-ask:before{content:"";background:conic-gradient(from 200deg, var(--spectrum), #ff8a7a);border-radius:50%;width:9px;height:9px}.site .fx-ask:hover{color:var(--fg)}.focus-nav{color:var(--fg-3);align-items:center;gap:4px;font-size:13px;display:flex}.fn-btn{width:36px;height:36px;color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-items:center;transition:color .2s,box-shadow .2s;display:inline-grid}.fn-btn:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}.fn-count{text-align:center;font-variant-numeric:tabular-nums;min-width:64px}.site .fn-back{min-height:36px;color:var(--fg-2);margin-left:10px;padding:0 6px;transition:color .2s}.site .fn-back:hover{color:var(--fg)}.reel-view{grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:clamp(28px,4vw,64px);display:grid}.rv-media{align-items:center;min-width:0;min-height:0;display:grid}.rv-frame{aspect-ratio:16/9;width:100%;max-height:100%;margin:auto;position:relative}.rv-frame video{object-fit:contain;opacity:0;filter:drop-shadow(0 30px 60px #0000008c);background:0 0;border-radius:6px;width:100%;height:100%;display:block}.rv-frame.is-in video{opacity:1;transition:opacity .9s var(--ease-out)}.rv-frame.is-gone video{opacity:0;transition:none}.rv-info{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex-direction:column;gap:14px;min-height:0;padding:4px 6px 40px 0;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 48px),#0000);mask-image:linear-gradient(#000 calc(100% - 48px),#0000)}.rv-info>*{animation:focus-in .8s var(--ease-out) both}.rv-info>:nth-child(2){animation-delay:60ms}.rv-info>:nth-child(3){animation-delay:.14s}.rv-title{letter-spacing:-.03em;font-size:clamp(30px,2.8vw,46px);font-weight:300;font-stretch:116%;line-height:1.04}.rv-lede{max-width:44ch;color:var(--fg-2);font-size:15px}.rv-chapters{margin-top:4px;display:grid}.rv-chapter{text-align:left;border-top:1px solid var(--line);width:100%;color:var(--fg-2);grid-template-columns:44px minmax(0,1fr);gap:2px 12px;padding:11px 10px 11px 0;transition:color .2s;display:grid}.rv-chapters li:last-child .rv-chapter{border-bottom:1px solid var(--line)}.rv-chapter:hover,.rv-chapter[aria-pressed=true]{color:var(--fg)}.rv-time{font-variant-numeric:tabular-nums;color:var(--fg-3);grid-row:span 2;padding-top:2px;font-size:12.5px}.rv-q{font-size:15px;line-height:1.4}.rv-a{color:var(--fg-2);font-size:13.5px;line-height:1.5;display:none}.rv-chapter[aria-pressed=true] .rv-a{animation:focus-in .5s var(--ease-out) both;display:block}.rv-chapter[aria-pressed=true] .rv-time{color:var(--fg)}.resume-view{grid-template-columns:minmax(280px,.9fr) minmax(0,1.6fr);gap:clamp(32px,5vw,96px);display:grid}.cv-person{flex-direction:column;gap:14px;min-height:0;display:flex;overflow-y:auto}.cv-person>*{animation:focus-in .8s var(--ease-out) both}.cv-person>:nth-child(n+2){animation-delay:80ms}.cv-person>:nth-child(n+4){animation-delay:.16s}.cv-portrait{aspect-ratio:891/900;width:clamp(112px,11vw,168px);margin-bottom:6px;position:relative}.cv-portrait img{object-fit:contain;opacity:0;border-radius:50%;width:100%;height:100%;display:block}.cv-portrait.is-in img{opacity:1;transition:opacity .9s var(--ease-out)}.cv-portrait.is-gone img{opacity:0;transition:none}.cv-name{letter-spacing:-.03em;font-size:clamp(36px,3.6vw,60px);font-weight:300;font-stretch:118%;line-height:1}.cv-title{color:var(--fg-2);font-size:16px}.cv-summary{max-width:46ch;color:var(--fg-2);font-size:15px;line-height:1.6}.cv-links{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.site .cv-links .cv-pdf{color:var(--cta-fg);background:var(--cta-bg);box-shadow:none;font-weight:500}.site .cv-links .cv-pdf:hover{background:#fff}.cv-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;min-height:0;animation:focus-in .9s var(--ease-out) .2s both;padding:4px 8px 48px 0;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 56px),#0000);mask-image:linear-gradient(#000 calc(100% - 56px),#0000)}.site .cv-body:focus-visible{outline-offset:-2px}.cv-h{color:var(--fg-3);margin:34px 0 12px;font-size:13px;font-weight:500}.cv-h:first-child{margin-top:0}.cv-roles{display:grid}.cv-role{border-top:1px solid var(--line);grid-template-columns:190px minmax(0,1fr);gap:4px 28px;padding:18px 0;display:grid}.cv-when{color:var(--fg-3);grid-row:span 3;font-size:13.5px}.cv-role-title{font-size:17px;font-weight:500}.cv-role-title span{color:var(--fg-2);font-weight:400}.cv-role-summary{max-width:64ch;color:var(--fg-2);font-size:14.5px;line-height:1.6}.cv-role ul{max-width:64ch;color:var(--fg-2);gap:6px;margin-top:8px;font-size:14px;line-height:1.55;display:grid}.cv-role li{padding-left:16px;position:relative}.cv-role li:before{content:"";background:var(--fg-3);width:6px;height:1px;position:absolute;top:.75em;left:0}.cv-edu{color:var(--fg-2);font-size:14.5px}.cv-skills{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px 28px;display:grid}.cv-skills li{border-left:2px solid var(--c);padding-left:14px}.cv-skill-name{color:color-mix(in srgb, var(--c) 78%, white);font-size:14px;font-weight:500}.cv-skill-list{color:var(--fg-2);margin-top:4px;font-size:13.5px;line-height:1.55}.atlas{gap:14px;width:min(100%,820px);display:grid}.atlas-layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.atlas-layer,.atlas-tiers{background:var(--glass);box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(14px);border-radius:14px;padding:16px}.atlas-layer{box-shadow:inset 0 0 0 1px var(--line), inset 0 2px 0 0 var(--c)}.atlas-name{font-size:15px;font-weight:500}.atlas-layer .atlas-name{color:color-mix(in srgb, var(--c) 75%, white)}.atlas-note{color:var(--fg-2);margin-top:4px;font-size:12.5px;line-height:1.45}.atlas-flow{gap:6px;margin-top:12px;display:grid}.atlas-flow li{background:#ffffff0a;border-radius:8px;padding:7px 10px;font-size:13px;position:relative}.atlas-flow li+li:before{content:"";background:color-mix(in srgb, var(--c) 60%, transparent);width:1px;height:6px;position:absolute;top:-6px;left:16px}.atlas-tiers ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.atlas-tiers li{color:var(--fg-2);background:rgb(255 255 255/calc(.025 + var(--i) * .02));border-radius:8px;flex-direction:column;gap:6px;padding:10px;font-size:12.5px;line-height:1.35;display:flex}.atlas-tier{font-variant-numeric:tabular-nums;color:var(--fg);font-size:18px;font-weight:300;font-stretch:116%}.guide{left:0;right:0;bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:6;width:min(720px, calc(100% - 2 * var(--side)));pointer-events:none;flex-direction:column;gap:10px;margin-inline:auto;display:flex;position:fixed}.guide>*{pointer-events:auto}.guide.is-compact{width:min(600px, calc(100% - 2 * var(--side)))}.ask{background:var(--glass);height:56px;box-shadow:inset 0 0 0 1px var(--line-2), inset 0 1px 0 #ffffff0f, 0 20px 60px #00000080;-webkit-backdrop-filter:blur(22px)saturate(1.3);border-radius:999px;align-items:center;gap:10px;padding:0 8px 0 20px;transition:box-shadow .25s;display:flex;position:relative}.ask:focus-within{box-shadow:inset 0 0 0 1px #ffffff52,inset 0 1px #ffffff14,0 20px 60px #00000080}.guide.is-compact .ask{height:50px}.ask-glyph{background:conic-gradient(from 200deg, var(--spectrum), #ff8a7a);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 12px #b795ff73}.guide.is-busy .ask-glyph{animation:1.4s linear infinite turn}@keyframes turn{to{rotate:1turn}}.ask input{min-width:0;height:100%;font:inherit;color:var(--fg);background:0 0;border:0;outline:none;flex:1;font-size:16px}.ask input::placeholder{color:var(--fg-3)}.ask-kbd{font-family:var(--mono);color:var(--fg-3);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:6px;flex:none;padding:3px 7px;font-size:11px}.ask:focus-within .ask-kbd{display:none}.ask-send{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.site .ask-send{color:var(--cta-fg);background:var(--cta-bg);transition:background-color .2s}.site .ask-send:hover{background:#fff}.guide.is-compact .ask-send{width:36px;height:36px}.suggest{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.suggest button{min-height:34px;color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(14px);background:#0c0e166b;border-radius:999px;padding:0 14px;font-size:13px;transition:color .2s,box-shadow .2s}.suggest button:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}.answer{overscroll-behavior:contain;background:var(--glass-strong);max-height:min(48vh,480px);box-shadow:inset 0 0 0 1px var(--line), 0 30px 80px #0000008c;-webkit-backdrop-filter:blur(24px)saturate(1.2);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;animation:focus-in .45s var(--ease-out) both;border-radius:22px;flex-direction:column;gap:12px;padding:18px 22px 20px;display:flex;position:relative;overflow-y:auto}.guide.is-compact .answer{max-height:min(36vh,360px)}.answer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.answer-q{color:var(--fg-3);padding-top:6px;font-size:13.5px}.answer-x{width:32px;height:32px;color:var(--fg-2);border-radius:50%;flex:none;place-items:center;margin:-2px -8px 0 0;transition:color .2s,background-color .2s;display:grid}.answer-x:hover{color:var(--fg);background:#ffffff0f}.answer-update{font-family:var(--mono);color:var(--fg-3);align-items:center;gap:10px;font-size:11.5px;line-height:1.5;display:flex}.answer-update:before{content:"";background:var(--fg-2);border-radius:50%;flex:none;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.answer-body{gap:10px;font-size:15.5px;line-height:1.6;display:grid}.answer-body:empty{display:none}.answer-error{color:var(--error)}.answer-extra{gap:10px;display:grid}.answer-extra:empty{display:none}.extra-title{color:var(--fg-3);font-size:13px;font-weight:500}.lineup{gap:2px;display:grid}.lineup button{text-align:left;border-radius:10px;grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:14px;width:100%;padding:9px 12px;transition:background-color .2s;display:grid}.lineup button:hover{background:#ffffff0d}.lineup-name{font-size:14.5px;font-weight:500}.lineup-note{color:var(--fg-2);font-size:13.5px;line-height:1.45}.chip{width:fit-content;min-height:32px;color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:13px;display:inline-flex}.chip:before{content:"";background:var(--c,var(--fg-2));width:6px;height:6px;box-shadow:0 0 8px var(--c,transparent);border-radius:50%}button.chip:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}.links{flex-wrap:wrap;gap:8px;display:flex}.link-chip{min-height:34px;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:999px;align-items:center;padding:0 14px;font-size:13.5px;text-decoration:none;transition:background-color .2s;display:inline-flex}.link-chip:hover{background:#ffffff0f}.answer-note{color:var(--fg-3);font-size:12.5px}@media (min-width:760px){.intro{transition:opacity .6s var(--ease-out), translate .6s var(--ease-out), filter .6s var(--ease-out)}body.has-answer[data-view=overview] .intro{opacity:0;filter:blur(8px);pointer-events:none}body[data-view=overview] .guide.has-answer .answer{top:calc(var(--top) + clamp(12px, 5.5vh, 64px) - 6px);left:max(var(--side), env(safe-area-inset-left,0px));width:min(760px, calc(100vw - 2 * var(--side) - 400px));max-height:max(180px, calc(var(--intro-h,240px) + 24px));box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-radius:0;gap:14px;padding:0 12px 28px 0;position:fixed;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}body[data-view=overview] .guide.has-answer .answer-body{text-wrap:pretty;font-size:clamp(17px,1.35vw,21px);line-height:1.5}body[data-view=overview] .guide.has-answer .answer-q{font-size:14px}}.sheet{width:min(620px,100vw - 48px);max-height:min(860px,100vh - 48px);max-height:min(860px,100dvh - 48px);color:var(--fg);font-family:var(--sans);box-shadow:inset 0 0 0 1px var(--line-2), 0 40px 120px #000000b3;-webkit-backdrop-filter:blur(28px);background:#0b0d14f7;border:0;border-radius:24px;padding:0;overflow:hidden}.sheet::backdrop{-webkit-backdrop-filter:blur(8px);background:#03040799}.sheet[open]{animation:sheet-in .42s var(--ease-out) both}.sheet[open]::backdrop{animation:.3s both fade-in}html.is-modal,html.is-modal body{overflow:hidden}.no-dialog .sheet{z-index:60;height:fit-content;margin:auto;position:fixed;inset:0}.no-dialog .sheet:not([open]){display:none}.sheet.is-forming{opacity:0;animation:none}.sheet.is-forming::backdrop{opacity:0;animation:none}.sheet.is-forming{filter:blur(6px);transition:opacity .6s var(--ease-out), filter .6s var(--ease-out)}.sheet.is-forming::backdrop{transition:opacity .5s}.sheet.is-forming.is-in{opacity:1}.sheet.is-forming.is-in::backdrop{opacity:1}.sheet.is-forming.is-in{filter:none}.sent-note{z-index:5;text-align:center;width:min(560px,100vw - 32px);color:var(--fg-2);opacity:0;pointer-events:none;transition:opacity .6s var(--ease-out), translate .6s var(--ease-out);font-size:16px;line-height:1.5;position:fixed;left:50%;translate:-50% 8px}.sent-note.is-in{opacity:1;transition-delay:.5s;translate:-50%}.stage{transition:opacity .8s var(--ease-out)}body.is-hush :is(.top,.stage,.guide){opacity:.08;pointer-events:none}body.is-hush .loom{opacity:.2;transition:opacity .8s var(--ease-out)}@keyframes sheet-in{0%{opacity:0;filter:blur(6px);translate:0 14px;scale:.985}}@keyframes fade-in{0%{opacity:0}}.sheet-close{z-index:2;width:40px;height:40px;color:var(--fg-2);border-radius:50%;place-items:center;transition:color .2s,background-color .2s;display:grid;position:absolute;top:16px;right:16px}.sheet-close:hover{color:var(--fg);background:#ffffff12}.contact-form{max-height:min(860px,100vh - 48px);flex-direction:column;gap:16px;max-height:min(860px,100dvh - 48px);padding:32px;display:flex;overflow-y:auto}.contact-form h2{letter-spacing:-.03em;margin-right:56px;font-size:34px;font-weight:300;font-stretch:116%;line-height:1.04}.contact-lede{color:var(--fg-2);margin-top:-4px;font-size:15px;line-height:1.5}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contact-form .field{color:var(--fg-2);flex-direction:column;gap:7px;font-size:13px;font-weight:500;display:flex}.contact-form .field em{color:var(--fg-3);font-style:normal;font-weight:400}.contact-form .field input,.contact-form .field textarea{width:100%;min-height:46px;font:inherit;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);background:#ffffff0b;border:0;border-radius:12px;padding:11px 14px;font-size:16px;font-weight:400;transition:box-shadow .2s}.contact-form .field textarea{resize:vertical;line-height:1.5}:is(.contact-form .field input:focus-visible,.contact-form .field textarea:focus-visible){outline:none;box-shadow:inset 0 0 0 1.5px #ffffff8c}.check{min-height:32px;color:var(--fg-2);align-items:center;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--fg)}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{min-height:1.4em;color:var(--fg-2);font-size:14px}.form-status[data-tone=error]{color:var(--error)}.form-status[data-tone=ok]{color:var(--fg);font-weight:500}.form-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.site .send{min-height:48px;color:var(--cta-fg);background:var(--cta-bg);border-radius:999px;padding:0 24px;font-size:15px;font-weight:500;transition:background-color .2s}.site .send:hover{background:#fff}.site .send:disabled{opacity:.6;cursor:progress}.alt{color:var(--fg-3);font-size:14px}.alt a{color:var(--fg-2)}@media (max-height:760px) and (min-width:760px){:root{--top:72px}.intro{gap:12px}.intro h1{font-size:clamp(28px,2.9vw,44px)}.intro-sub{font-size:14.5px}.tile{grid-template-columns:104px minmax(0,1fr);width:320px}.tile-line{display:none}.suggest button{min-height:30px}.ask{height:52px}}@media (max-width:1100px) and (min-width:760px){.mark-role{display:none}.fx,.reel-view{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.resume-view{grid-template-columns:minmax(240px,.9fr) minmax(0,1.5fr)}.cv-role{grid-template-columns:minmax(0,1fr)}.cv-when{grid-row:auto}.tile{width:290px}.tile-line{display:none}}@media (max-width:759.98px){:root{--side:16px;--top:60px}body.site{overflow:hidden auto}.top{background:linear-gradient(#05060aeb,#05060a99 70%,#0000)}.mark-role{display:none}.mark-name{font-size:14px}.nav{gap:0}.nav button{min-height:36px;padding:0 8px;font-size:13.5px}.site .nav .nav-cta{margin-left:6px;padding:0 13px}.nav button[aria-current]:after{display:none}.stage{z-index:2;pointer-events:auto;position:relative;inset:auto}.overview{padding:var(--hero-h,calc(38vh + env(safe-area-inset-top,0px))) max(16px, env(safe-area-inset-right,0px)) 0 max(16px, env(safe-area-inset-left,0px));flex-direction:column;align-items:stretch;gap:22px;display:flex;position:relative;inset:auto}.legend{pointer-events:none;height:0;transition:opacity 1s var(--ease-out) .55s;margin:0;padding:0;list-style:none;display:block;position:absolute;inset:0 0 auto}.legend li{white-space:nowrap;color:color-mix(in srgb, var(--c) 82%, white);background:var(--ink);box-shadow:0 0 8px 4px var(--ink);border-radius:999px;padding:0 7px;font-size:11.5px;font-weight:500;line-height:1.5;position:absolute;top:0;left:70px;translate:0 -50%}.top:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom, var(--ink) calc(100% - 30px), #05060a00);position:absolute;inset:0 0 -22px}.guide:before{content:"";inset:-34px -12px calc(-14px - env(safe-area-inset-bottom,0px));z-index:-1;pointer-events:none;background:linear-gradient(to bottom, #05060a00, var(--ink) 44px);position:absolute}.intro h1{font-size:clamp(30px,8.6vw,40px)}.tiles{gap:8px}.tile{grid-template-columns:112px minmax(0,1fr);width:100%}.tile-line{display:block}.loom{z-index:2;padding:34px max(16px, env(safe-area-inset-right,0px)) calc(150px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));pointer-events:auto;background:linear-gradient(to bottom, transparent, var(--ink) 34px);flex-direction:column;gap:14px;display:flex;position:relative;inset:auto}body.is-sheet .loom{display:none}.threads,.strands,.years{position:static}.years,.hover-card,.thread-tip{display:none}.thread,.strand{transition:opacity .3s;position:relative;transform:none}.threads{margin:0 calc(-1 * max(16px, env(safe-area-inset-right,0px))) 0 calc(-1 * max(16px, env(safe-area-inset-left,0px)));padding:2px max(16px, env(safe-area-inset-right,0px)) 2px max(16px, env(safe-area-inset-left,0px));scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.threads::-webkit-scrollbar{display:none}.thread{flex:none;width:auto;height:auto}.thread-btn{opacity:1;min-height:36px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;display:inline-flex;position:static;translate:none}.thread-btn:before{content:"";background:var(--c);border-radius:50%;width:6px;height:6px}.thread.is-on .thread-btn{box-shadow:inset 0 0 0 1px var(--c);background:color-mix(in srgb, var(--c) 12%, transparent)}.strands{flex-direction:column-reverse;display:flex}.strand{width:auto!important;height:auto!important}.strand-btn{text-align:left;border-top:1px solid var(--line);border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 14px;width:100%;padding:14px 0;display:grid;position:relative}.strand-name{color:var(--fg);white-space:normal;margin:0;font-size:17px;line-height:1.3;position:static;rotate:none}.strand-kind{color:var(--fg-2);grid-column:1;font-size:13.5px;line-height:1.4;display:block}.strand-dots{grid-area:1/2/span 2;gap:4px;display:flex}.strand-dots i{background:#ffffff1a;border-radius:50%;width:6px;height:6px}.strand-dots i.on{background:var(--c);box-shadow:0 0 6px color-mix(in srgb, var(--c) 70%, transparent)}.strand.is-dim{opacity:.32}.strand.is-dim .strand-name{opacity:1}.strand.is-current:before{display:none}.stage-view{z-index:3;overscroll-behavior:contain;padding:calc(var(--top) + env(safe-area-inset-top,0px) + 8px) max(16px, env(safe-area-inset-right,0px)) calc(130px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));display:block;position:fixed;inset:0;overflow-y:auto}.focus-view{display:flex}.stage-view>*,.cv-person,.cv-body{flex:none;min-height:auto}.focus-nav{order:-1}.focus-slot{flex:none}.fx{flex-direction:column;gap:22px;height:auto;display:flex}.fx-frame{aspect-ratio:16/10;flex:none}.fx-frame.is-tall{aspect-ratio:9/15;width:100%;max-height:66vh;margin-inline:auto}.fx-frame.has-diagram{aspect-ratio:auto}.fx-diagram{height:auto;padding:0;position:relative;inset:auto}.fx-info{padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.fx-shows li{grid-template-columns:minmax(0,1fr);gap:6px}.fx-tip{width:min(250px,70vw)}.atlas-layers,.atlas-tiers ol{grid-template-columns:minmax(0,1fr)}.reel-view,.resume-view{flex-direction:column;gap:24px;display:flex}.rv-info,.cv-body,.cv-person{padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.cv-role{grid-template-columns:minmax(0,1fr)}.cv-when{grid-row:auto}.guide{bottom:calc(14px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px)}.guide.is-compact{width:calc(100% - 24px)}.suggest{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;margin-inline:-12px;padding-inline:12px;overflow-x:auto}.suggest::-webkit-scrollbar{display:none}.suggest li{flex:none}.ask{height:52px;padding-left:16px}.ask-kbd{display:none}.answer{background:#0a0c13f7;max-height:56vh;padding:16px 18px 18px}.guide.is-compact .answer{max-height:50vh}.lineup button{grid-template-columns:minmax(0,1fr);gap:2px}.skip-intro{bottom:auto;top:calc(var(--top) + 6px);right:8px}.sheet{inset:var(--vvt,0px) 0 auto;width:100vw;max-width:100vw;height:100vh;max-height:100vh;height:var(--vvh,100dvh);max-height:var(--vvh,100dvh);border-radius:0;margin:0}.sheet-close{top:calc(10px + env(safe-area-inset-top,0px));right:max(8px, env(safe-area-inset-right,0px))}.contact-form{height:100%;max-height:100%;padding:calc(24px + env(safe-area-inset-top,0px)) 16px 0;overscroll-behavior:contain}.form-actions{z-index:1;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0b0d1400,#0b0d14 14px);flex-wrap:nowrap;gap:14px;margin-top:auto;position:sticky;bottom:0}.alt{font-size:13px}.field-row{grid-template-columns:1fr}.contact-form .field input,.contact-form .field textarea{scroll-margin-block:16px calc(96px + env(safe-area-inset-bottom,0px))}}@supports not (color:color-mix(in srgb, red 50%, white)){.thread-btn,.thread-btn:hover,.thread.is-on .thread-btn,.fx-d,.cv-skill-name,.atlas-layer .atlas-name,.legend li{color:var(--c)}.no-gl .thread:after{background:linear-gradient(to right, transparent, var(--c) 140px);opacity:.55}.atlas-flow li+li:before{background:var(--c);opacity:.6}.thread.is-on .thread-btn,.strand-dots i.on{box-shadow:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.guide.is-busy .ask-glyph,.answer-update:before{animation:none}}
