@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--bg:oklch(13.5% .007 280);--bg-1:oklch(16% .008 280);--bg-2:oklch(18.5% .009 280);--bg-3:oklch(22.5% .01 280);--ink:oklch(97% .003 90);--ink-2:oklch(72% .006 270);--ink-3:oklch(56% .01 280);--line:oklch(100% 0 0/.08);--line-2:oklch(100% 0 0/.12);--hi:oklch(100% 0 0/.06);--lime:oklch(88% .19 128);--lime-deep:oklch(55% .17 135);--violet:oklch(52% .22 288);--violet-soft:oklch(72% .14 288);--accent:var(--lime);--accent-ink:oklch(20% .05 128);--d-bg:oklch(10.5% .008 60);--d-ink:oklch(95% .02 85);--d-ink-2:oklch(95% .02 85/.66);--d-line:oklch(95% .02 85/.12);--d-gold:oklch(78% .115 85);--font:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--gutter:clamp(16px, 4vw, 48px);--max:1200px;--radius:16px;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg);scroll-padding-top:88px;overflow-x:clip}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";margin:0;font-size:1rem;line-height:1.65;overflow-x:clip}img{max-width:100%;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure,pre{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}b{color:var(--ink);font-weight:500}kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--ink-2);border-bottom-width:2px;border-radius:5px;padding:.05em .4em;font-size:.78em}::selection{background:var(--lime);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:4px}.mono{font-family:var(--mono);letter-spacing:.01em;font-size:.75rem}.muted{color:var(--ink-3)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.skip-link{left:var(--gutter);z-index:100;background:var(--lime);color:var(--accent-ink);border-radius:8px;padding:.6rem 1rem;position:absolute;top:-100px}.skip-link:focus{top:12px}.grain{z-index:90;pointer-events:none;background-image:var(--noise);opacity:.04;background-size:200px;position:fixed;inset:0}.js .reveal{opacity:0;filter:blur(4px);transition:opacity 1s var(--ease-out), translate 1.1s var(--ease-out), filter 1s var(--ease-out);translate:0 20px}.js .reveal.is-in{opacity:1;filter:none;translate:0}.js [data-intro]{opacity:0;filter:blur(6px);transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out), filter .9s var(--ease-out);transition-delay:calc(var(--i) * 80ms + .12s);transform:translateY(16px)}.hero__title .line>[data-intro]{display:inline-block}.js .line>[data-intro]{transform:translateY(100%)}.js .is-loaded [data-intro]{opacity:1;filter:none;transform:none}@keyframes spin-angle{to{--angle:360deg}}.btn{white-space:nowrap;height:44px;transition:background-color .25s, border-color .25s, color .25s, box-shadow .4s, transform .4s var(--ease-out);border-radius:10px;justify-content:center;align-items:center;padding-inline:1.15rem;font-size:.94rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn--lg{height:52px;padding-inline:1.4rem;font-size:1rem}.btn--primary{background:var(--ink);color:var(--bg);box-shadow:inset 0 -2px oklch(0% 0 0/.12),0 0 0 1px oklch(100% 0 0/.1)}.btn--primary:hover{background:var(--lime);color:var(--accent-ink);box-shadow:0 0 0 1px var(--lime), 0 8px 30px -6px oklch(88% .19 128/.45)}.btn--ghost{border:1px solid var(--line-2);color:var(--ink);background:oklch(100% 0 0/.03)}.btn--ghost:hover{background:oklch(100% 0 0/.07);border-color:oklch(100% 0 0/.2)}.btn--gold{background:var(--d-gold);color:var(--d-bg)}.btn--gold:hover{background:var(--d-ink)}.eyebrow{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:.6rem;font-size:.72rem;display:inline-flex}.eyebrow:before{content:"";background:var(--lime);width:18px;height:1px}.eyebrow--gold{color:var(--d-ink-2)}.eyebrow--gold:before{background:var(--d-gold)}.head{max-width:860px;margin-bottom:clamp(2.5rem,5vw,3.75rem)}.head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;max-width:none;display:flex}.head__title{letter-spacing:-.045em;text-wrap:balance;margin-top:1rem;font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:500;line-height:1.05}.link-arrow{color:var(--ink-2);border-bottom:1px solid var(--line-2);padding-bottom:2px;font-size:.94rem;transition:color .25s,border-color .25s}.link-arrow:hover{color:var(--ink);border-color:var(--ink)}.hint{color:var(--ink-3)}.card,.tile{background:linear-gradient(180deg, var(--bg-2), var(--bg-1));border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi), 0 0 0 0 transparent;transition:box-shadow .5s var(--ease-out), border-color .5s var(--ease-out)}.card:hover,.tile:hover{border-color:var(--line-2);box-shadow:inset 0 1px 0 var(--hi), 0 0 0 1px oklch(100% 0 0/.04), 0 24px 60px -28px oklch(88% .19 128/.28), 0 0 50px -16px oklch(52% .22 288/.35)}[data-glow]{--gx:50%;--gy:-300px;isolation:isolate;position:relative}[data-glow]:before{content:"";z-index:2;border-radius:inherit;background:radial-gradient(240px circle at var(--gx) var(--gy), oklch(88% .19 128/.7), oklch(52% .22 288/.3) 45%, transparent 75%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .4s;position:absolute;inset:-1px;mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}[data-glow]:after{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(380px circle at var(--gx) var(--gy), oklch(100% 0 0/.035), transparent 70%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}[data-glow]:hover:before,[data-glow]:hover:after{opacity:1}.nav{z-index:60;width:min(100% - 2 * var(--gutter), 900px);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi), 0 10px 40px -10px oklch(0% 0 0/.6);backdrop-filter:blur(18px)saturate(1.6);background:oklch(16% .008 280/.6);border-radius:14px;align-items:center;gap:1rem;padding:6px 6px 6px 10px;transition:background-color .4s,border-color .4s;display:flex;position:fixed;top:12px;left:50%;translate:-50%}.nav.is-scrolled{border-color:var(--line-2);background:oklch(16% .008 280/.82)}.nav__brand{white-space:nowrap;align-items:center;gap:.6rem;margin-right:auto;font-size:.95rem;font-weight:500;display:flex}.nav__mark{--depth:3px;width:30px;height:30px;color:var(--bg);letter-spacing:-.075em;text-indent:-.075em;translate:0 calc(var(--depth) * -1);box-shadow:inset 0 1px 0 oklch(100% 0 0), inset 0 -1px 0 oklch(80% .004 90), 0 var(--depth) 0 oklch(62% .006 270), 0 calc(var(--depth) + 4px) 10px -2px oklch(0% 0 0/.6);transition:translate .18s var(--ease-out), box-shadow .18s var(--ease-out);-webkit-user-select:none;user-select:none;background:linear-gradient(oklch(100% 0 0),oklch(90% .003 90));border-radius:7px;place-items:center;font-size:13px;font-weight:900;line-height:1;display:grid}.nav__brand:hover .nav__mark{--depth:4px}.nav__brand:active .nav__mark{--depth:0px;transition-duration:60ms;box-shadow:inset 0 1px 2px oklch(0% 0 0/.25),inset 0 -1px oklch(80% .004 90),0 0 oklch(62% .006 270),0 1px 3px -1px oklch(0% 0 0/.6)}.nav__name{letter-spacing:-.02em;font-weight:600}.nav__links{gap:2px;display:flex}.nav__links a{color:var(--ink-2);border-radius:8px;padding:.4rem .75rem;font-size:.88rem;transition:color .2s,background-color .2s}.nav__links a:hover{color:var(--ink)}.nav__links a.is-active{color:var(--ink);background:oklch(100% 0 0/.07)}.nav__cta{background:var(--ink);color:var(--bg);white-space:nowrap;border-radius:9px;padding:.45rem .85rem;font-size:.88rem;font-weight:500;transition:background-color .25s,color .25s}.nav__cta:hover{background:var(--lime);color:var(--accent-ink)}@media (width<=820px){.nav__links{display:none}}.hero{--mx:70%;--my:30%;isolation:isolate;align-items:center;min-height:min(100svh,960px);padding-block:132px 84px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;height:30%;position:absolute;inset:auto 0 0}.hero__aurora{z-index:-3;pointer-events:none;position:absolute;inset:-20% -10% 30%}.hero__aurora span{filter:blur(90px);mix-blend-mode:screen;border-radius:50%;animation:24s ease-in-out infinite alternate aurora;position:absolute}.hero__aurora span:first-child{background:oklch(45% .2 288/.55);width:46vw;height:34vw;top:4vw;right:4vw}.hero__aurora span:nth-child(2){background:oklch(55% .16 135/.35);width:30vw;height:22vw;animation-duration:30s;animation-delay:-10s;top:14vw;right:22vw}.hero__aurora span:nth-child(3){background:oklch(50% .14 240/.4);width:26vw;height:20vw;animation-duration:34s;animation-delay:-18s;top:20vw;right:-6vw}.hero__aurora:after{content:"";background-image:var(--noise);mix-blend-mode:soft-light;opacity:.5;background-size:180px;position:absolute;inset:0;mask-image:radial-gradient(45% 50% at 70% 35%,#000,#0000 75%)}@keyframes aurora{0%{transform:translate(0)rotate(0)scale(1)}50%{transform:translate(-5vw,3vw)rotate(12deg)scale(1.12)}to{transform:translate(3vw,-2vw)rotate(-8deg)scale(.95)}}.hero__beam{z-index:-1;background:linear-gradient(90deg,#0000,oklch(88% .19 128/.6),oklch(72% .14 288/.6),#0000);width:min(900px,90vw);height:1px;position:absolute;top:0;left:50%;translate:-50%}.hero__beam:after{content:"";background:radial-gradient(50% 100% at 50% 0,oklch(72% .14 288/.18),#0000);height:120px;position:absolute;top:0;left:15%;right:15%}.hero__spot{z-index:-2;background:radial-gradient(520px circle at var(--mx) var(--my), oklch(100% 0 0/.035), transparent 70%);pointer-events:none;position:absolute;inset:0}.hero__grid{z-index:-2;background-image:linear-gradient(oklch(100% 0 0/.045) 1px,#0000 1px),linear-gradient(90deg,oklch(100% 0 0/.045) 1px,#0000 1px);background-position:top;background-size:72px 72px;position:absolute;inset:0;mask-image:radial-gradient(60% 55% at 65% 35%,#000 0%,#0000 75%)}.hero__inner{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.status{isolation:isolate;position:relative}.status:before{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from var(--angle), transparent 0 70%, var(--violet-soft) 80%, var(--lime) 88%, transparent 96%);-webkit-mask-composite:xor;pointer-events:none;padding:1px;animation:7s linear infinite spin-angle;position:absolute;inset:-1px;mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.status{box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);background:oklch(18.5% .009 280/.8);border-radius:999px;align-items:center;gap:.6rem;padding:.38rem .85rem .38rem .7rem;font-size:.84rem;display:inline-flex}.status__item{white-space:nowrap}@media (width<=520px){.status{border-radius:12px;flex-wrap:wrap;row-gap:.15rem}.status__sep{display:none}.status__item:last-child{flex-basis:100%;padding-left:calc(7px + .6rem)}}.status__sep{background:var(--ink-3);border-radius:50%;width:3px;height:3px}.pulse{background:var(--lime);width:7px;height:7px;box-shadow:0 0 10px var(--lime);border-radius:50%;position:relative}.pulse:after{content:"";border-radius:inherit;background:inherit;animation:ping 2.4s var(--ease-out) infinite;position:absolute;inset:0}@keyframes ping{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.hero__title{letter-spacing:-.055em;margin-top:1.6rem;font-size:clamp(2.8rem,7vw,6rem);font-weight:500;line-height:.98}.hero__title .line{padding-bottom:.07em;display:block;overflow:hidden}.hero__title .muted{color:oklch(97% .003 90/.38)}.hero__lede{max-width:56ch;color:var(--ink-2);margin-top:1.6rem;font-size:clamp(1.02rem,1.25vw,1.12rem);line-height:1.7}.hero__lede a{color:var(--ink);background:linear-gradient(var(--lime), var(--lime)) no-repeat 0 100%/100% 1px;transition:color .2s, background-size .4s var(--ease-out);font-weight:500}.hero__lede a:hover{color:var(--lime)}.hats{flex-wrap:wrap;gap:6px;margin-top:1.5rem;display:flex}.hats li{border:1px solid var(--line);color:var(--ink-2);background:oklch(100% 0 0/.035);border-radius:8px;padding:.28rem .7rem;font-size:.82rem;transition:color .25s,border-color .25s}.hats li:hover{color:var(--ink);border-color:var(--line-2)}.hats li:last-child{color:var(--lime);background:oklch(88% .19 128/.06);border-color:oklch(88% .19 128/.25)}.hero__actions{flex-wrap:wrap;gap:.6rem;margin-top:2.1rem;display:flex}.portrait{justify-self:end;width:min(100%,340px)}.portrait__frame{aspect-ratio:4/5;background:var(--bg-2);box-shadow:0 0 0 1px var(--line-2), 0 50px 100px -40px oklch(45% .2 288/.55);border-radius:20px;position:relative;overflow:hidden}.portrait__frame img{object-fit:cover;object-position:50% 38%;filter:saturate(.9)contrast(1.05);width:100%;height:100%;transition:scale 1.4s var(--ease-out), filter .8s}.portrait__frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 60%,oklch(13.5% .007 280/.5));position:absolute;inset:0}.portrait:hover .portrait__frame img{filter:saturate()contrast(1.02)brightness();scale:1.03}.portrait__cap{color:var(--ink-3);justify-content:space-between;gap:1rem;margin-top:.85rem;font-size:.8rem;display:flex}@media (width<=860px){.hero{min-height:0;padding-top:110px}.hero__inner{grid-template-columns:1fr}.portrait{justify-self:start;width:min(100%,300px)}.hero__aurora span:first-child{width:90vw;height:70vw}.hero__aurora span:nth-child(2){width:60vw;height:50vw}}.strip{border-block:1px solid var(--line);background:linear-gradient(90deg,#0000,oklch(100% 0 0/.015),#0000)}.strip__inner{flex-wrap:wrap;align-items:center;gap:1rem 2.5rem;padding-block:1.6rem;display:flex}.strip__label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.strip__list{flex-wrap:wrap;flex:1;justify-content:space-between;gap:.75rem 2rem;display:flex}.strip__list li{letter-spacing:-.03em;color:var(--ink-3);font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:500;transition:color .3s}.strip__list li:hover{color:var(--ink)}.skills{padding-block:clamp(5rem,10vw,8rem) clamp(3rem,6vw,5rem)}.bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tile{border-radius:var(--radius);flex-direction:column;justify-content:space-between;gap:1.75rem;min-height:300px;padding:1.5rem;display:flex;overflow:hidden}.tile h3{letter-spacing:-.02em;margin-top:.35rem;font-size:1.12rem;font-weight:500;line-height:1.3}.tile .tile__text>p:last-child{color:var(--ink-2);margin-top:.45rem;font-size:.92rem;line-height:1.6}.tile em{color:var(--ink);font-style:normal;font-weight:500}.tile--wide{grid-column:span 2}.tile__label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.7rem}.viz__note{color:var(--ink-3)}@media (width<=900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.bento{grid-template-columns:1fr}.tile--wide{grid-column:auto}.tile{min-height:0}}.viz--pipe{aspect-ratio:520/150;width:100%;position:relative}.viz--pipe svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pipe__line{stroke:var(--line-2);stroke-width:1.2px}.pipe__line--dash{stroke-dasharray:3 6;animation:1.4s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-18px}}.pipe__packet{fill:var(--lime);filter:drop-shadow(0 0 6px var(--lime))}.pipe__packet--dim{fill:var(--violet-soft);filter:drop-shadow(0 0 6px var(--violet))}.node{left:calc(var(--x) / 520 * 100%);top:calc(var(--y) / 150 * 100%);background:var(--bg-2);border:1px solid var(--line-2);box-shadow:inset 0 1px 0 var(--hi);font-family:var(--mono);color:var(--ink-2);white-space:nowrap;border-radius:7px;padding:.3rem .65rem;font-size:clamp(.62rem,1.1vw,.74rem);position:absolute;translate:-50% -50%}.node--on{color:var(--ink);border-color:oklch(88% .19 128/.4);box-shadow:0 0 0 3px oklch(88% .19 128/.08),0 0 20px -4px oklch(88% .19 128/.4)}.node--ghost{background:var(--bg-1);color:var(--ink-3);border-style:dashed}.viz--ml{position:relative}.viz--ml svg{width:100%;max-height:130px;overflow:visible}.viz--ml .viz__note{position:absolute;top:0;right:0}.ml__axis{stroke:var(--line-2);stroke-width:1px}.ml__axis--dash{stroke-dasharray:2 5}.ml__curve{stroke:var(--lime);stroke-width:2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 6px oklch(88% .19 128/.6));animation:draw 5s var(--ease-out) infinite}@keyframes draw{0%{stroke-dashoffset:1px;opacity:1}50%,85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.viz--figure{flex-direction:column;justify-content:center;min-height:110px;display:flex}.figure{letter-spacing:-.06em;font-size:clamp(3.6rem,6.4vw,5rem);font-weight:500;line-height:1}.figure sup{color:var(--lime);vertical-align:.95em;margin-left:.05em;font-size:.42em}.viz--bars{align-content:center;gap:.6rem;min-height:110px;display:grid}.bar{background:var(--bg-1);border:1px solid var(--line);border-radius:8px;height:32px;position:relative;overflow:hidden}.bar em{font-style:normal;font-family:var(--mono);color:var(--ink-2);font-size:.72rem;font-weight:400;position:absolute;top:50%;left:10px;translate:0 -50%}.bar__fill{transform-origin:0;background:oklch(100% 0 0/.07);position:absolute;inset:0}.bar__fill--after{animation:shrink 4.5s var(--ease-out) infinite;background:linear-gradient(90deg,oklch(55% .17 135/.6),oklch(88% .19 128/.5))}@keyframes shrink{0%,15%{transform:scaleX(1)}45%,90%{transform:scaleX(.05)}to{transform:scaleX(1)}}.term{border:1px solid var(--line);background:oklch(11% .006 280);border-radius:12px;overflow:hidden}.term__bar{border-bottom:1px solid var(--line);gap:6px;padding:9px 11px;display:flex}.term__bar i{background:var(--line-2);border-radius:50%;width:8px;height:8px}.term__body{font-family:var(--mono);color:var(--ink-2);white-space:pre-wrap;padding:10px 12px;font-size:.74rem;line-height:1.7;display:grid}.term__ghost,.term__live{grid-area:1/1}.term__ghost{visibility:hidden}.term__caret{vertical-align:-2px;background:var(--lime);width:6px;height:13px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.experience{padding-block:clamp(4rem,8vw,6rem)}.timeline{--trail:0;--rail:180px;display:grid;position:relative}.timeline__rail{left:var(--rail);background:var(--line-2);width:1px;position:absolute;top:10px;bottom:10px}.timeline__progress{background:linear-gradient(to bottom, var(--lime), var(--violet-soft));transform-origin:top;transform:scaleY(var(--trail));position:absolute;inset:0;box-shadow:0 0 12px oklch(88% .19 128/.5)}.role{grid-template-columns:var(--rail) minmax(0, 1fr);padding-bottom:clamp(2rem,4vw,3rem);display:grid}.role:last-child{padding-bottom:0}.role__when{color:var(--ink-3);padding-top:.3rem;padding-right:2rem;position:relative}.role__when:after{content:"";background:var(--bg);border:1px solid var(--ink-3);border-radius:50%;width:9px;height:9px;transition:background-color .3s,border-color .3s;position:absolute;top:.55rem;right:-4.5px}.role:hover .role__when:after{border-color:var(--ink)}.role--now .role__when{color:var(--lime)}.role--now .role__when:after{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 4px oklch(88% .19 128/.15), 0 0 14px var(--lime)}.role__body{padding-left:clamp(1.5rem,3.5vw,3rem)}.role__body header{margin-bottom:.75rem}.role__body h3{letter-spacing:-.03em;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:500;line-height:1.25}.role__body>p,.role__body>ul:not(.role__tags) li{color:var(--ink-2);max-width:72ch}.role__body>ul:not(.role__tags){gap:.45rem;display:grid}.role__body>ul:not(.role__tags) li{padding-left:1.1rem;position:relative}.role__body>ul:not(.role__tags) li:before{content:"";background:var(--ink-3);width:6px;height:1px;position:absolute;top:.72em;left:0}.role__body a{color:var(--ink);border-bottom:1px solid var(--line-2)}.role__body a:hover{border-color:var(--lime);color:var(--lime)}.role__title{color:var(--ink-3);margin-top:.1rem;font-size:.93rem}.role__tags{flex-wrap:wrap;gap:6px;margin-top:1rem;display:flex}.role__tags li{border:1px solid var(--line);color:var(--ink-3);background:oklch(100% 0 0/.025);border-radius:6px;padding:.15rem .55rem}.edu{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.edu div{background:var(--bg-1);padding:.95rem 1rem}.edu dt{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.edu dd{color:var(--ink);margin-top:.25rem;font-size:.95rem}.edu div:first-child dd{letter-spacing:-.04em;font-size:1.6rem;font-weight:500;line-height:1.15}@media (width<=720px){.timeline{--rail:0px}.role{grid-template-columns:1fr;padding-left:1.5rem}.role__when{padding:0 0 .4rem}.role__when:after{top:.4rem;left:calc(-1.5rem - 4px);right:auto}.role__body{padding-left:0}.edu{grid-template-columns:1fr}}.decorb{background:var(--d-bg);color:var(--d-ink);border:1px solid var(--d-line);isolation:isolate;border-radius:clamp(20px,2.5vw,32px);margin-inline:clamp(8px,1.5vw,20px);padding-block:clamp(4rem,9vw,7rem);position:relative;overflow:hidden;box-shadow:inset 0 1px oklch(95% .02 85/.08)}.decorb:after{content:"";z-index:-1;background-image:var(--noise);opacity:.05;pointer-events:none;background-size:200px;position:absolute;inset:0}.decorb ::selection{background:var(--d-gold);color:var(--d-bg)}.decorb :focus-visible{outline-color:var(--d-gold)}.decorb__glow{z-index:-1;filter:blur(20px);background:radial-gradient(closest-side,oklch(70% .12 80/.22),#0000);border-radius:50%;width:60vw;height:46vw;position:absolute;top:-26vw;right:-16vw}.decorb__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 3rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.decorb__title{margin-top:1.1rem}.decorb__title img{width:auto;height:clamp(44px,7.5vw,96px)}.decorb__tagline{color:var(--d-ink-2);padding-bottom:.4rem;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.35}.decorb__tagline em{color:var(--d-gold);font-style:normal}.compare{--p:0;aspect-ratio:1600/1198;border-radius:var(--radius);width:100%;max-height:78vh;box-shadow:0 0 0 1px var(--d-line), 0 50px 120px -50px oklch(70% .12 80/.35);-webkit-user-select:none;user-select:none;background:oklch(16% .008 60);position:relative;overflow:hidden}.compare__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.compare__after{clip-path:inset(0 calc((1 - var(--p)) * 100%) 0 0);position:absolute;inset:0}.compare__rule{top:0;bottom:0;left:calc(var(--p) * 100%);background:var(--d-ink);width:1.5px;opacity:clamp(0, min(var(--p), 1 - var(--p)) * 30, 1);pointer-events:none;margin-left:-.75px;position:absolute;box-shadow:0 0 16px oklch(95% .02 85/.6)}.compare__knob{border:1.5px solid var(--d-ink);backdrop-filter:blur(6px);background:oklch(10.5% .008 60/.5);border-radius:50%;width:36px;height:36px;position:absolute;top:50%;left:50%;translate:-50% -50%}.compare__knob:before,.compare__knob:after{content:"";border-top:1.5px solid var(--d-ink);border-left:1.5px solid var(--d-ink);width:6px;height:6px;position:absolute;top:50%}.compare__knob:before{left:8px;translate:0 -50%;rotate:-45deg}.compare__knob:after{right:8px;translate:0 -50%;rotate:135deg}.compare__tag{backdrop-filter:blur(8px);pointer-events:none;background:oklch(10.5% .008 60/.65);border-radius:8px;padding:.3rem .7rem;font-size:.8rem;position:absolute;top:16px}.compare__tag--before{opacity:clamp(0, (1 - var(--p)) * 4 - .4, 1);right:16px}.compare__tag--after{opacity:clamp(0, var(--p) * 4 - .4, 1);left:16px}.decorb__body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.decorb__copy p{max-width:58ch;color:var(--d-ink-2);font-size:1.04rem}.decorb__copy p+p{margin-top:1rem}.decorb__cta{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.75rem;display:flex}.decorb__fine{color:var(--d-ink-2)}.decorb__facts{border-top:1px solid var(--d-line)}.decorb__facts div{border-bottom:1px solid var(--d-line);grid-template-columns:7.5rem 1fr;gap:1rem;padding-block:.95rem;display:grid}.decorb__facts dt{color:var(--d-gold);text-transform:uppercase;letter-spacing:.06em;padding-top:.2rem}.decorb__facts dd{font-size:.95rem}@media (width<=860px){.decorb__body{grid-template-columns:1fr}}@media (width<=480px){.decorb__facts div{grid-template-columns:1fr;gap:.2rem}}.work{padding-block:clamp(5rem,10vw,8rem) clamp(3rem,6vw,5rem)}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.card{border-radius:var(--radius);flex-direction:column;display:flex}.card h3{letter-spacing:-.02em;font-size:1.12rem;font-weight:500;line-height:1.3}.card--feature{flex-direction:row;grid-column:span 2}.card--feature .card__media{aspect-ratio:auto;border-radius:var(--radius) 0 0 var(--radius);border-right:1px solid var(--line);border-bottom:0;flex:1.1;min-height:280px}.card--feature .card__body{flex:1}.card__media{aspect-ratio:16/10;border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid var(--line);background:var(--bg-1);position:relative;overflow:hidden}.card__media img{object-fit:cover;filter:saturate(.6)brightness(.82)contrast(1.05);width:100%;height:100%;transition:scale 1s var(--ease-out), filter .6s}.card__media:after{content:"";background:var(--noise);opacity:.08;pointer-events:none;background-size:160px;position:absolute;inset:0}.card:hover .card__media img{filter:none;scale:1.04}.card__media--contain{background:radial-gradient(circle at 50% 30%, oklch(45% .2 288/.22), transparent 65%), var(--bg-1);place-items:center;display:grid}.card__media--contain img{width:auto;height:60%;box-shadow:0 0 0 1px var(--line-2), 0 24px 50px -18px oklch(0% 0 0/.9);border-radius:12px}.card__media--road{background:radial-gradient(circle at 85% 15%, oklch(55% .17 135/.25), transparent 55%), radial-gradient(circle at 10% 95%, oklch(45% .2 288/.3), transparent 55%), var(--bg-1)}.card__media--road svg{width:100%;height:100%;position:absolute;inset:0}.road{stroke:oklch(100% 0 0/.06);stroke-width:30px;stroke-linecap:round}.road__dash{stroke:oklch(100% 0 0/.25);stroke-width:1.2px;stroke-dasharray:8 10;animation:1s linear infinite reverse dash}.road__stage circle{fill:var(--bg);stroke:var(--line-2);stroke-width:1px}.road__stage text{font-family:var(--mono);text-anchor:middle;fill:var(--ink-2);font-size:11px}.road__car{fill:var(--lime);filter:drop-shadow(0 0 8px var(--lime))}.card__body{flex-direction:column;gap:.6rem;padding:1.4rem 1.5rem 1.5rem;display:flex}.card__body>p:not(.card__meta){color:var(--ink-2);font-size:.92rem}.card__meta{color:var(--ink-3)}.card--feature .card__meta{color:var(--lime)}.card__links{gap:1.1rem;margin-top:auto;padding-top:.6rem;display:flex}.card__links a{z-index:3;color:var(--ink);border-bottom:1px solid var(--line-2);font-size:.9rem;font-weight:500;transition:border-color .2s,color .2s;position:relative}.card__links a:hover{color:var(--lime);border-color:var(--lime)}@media (width<=900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.cards{grid-template-columns:1fr}.card--feature{flex-direction:column;grid-column:auto}.card--feature .card__media{aspect-ratio:16/10;border-radius:var(--radius) var(--radius) 0 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}}.life{padding-block:clamp(4rem,8vw,6rem)}.life__inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.life__head{margin-bottom:0;position:sticky;top:110px}.life__lede{max-width:42ch;color:var(--ink-2);margin-top:1rem}.activities{border-top:1px solid var(--line)}.activity{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;align-items:start;gap:1.25rem;padding-block:1.4rem;display:grid}.activity h3{letter-spacing:-.02em;font-size:1.1rem;font-weight:500}.activity p{color:var(--ink-2);margin-top:.2rem;font-size:.95rem}.activity__icon{background:linear-gradient(180deg, var(--bg-2), var(--bg-1));width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--line), inset 0 1px 0 var(--hi);stroke:var(--ink-2);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;border-radius:12px;padding:9px;transition:stroke .3s,box-shadow .3s}.activity__icon path,.activity__icon circle{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.6s var(--ease-out) .2s}.activity.is-in .activity__icon path,.activity.is-in .activity__icon circle,html:not(.js) .activity__icon path,html:not(.js) .activity__icon circle{stroke-dashoffset:0}.activity:hover .activity__icon{stroke:var(--lime);box-shadow:inset 0 0 0 1px oklch(88% .19 128/.35),0 0 24px -6px oklch(88% .19 128/.45)}.activity.is-hit .activity__icon{stroke:var(--lime);animation:hit .3s var(--ease-out)}@keyframes hit{40%{transform:scale(.9)}}@media (width<=820px){.life__inner{grid-template-columns:1fr}.life__head{position:static}}.contact{padding-block:clamp(2rem,6vw,4rem) clamp(3rem,6vw,4rem)}.contact__card{isolation:isolate;position:relative}.contact__card:before{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from var(--angle), transparent 0 70%, var(--violet-soft) 80%, var(--lime) 88%, transparent 96%);-webkit-mask-composite:xor;pointer-events:none;padding:1px;animation:9s linear infinite spin-angle;position:absolute;inset:-1px;mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.contact__card{background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line), inset 0 1px 0 var(--hi);transition:box-shadow .5s var(--ease-out);border-radius:clamp(20px,2.5vw,28px);padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,4rem);overflow:hidden}.contact__card:hover{box-shadow:inset 0 0 0 1px var(--line-2), inset 0 1px 0 var(--hi), 0 30px 80px -36px oklch(88% .19 128/.25), 0 0 70px -20px oklch(52% .22 288/.4)}.contact__card:after{content:"";z-index:-1;background-image:var(--noise);mix-blend-mode:overlay;opacity:.4;pointer-events:none;background-size:180px;position:absolute;inset:0}.contact__mesh{z-index:-2;background:radial-gradient(50% 70% at 100% 0,oklch(45% .2 288/.5),#0000 70%),radial-gradient(40% 60% at 85% 100%,oklch(55% .17 135/.22),#0000 70%);animation:16s ease-in-out infinite alternate mesh;position:absolute;inset:0}@keyframes mesh{to{transform:scale(1.1)translate(-3%,2%)}}.contact__title{letter-spacing:-.05em;margin-top:1rem;font-size:clamp(2.3rem,5.8vw,4.75rem);font-weight:500;line-height:1.02}.contact__row{flex-wrap:wrap;gap:.6rem;margin-top:clamp(2rem,4vw,2.75rem);display:flex}.contact__links{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;font-size:.92rem;display:flex}.contact__links a{color:var(--ink-2);transition:color .2s}.contact__links a:hover{color:var(--ink)}.footer{color:var(--ink-3);padding-block:1.5rem 2.5rem;font-size:.88rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.footer__inner a{transition:color .2s}.footer__inner a:hover{color:var(--ink)}.altimeter{z-index:70;border:1px solid var(--line-2);backdrop-filter:blur(10px);font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);opacity:0;pointer-events:none;transition:opacity .4s, translate .4s var(--ease-out), color .3s, border-color .3s;background:oklch(16% .008 280/.85);border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .7rem .35rem .55rem;font-size:.72rem;display:flex;position:fixed;bottom:16px;left:16px;translate:0 10px}.altimeter svg{width:13px;height:13px;fill:var(--ink-3)}.altimeter small{font-size:inherit;color:var(--ink-3)}.altimeter.is-on{opacity:1;translate:0}.altimeter.is-summit{color:var(--lime);border-color:oklch(88% .19 128/.4)}.altimeter.is-summit svg{fill:var(--lime)}.trek{z-index:85;backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .6s var(--ease-out), visibility 0s .6s;cursor:pointer;background:linear-gradient(oklch(13.5% .007 280/.55),oklch(13.5% .007 280/.92) 55%);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}.trek.is-open{opacity:1;visibility:visible;transition:opacity .6s var(--ease-out), visibility 0s}.trek__head{width:min(100% - 2 * var(--gutter), var(--max));justify-content:space-between;align-items:center;margin:0 auto;padding-top:2.5rem;display:flex}.trek__title{color:var(--ink);align-items:center;gap:.7rem;font-size:.95rem;font-weight:500;display:flex}.trek__title .mono{color:var(--lime);text-transform:uppercase;letter-spacing:.06em;border:1px solid oklch(88% .19 128/.35);border-radius:6px;padding:.15rem .5rem;font-size:.68rem}.trek__close{border:1px solid var(--line-2);width:32px;height:32px;color:var(--ink-2);background:oklch(100% 0 0/.04);border-radius:8px;font-size:1.2rem;line-height:1;transition:color .2s,background-color .2s}.trek__close:hover{color:var(--ink);background:oklch(100% 0 0/.08)}.trek__scene{width:100%;height:auto;max-height:52vh;display:block;overflow:visible}.trek__range{transition:transform 1s var(--ease-out);transform:translateY(80px)}.is-open .trek__range{transform:none}.trek__range--far{transition-delay:0s}.trek__range--mid{transition-delay:80ms}.trek__range--near{transition-delay:.16s}.trek__stars circle{fill:oklch(100% 0 0/.6);opacity:0;transition:opacity .8s .3s}.is-open .trek__stars circle{opacity:1}.trek__snow{fill:oklch(96% .01 240);opacity:.9}.trek__trail{fill:none;stroke:var(--lime);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 4px oklch(88% .19 128/.7));transition:stroke-dashoffset 1.1s var(--ease-out) .45s}.is-open .trek__trail{stroke-dashoffset:0}.trek__trail--b{transition-delay:.6s}.trek__peak{opacity:0;transition:opacity .5s var(--ease-out) 1.3s, translate .5s var(--ease-out) 1.3s;translate:0 8px}.is-open .trek__peak{opacity:1;translate:0}.trek__peak--b{transition-delay:1.5s}.trek__dot{fill:var(--lime)}.trek__pulse{fill:var(--lime);transform-box:fill-box;transform-origin:50%;animation:ping 2s var(--ease-out) infinite}.trek__pole{stroke:var(--ink);stroke-width:1.5px}.trek__flag{fill:var(--lime);transform-box:fill-box;transform-origin:0;animation:1.6s ease-in-out infinite flap}@keyframes flap{50%{transform:scaleX(.78)skewY(5deg)}}.trek__name{font-family:var(--font);letter-spacing:-.02em;text-anchor:middle;fill:var(--ink);font-size:19px;font-weight:600}.trek__alt{font-family:var(--mono);text-anchor:middle;fill:var(--lime);font-size:14px}@media (width<=700px){.trek__scene{width:170%;max-height:none;margin-left:-35%}.trek__name{font-size:22px}.trek__alt{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js [data-intro]{opacity:1;filter:none;transition:none;transform:none}.activity__icon path,.activity__icon circle{stroke-dashoffset:0;transition:none}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
/*# sourceMappingURL=repo.16c16557.css.map */
