html{background:#07090c}.App{overflow-x:hidden;text-align:center;width:100%}.App-logo{height:40vmin}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(.625rem + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#09d3ac}.subTitle{color:#868e96}:root{--ink:#07090c;--graphite:#0d1117;--graphite-2:#121821;--line:#e6edf317;--line-strong:#e6edf32e;--paper:#e8ecef;--mute:#9aa5b1;--dim:#6b7682;--signal:#5ad1e6;--signal-soft:#5ad1e61f;--ember:#f4a259;--ember-soft:#f4a25924;--font-sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-body:clamp(1rem,0.96rem + 0.2vw,1.0625rem);--fs-lead:clamp(1.125rem,1.05rem + 0.4vw,1.3125rem);--fs-h3:clamp(1.25rem,1.15rem + 0.5vw,1.5rem);--fs-h2:clamp(2rem,1.5rem + 2.4vw,3.5rem);--fs-display:clamp(2.75rem,1.6rem + 5.6vw,6.5rem);--gutter:16px;--container:1200px;--section-y:clamp(5rem,3.5rem + 7vw,10rem);--nav-h:64px;--ease-out:cubic-bezier(0.2,0.7,0.2,1);--t-fast:180ms;--t-reveal:700ms}@media(min-width:600px){:root{--gutter:32px}}@media(min-width:1200px){:root{--gutter:48px}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:64px;scroll-padding-top:var(--nav-h)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07090c;background:var(--ink);color:#e8ecef;color:var(--paper);font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:clamp(1rem,.96rem + .2vw,1.0625rem);font-size:var(--fs-body);line-height:1.65;margin:0;overflow-x:hidden;text-rendering:optimizeLegibility}canvas,img,svg{max-width:100%}a{color:inherit}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0}ol,p,ul{margin:0}ol,ul{padding:0}::selection{background:#f4a259;background:var(--ember);color:#07090c;color:var(--ink)}:focus-visible{border-radius:2px;outline:2px solid #5ad1e6;outline:2px solid var(--signal);outline-offset:3px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.skip-link{background:#e8ecef;background:var(--paper);color:#07090c;color:var(--ink);font-weight:600;left:12px;padding:10px 16px;position:fixed;text-decoration:none;top:12px;transform:translateY(-200%);transition:transform .18s;transition:transform var(--t-fast);z-index:100}.skip-link:focus{transform:none}.container{margin:0 auto;max-width:1232px;max-width:calc(var(--container) + var(--gutter)*2);padding:0 16px;padding:0 var(--gutter);width:100%}.section{border-top:1px solid #e6edf317;border-top:1px solid var(--line);padding:clamp(5rem,3.5rem + 7vw,10rem) 0;padding:var(--section-y) 0;position:relative}.label,.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-mono)}.label{color:#9aa5b1;color:var(--mute);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.accent-signal{color:#5ad1e6;color:var(--signal)}.accent-ember{color:#f4a259;color:var(--ember)}.section-head{grid-gap:1.25rem;display:grid;gap:1.25rem;margin-bottom:clamp(2.5rem,2rem + 3vw,5rem);max-width:820px}.section-head__index{align-items:center;color:#5ad1e6;color:var(--signal);display:flex;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:12px;letter-spacing:.14em;text-transform:uppercase}.section-head__index:after{background:currentColor;content:"";height:1px;opacity:.6;width:48px}.section-head__title{font-size:clamp(2rem,1.5rem + 2.4vw,3.5rem);font-size:var(--fs-h2);font-weight:600}.section-head__title em{color:#f4a259;color:var(--ember);font-style:normal}.section-head__lead{color:#9aa5b1;color:var(--mute);font-size:clamp(1.125rem,1.05rem + .4vw,1.3125rem);font-size:var(--fs-lead);max-width:640px}.btn{align-items:center;background:#0000;border:1px solid #e6edf32e;border:1px solid var(--line-strong);border-radius:2px;color:#e8ecef;color:var(--paper);cursor:pointer;display:inline-flex;font:600 .9375rem/1 Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font:600 .9375rem/1 var(--font-sans);gap:10px;letter-spacing:.01em;min-height:48px;padding:0 22px;text-decoration:none;transition:border-color .18s,background .18s,color .18s,transform .18s cubic-bezier(.2,.7,.2,1);transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease-out)}.btn:hover{border-color:#e8ecef;border-color:var(--paper);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:#f4a259;background:var(--ember);border-color:#f4a259;border-color:var(--ember);color:#1a1007}.btn--primary:hover{background:#ffb877;border-color:#ffb877}.btn .btn__arrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-mono);transition:transform .18s cubic-bezier(.2,.7,.2,1);transition:transform var(--t-fast) var(--ease-out)}.btn:hover .btn__arrow{transform:translateX(3px)}.text-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;color:#e8ecef;color:var(--paper);text-decoration:none;transition:color .18s;transition:color var(--t-fast)}.text-link:hover{color:#f4a259;color:var(--ember)}.chip-list{color:#9aa5b1;color:var(--mute);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.8125rem;gap:6px 14px;list-style:none}.chip-list li:before{color:#6b7682;color:var(--dim);content:"/ "}.can-reveal .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition:opacity var(--t-reveal) var(--ease-out),transform var(--t-reveal) var(--ease-out);transition-delay:0ms;transition-delay:var(--delay,0ms)}.can-reveal .reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.can-reveal .reveal{transform:none;transition:opacity .3s linear}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important}}.nav{border-bottom:1px solid #0000;height:var(--nav-h);inset:0 0 auto;position:fixed;transition:background var(--t-fast),border-color var(--t-fast);z-index:50}.nav--open,.nav--solid{background:#07090ce0;border-bottom-color:var(--line)}@supports((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav--open,.nav--solid{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#07090cb8}}.nav__inner{align-items:center;display:flex;height:100%;justify-content:space-between}.nav__brand{align-items:center;display:inline-flex;gap:12px;text-decoration:none}.nav__mark{border:1px solid var(--line-strong);color:var(--signal);display:grid;font:600 .75rem/1 var(--font-mono);height:38px;letter-spacing:.06em;place-items:center;width:38px}.nav__brand-text{color:var(--mute);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}@media(max-width:599px){.nav__brand-text{display:none}}.nav__menu{align-items:center;display:flex;gap:28px}.nav__menu ul{display:flex;gap:26px;list-style:none}.nav__menu ul a{color:var(--mute);font-size:.9375rem;position:relative;text-decoration:none;transition:color var(--t-fast)}.nav__menu ul a:hover{color:var(--paper)}.nav__cta{min-height:40px;padding:0 18px}.nav__toggle{background:#0000;border:1px solid var(--line-strong);color:var(--paper);cursor:pointer;display:none;height:44px;width:44px}.nav__bars,.nav__bars:after,.nav__bars:before{background:currentColor;display:block;height:1.5px;margin:0 auto;transition:transform var(--t-fast);width:18px}.nav__bars{position:relative}.nav__bars:after,.nav__bars:before{content:"";left:0;position:absolute}.nav__bars:before{top:-6px}.nav__bars:after{top:6px}@media(max-width:899px){.nav__toggle{display:block}.nav__menu{align-items:stretch;background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;gap:24px;left:0;opacity:0;padding:24px var(--gutter) 32px;position:fixed;right:0;top:var(--nav-h);transform:translateY(-8px);transition:opacity var(--t-fast),transform var(--t-fast),visibility 0s linear var(--t-fast);visibility:hidden}.nav__menu ul{flex-direction:column;gap:0}.nav__menu ul a{border-bottom:1px solid var(--line);color:var(--paper);display:block;font-size:1.25rem;padding:14px 0}.nav--open .nav__menu{opacity:1;transform:none;transition:opacity var(--t-fast),transform var(--t-fast);visibility:visible}.nav--open .nav__bars{background:#0000}.nav--open .nav__bars:before{transform:translateY(6px) rotate(45deg)}.nav--open .nav__bars:after{transform:translateY(-6px) rotate(-45deg)}.nav__cta{justify-content:center;min-height:48px}}.scene{background:var(--ink);color:var(--signal);inset:0;overflow:hidden;position:absolute}.scene__canvas{display:block;height:100%;opacity:0;transition:opacity 1.2s var(--ease-out);width:100%}.scene--ready .scene__canvas{opacity:1}.scene__fallback{height:100%;inset:0;position:absolute;width:100%}.scene--ready .scene__fallback{display:none}.scene__fallback-route{stroke:var(--ember);filter:drop-shadow(0 0 6px rgba(244,162,89,.6))}.scene__fallback-nodes{stroke:var(--signal);opacity:.8}.hero{display:flex;flex-direction:column;isolation:isolate;justify-content:center;min-height:100vh;min-height:100svh;overflow:hidden;padding:calc(var(--nav-h) + 48px) 0 clamp(150px,20vh,200px);position:relative}.hero .scene{z-index:-2}.hero__scrim{background:linear-gradient(90deg,#07090ceb 0,#07090cb3 38%,#07090c00 72%),linear-gradient(0deg,var(--ink) 0,#07090c00 28%);inset:0;pointer-events:none;position:absolute;z-index:-1}@media(max-width:899px){.hero__scrim{background:linear-gradient(180deg,#07090c33,#07090cd1 45%,#07090cf2)}}.hero__content{position:relative}.hero__kicker{line-height:1.8;margin-bottom:28px;max-width:34ch}.hero__title{font-size:var(--fs-display);font-weight:700;letter-spacing:-.035em;line-height:1.08;max-width:11ch}.hero__role{color:var(--signal);font-family:var(--font-mono);font-size:clamp(.875rem,.8rem + .3vw,1rem);letter-spacing:.04em;margin-top:22px}.hero__tagline{color:#c5ccd3;font-size:var(--fs-lead);line-height:1.6;margin-top:22px;max-width:34rem}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}.hero__hud{grid-gap:12px 56px;bottom:32px;color:var(--mute);display:grid;font-size:.75rem;gap:12px 56px;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;left:0;margin:0 auto;position:absolute;right:0}.hero__hud div{border-left:1px solid var(--line-strong);padding-left:14px}.hero__hud dt{color:var(--ember);letter-spacing:.14em;margin-bottom:4px;text-transform:uppercase}.hero__hud dd{margin:0}@media(max-width:899px){.hero__hud{bottom:auto;grid-template-columns:1fr;margin-top:48px;position:relative}}.hero__coord{color:var(--dim);margin-left:6px;white-space:nowrap}.hero__scroll{align-items:center;bottom:32px;display:flex;gap:12px;position:absolute;right:var(--gutter);text-decoration:none;writing-mode:vertical-rl}@media(max-width:899px){.hero__scroll{display:none}}.hero__scroll-line{animation:scroll-cue 2.4s var(--ease-out) infinite;background:linear-gradient(var(--ember),#0000);height:56px;transform-origin:top;width:1px}@keyframes scroll-cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.explorer{background:var(--graphite);border:1px solid var(--line-strong)}.explorer__bar{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding:14px 20px}.explorer__tabs{display:flex;flex-wrap:wrap;gap:4px}.explorer__tab{background:#0000;border:1px solid #0000;color:var(--mute);cursor:pointer;font:500 .9375rem/1 var(--font-sans);min-height:40px;padding:0 16px;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.explorer__tab .mono{color:var(--dim);font-size:.75rem;margin-right:4px}.explorer__tab:hover{color:var(--paper)}.explorer__tab[aria-selected=true]{background:var(--graphite-2);border-color:var(--line-strong);color:var(--paper)}.explorer__tab[aria-selected=true] .mono{color:var(--ember)}.explorer__panel{padding:clamp(24px,4vw,56px) clamp(20px,4vw,48px)}.explorer__meta{grid-gap:14px;border-top:1px dashed var(--line-strong);display:grid;gap:14px;margin-top:clamp(32px,4vw,48px);padding-top:28px}@media(min-width:900px){.explorer__meta{gap:24px 48px;grid-template-columns:1.4fr 1fr}}.explorer__summary{color:#c5ccd3;font-size:var(--fs-lead)}@media(min-width:900px){.explorer__summary{grid-row:span 2}}.explorer__stack{color:var(--paper);font-size:.875rem}.explorer__note{color:var(--dim);font-size:.75rem;line-height:1.6}.flow{--node:44px;grid-gap:0;display:grid;gap:0;list-style:none}@media(min-width:900px){.flow{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.flow__stage{grid-column-gap:18px;animation:stage-in .6s var(--ease-out) both;animation-delay:calc(var(--i)*90ms);column-gap:18px;display:grid;grid-template-columns:var(--node) 1fr;padding-bottom:28px;position:relative}@media(min-width:900px){.flow__stage{grid-template-columns:1fr;padding:0 16px 0 0}}.flow__stage:not(:last-child):after{animation:flow-y .9s linear infinite;background:repeating-linear-gradient(180deg,var(--signal) 0 6px,#0000 6px 14px);background-size:1px 14px;bottom:0;content:"";left:calc(var(--node)/2);opacity:.55;position:absolute;top:var(--node);width:1px}@media(min-width:900px){.flow__stage:not(:last-child):after{animation-name:flow-x;background:repeating-linear-gradient(90deg,var(--signal) 0 6px,#0000 6px 14px);background-size:14px 1px;bottom:auto;height:1px;left:calc(var(--node) + 10px);right:10px;top:calc(var(--node)/2);width:auto}}.flow__node{background:var(--ink);border:1px solid var(--signal);box-shadow:0 0 0 4px var(--graphite),0 0 24px #5ad1e62e;color:var(--signal);display:grid;font-size:.75rem;grid-row:span 2;height:var(--node);place-items:center;width:var(--node)}@media(min-width:900px){.flow__node{grid-row:auto;margin-bottom:18px}}.flow__stage:last-child .flow__node{border-color:var(--ember);box-shadow:0 0 0 4px var(--graphite),0 0 24px #f4a25940;color:var(--ember)}.flow__label{align-self:end;font-size:1.0625rem;font-weight:600;line-height:1.3}.flow__detail{color:var(--mute);font-size:.8125rem;line-height:1.5;margin-top:4px}@keyframes flow-x{to{background-position:14px 0}}@keyframes flow-y{to{background-position:0 14px}}@keyframes stage-in{0%{opacity:0;transform:translateY(10px)}}.systems__stack{margin-top:clamp(4rem,3rem + 4vw,7rem)}.systems__stack-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;margin-bottom:32px}.systems__stack-title{font-size:var(--fs-h3)}.systems__legend{color:var(--dim);font-size:.75rem}.systems__grid{border-left:1px solid var(--line);border-top:1px solid var(--line);display:grid}@media(min-width:600px){.systems__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.systems__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:28px 24px 32px;transition:background var(--t-fast)}.skill:hover{background:var(--graphite)}.skill__index{color:var(--ember);font-size:.75rem;margin-bottom:18px}.skill__title{font-size:1.25rem}.skill__note{color:var(--mute);font-size:.875rem;margin-top:6px}.skill__items{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:22px}.skill__items li{align-items:center;border:1px solid var(--line);display:inline-flex;font-size:.875rem;gap:8px;line-height:1.2;padding:6px 10px}.skill__level{border:1px solid;cursor:help;font:600 .625rem/1 var(--font-mono);letter-spacing:.08em;padding:3px 5px;text-decoration:none}.skill__level--advanced{color:var(--ember)}.skill__level--intermediate{color:var(--signal)}.projects__group+.projects__group{margin-top:clamp(4rem,3rem + 4vw,7rem)}.projects__group-head{align-items:baseline;border-bottom:1px solid var(--line-strong);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-bottom:18px}.projects__group-head h3{font-size:var(--fs-h3)}.projects__group-head p{color:var(--dim);font-size:.8125rem}.case{grid-gap:18px 40px;border-bottom:1px solid var(--line);display:grid;gap:18px 40px;padding:36px 0;position:relative}@media(min-width:900px){.case{grid-template-columns:200px minmax(0,1fr) minmax(0,1.1fr)}}.case:before{background:var(--ember);content:"";height:1px;left:0;position:absolute;top:-1px;transition:width .6s var(--ease-out);width:0}.case:hover:before{width:100%}.case__meta{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px 14px}@media(min-width:900px){.case__meta{flex-direction:column;gap:10px}}.case__index{color:var(--ember);font-size:.875rem}.case__type{color:var(--dim);font-size:.75rem}.case__name{font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);font-weight:600;margin-bottom:14px}.case__extra,.case__problem{color:#c5ccd3}.case__extra+.case__extra,.case__extra+.case__problem,.case__problem+.case__extra,.case__problem+.case__problem{margin-top:10px}.case__key{color:var(--signal);display:block;font-size:.6875rem;letter-spacing:.14em;margin-bottom:4px;text-transform:uppercase}.case__detail{grid-gap:16px;align-content:start;display:grid;gap:16px}.case__features{grid-gap:8px;color:var(--mute);display:grid;font-size:.9375rem;gap:8px;list-style:none}.case__features li{padding-left:22px;position:relative}.case__features li:before{background:var(--signal);content:"";height:1px;left:2px;position:absolute;top:.7em;width:8px}.exhibits{grid-gap:20px;display:grid;gap:20px;margin-top:32px}@media(min-width:600px){.exhibits{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.exhibits{grid-template-columns:repeat(3,minmax(0,1fr))}}.exhibit{--rx:0deg;--ry:0deg;--mx:50%;--my:0%;perspective:900px}.exhibit__inner{background:radial-gradient(420px circle at var(--mx) var(--my),#f4a25912,#0000 60%),var(--graphite);border:1px solid var(--line-strong);display:flex;flex-direction:column;height:100%;padding:0 26px 26px;position:relative;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .4s var(--ease-out),border-color var(--t-fast)}.exhibit:hover .exhibit__inner{border-color:#f4a25973}.exhibit__url{align-items:center;border-bottom:1px solid var(--line);color:var(--dim);display:flex;font-size:.75rem;gap:10px;margin:0 -26px 26px;overflow:hidden;padding:12px 26px;text-overflow:ellipsis;white-space:nowrap}.exhibit__dot{background:var(--signal);border-radius:50%;box-shadow:0 0 10px var(--signal);flex:none;height:6px;width:6px}.exhibit__head{align-items:baseline;display:flex;gap:14px}.exhibit__index{color:var(--ember);font-size:.8125rem}.exhibit__name{font-size:1.625rem;font-weight:600;letter-spacing:-.02em;margin:14px 0 10px;transform:translateZ(24px)}.exhibit__desc,.exhibit__extra{color:#c5ccd3;margin-bottom:18px}.exhibit__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:auto;padding-top:22px}.exhibit__link{border-bottom:1px solid #f4a25959;color:var(--ember);font-size:.9375rem;font-weight:600;padding-bottom:2px;text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}.exhibit__link:hover{border-color:currentColor;color:#ffc58f}.exhibit__link--quiet{border-color:var(--line-strong);color:var(--mute)}@media(prefers-reduced-motion:reduce){.exhibit__inner{transform:none}}.timeline__track{--year-w:0px;--rail-x:11px;position:relative}@media(min-width:900px){.timeline__track{--year-w:150px;--rail-x:calc(var(--year-w) + 40px)}}.timeline__rail{background:repeating-linear-gradient(180deg,var(--line-strong) 0 8px,#0000 8px 16px);bottom:0;left:var(--rail-x);margin-left:-1px;position:absolute;top:8px;width:2px}.timeline__progress{background:linear-gradient(180deg,var(--ember),#ffcf9e);box-shadow:0 0 12px #f4a2598c;inset:0;position:absolute;transform:scaleY(0);transform-origin:top;will-change:transform}.timeline__list{grid-gap:clamp(48px,6vw,80px);display:grid;gap:clamp(48px,6vw,80px);list-style:none}.milestone{display:grid;grid-template-columns:1fr;padding-left:calc(var(--rail-x) + 32px);position:relative}@media(min-width:900px){.milestone{column-gap:80px;grid-template-columns:var(--year-w) 1fr;padding-left:0}}.milestone__year{color:var(--ember);font-size:.875rem;letter-spacing:.08em;margin-bottom:10px}@media(min-width:900px){.milestone__year{font-size:clamp(1.75rem,1.2rem + 1.2vw,2.5rem);font-weight:500;letter-spacing:-.02em;line-height:1;margin:0;text-align:right}}.milestone__dot{background:var(--ink);border:2px solid var(--dim);height:14px;left:var(--rail-x);margin-left:-7px;position:absolute;top:4px;transform:rotate(45deg);transition:border-color .4s,background .4s,box-shadow .4s;width:14px}.milestone.is-visible .milestone__dot{background:var(--ember);border-color:var(--ember);box-shadow:0 0 0 5px var(--ink),0 0 18px #f4a259b3}.milestone__body{max-width:680px}.milestone__place{color:var(--signal)}.milestone__title{font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);margin-top:8px}.milestone__text{color:#c5ccd3;margin-top:12px}.milestone__period{color:var(--dim);font-size:.75rem;margin-top:18px}.milestone__desc{grid-gap:6px;color:var(--mute);display:grid;font-size:.9375rem;gap:6px;list-style:none;margin:10px 0 16px}.milestone__desc li{padding-left:20px;position:relative}.milestone__desc li:before{color:var(--signal);content:"›";font-family:var(--font-mono);left:2px;position:absolute}.milestone--highlight .milestone__title{color:var(--ember)}.milestone--future .milestone__dot{border-color:var(--signal);border-style:dashed}.milestone--future.is-visible .milestone__dot{background:var(--ink);border-color:var(--signal);box-shadow:0 0 0 5px var(--ink),0 0 18px #5ad1e680}.milestone--future .milestone__year{color:var(--signal)}.journey{border-top:1px solid var(--line);position:relative}.journey__track{height:calc(100vh*(var(--count)*0.6 + 1));position:relative}.journey__stage{height:100vh;isolation:isolate;overflow:hidden;position:sticky;top:0}.journey__stage .scene{z-index:-2}.journey__scrim{background:linear-gradient(90deg,#07090ce0 0,#07090c59 45%,#07090cbf 100%),linear-gradient(180deg,var(--ink) 0,#07090c00 18%);inset:0;pointer-events:none;position:absolute;z-index:-1}.journey__content{grid-gap:32px 64px;display:grid;gap:32px 64px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:1fr auto;height:100%;padding-bottom:40px;padding-top:calc(var(--nav-h) + 48px)}.journey__head{grid-gap:20px;align-content:start;display:grid;gap:20px;max-width:560px}.journey__intro{color:#c5ccd3;font-size:var(--fs-lead)}.journey__checkpoints{grid-gap:26px;align-content:center;display:grid;gap:26px;grid-row:span 2;list-style:none}.checkpoint{border-left:1px solid var(--line-strong);opacity:.45;padding:4px 0 4px 26px;position:relative;transition:opacity .5s var(--ease-out),border-color .5s}.checkpoint__code{color:var(--signal);font-size:.75rem;letter-spacing:.12em}.checkpoint__title{font-size:var(--fs-h3);margin-top:6px}.checkpoint__text{color:#c5ccd3;margin-top:8px}.checkpoint.is-passed{opacity:.6}.checkpoint.is-active{border-left-color:var(--ember);opacity:1}.checkpoint.is-active .checkpoint__code{color:var(--ember)}.checkpoint.is-active:before{background:var(--ember);box-shadow:0 0 14px var(--ember);content:"";height:9px;left:-5px;position:absolute;top:10px;transform:rotate(45deg);width:9px}.journey__hud{align-items:center;align-self:end;color:var(--mute);display:flex;font-size:.75rem;gap:18px;letter-spacing:.12em}.journey__bar{background:var(--line-strong);height:1px;position:relative;width:160px}.journey__bar span{background:var(--ember);inset:0;position:absolute;transform:scaleX(0);transform-origin:left}.journey__gallery{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding-bottom:var(--section-y)}.journey__gallery figure{margin:0}.journey__gallery img{aspect-ratio:4/3;display:block;object-fit:cover;width:100%}.journey__gallery figcaption{color:var(--mute);font-size:.8125rem;margin-top:8px}@media(max-width:899px){.journey__track{height:auto}.journey__stage{height:auto;position:relative}.journey__scrim{background:linear-gradient(180deg,var(--ink) 0,#07090c8c 20%,#07090ce0 60%,var(--ink) 100%)}.journey__content{grid-template-columns:1fr;grid-template-rows:none;padding-bottom:var(--section-y);padding-top:var(--section-y)}.journey__checkpoints{grid-row:auto}.checkpoint,.checkpoint.is-passed{opacity:1}.checkpoint.is-active:before,.checkpoint.is-passed.is-active:before{display:none}.checkpoint.is-active,.checkpoint.is-passed.is-active{border-left-color:var(--line-strong)}.checkpoint.is-active .checkpoint__code,.checkpoint.is-passed.is-active .checkpoint__code{color:var(--signal)}.journey__hud{display:none}}@media(prefers-reduced-motion:reduce){.journey__track{height:auto}.journey__stage{height:auto;position:relative}.journey__scrim{background:linear-gradient(180deg,var(--ink) 0,#07090c8c 20%,#07090ce0 60%,var(--ink) 100%)}.journey__content{grid-template-columns:1fr;grid-template-rows:none;padding-bottom:var(--section-y);padding-top:var(--section-y)}.journey__checkpoints{grid-row:auto}.checkpoint,.checkpoint.is-passed{opacity:1}.checkpoint.is-active:before,.checkpoint.is-passed.is-active:before{display:none}.checkpoint.is-active,.checkpoint.is-passed.is-active{border-left-color:var(--line-strong)}.checkpoint.is-active .checkpoint__code,.checkpoint.is-passed.is-active .checkpoint__code{color:var(--signal)}.journey__hud{display:none}}@media(max-height:620px){.journey__track{height:auto}.journey__stage{height:auto;position:relative}.journey__scrim{background:linear-gradient(180deg,var(--ink) 0,#07090c8c 20%,#07090ce0 60%,var(--ink) 100%)}.journey__content{grid-template-columns:1fr;grid-template-rows:none;padding-bottom:var(--section-y);padding-top:var(--section-y)}.journey__checkpoints{grid-row:auto}.checkpoint,.checkpoint.is-passed{opacity:1}.checkpoint.is-active:before,.checkpoint.is-passed.is-active:before{display:none}.checkpoint.is-active,.checkpoint.is-passed.is-active{border-left-color:var(--line-strong)}.checkpoint.is-active .checkpoint__code,.checkpoint.is-passed.is-active .checkpoint__code{color:var(--signal)}.journey__hud{display:none}}.about__grid{grid-gap:48px;display:grid;gap:48px}@media(min-width:900px){.about__grid{gap:96px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.about__story{grid-gap:1.4em;color:#c5ccd3;display:grid;font-size:var(--fs-lead);gap:1.4em;line-height:1.7;max-width:680px}.about__story .about__lede{color:var(--paper);font-size:clamp(1.25rem,1.1rem + .7vw,1.625rem);line-height:1.55}.about__facts{align-self:start;border-top:1px solid var(--line-strong);margin:0}.about__facts div{grid-gap:6px;border-bottom:1px solid var(--line);display:grid;gap:6px;padding:18px 0}.about__facts dt{color:var(--ember)}.about__facts dd{margin:0}.contact{overflow:hidden}.contact:before{background:linear-gradient(#0000,var(--ember));content:"";height:clamp(3rem,2rem + 4vw,6rem);left:max(var(--gutter),(100% - var(--container))/2);position:absolute;top:0;width:1px}.contact__inner{grid-gap:28px;display:grid;gap:28px;justify-items:start;max-width:960px}.contact__title{font-size:clamp(2.25rem,1.4rem + 4vw,5rem);font-weight:600;letter-spacing:-.03em;line-height:1.14}.contact__title em{color:var(--ember);font-style:normal}.contact__lead{color:#c5ccd3;font-size:var(--fs-lead);max-width:600px}.contact__email{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:12px;max-width:100%}.contact__email-link{border-bottom:1px solid var(--ember);color:var(--paper);font-size:clamp(1.125rem,.8rem + 1.8vw,2rem);font-weight:500;overflow-wrap:anywhere;padding-bottom:4px;text-decoration:none;transition:color var(--t-fast)}.contact__email-link:hover{color:var(--ember)}.contact__copy{background:#0000;border:1px solid var(--line-strong);color:var(--mute);cursor:pointer;font-size:.75rem;letter-spacing:.08em;min-height:36px;padding:0 12px;transition:color var(--t-fast),border-color var(--t-fast)}.contact__copy:hover{border-color:var(--paper);color:var(--paper)}.contact__channels{grid-gap:0;border-top:1px solid var(--line);display:grid;gap:0;list-style:none;margin-top:12px;width:100%}@media(min-width:600px){.contact__channels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.contact__channels{grid-template-columns:repeat(4,minmax(0,1fr))}}.contact__channels li{grid-gap:6px;border-bottom:1px solid var(--line);display:grid;gap:6px;padding:18px 0}@media(min-width:600px){.contact__channels li{padding-right:16px}}.contact__channels li>*{justify-self:start}.contact__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}.footer{border-top:1px solid var(--line);color:var(--mute);font-size:.875rem;padding:32px 0}.footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between}.footer__made{color:var(--dim);font-size:.75rem}.footer__actions{display:flex;flex-wrap:wrap;gap:8px 20px}.footer__egg,.footer__top{align-items:center;background:none;border:0;color:var(--mute);cursor:pointer;display:inline-flex;font-size:.75rem;letter-spacing:.06em;min-height:36px;padding:0;text-decoration:none;transition:color var(--t-fast)}.footer__egg:hover,.footer__top:hover{color:var(--ember)}.print-resume{display:none}@media print{@page{size:A4;margin:14mm 14mm 16mm}body,html{background:#fff!important;color:#111!important}.site>:not(.print-resume){display:none!important}.print-resume{color:#111;display:block;font-family:var(--font-sans);font-size:10pt;line-height:1.45}.print-resume .pr-name{font-size:22pt;font-weight:700;letter-spacing:-.01em}.print-resume .pr-h{border-bottom:1px solid #bbb;font-size:10.5pt;font-weight:700;letter-spacing:.08em;margin:12pt 0 4pt;padding-bottom:2pt;text-transform:uppercase}.print-resume .pr-role{color:#a35a12;font-weight:600;margin-top:2pt}.print-resume .pr-contact{color:#444;margin-top:4pt}.print-resume .pr-item{break-inside:avoid;margin-bottom:6pt;page-break-inside:avoid}.print-resume .pr-head{display:flex;gap:12pt;justify-content:space-between}.print-resume .pr-tech{color:#555;font-style:italic}.print-resume ul{margin:2pt 0;padding-left:14pt}.print-resume li{margin:1pt 0}.print-resume .pr-cols{grid-gap:16pt;break-inside:avoid;display:grid;gap:16pt;grid-template-columns:1.3fr 1fr;page-break-inside:avoid}}
/*# sourceMappingURL=main.9fbf73b3.css.map*/