:root{--paper:#f2f0e8;--paper-2:#faf9f4;--line:#d6d2c4;--line-2:#c9c4b4;--ink:#1e3b33;--ink-soft:#3a5249;--muted:#4f6259;--dot:#8a9a93;--brass:#b88a3e;--brass-text:#8c6a2e;--brass-light:#d9b26a;--pistachio:#8cb33e;--leaf:#6c9330;--sky:#7ea6b8;--hair:#7a5636;--night:#1e3b33;--night-card:#27493f;--night-line:#3a5d52;--night-text:#e6ece8;--night-muted:#b4c3bc;--backdrop:#1e3b3352;--shadow:#1e3b3314;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--serif:"Newsreader", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--hand:"Caveat", cursive;--top:76px}:root[data-theme=dark]{--paper:#121a17;--paper-2:#18221e;--line:#2a3631;--line-2:#3a4842;--ink:#e3e9e4;--ink-soft:#c3cdc7;--muted:#9eaca5;--dot:#6b7a73;--brass:#c99b4e;--brass-text:#d6ad62;--brass-light:#e2c07c;--pistachio:#9cc452;--leaf:#8fbb4c;--sky:#8db8ca;--hair:#a87f58;--night:#0c1210;--night-card:#17211d;--night-line:#2b3933;--night-text:#e6ece8;--night-muted:#a9b8b1;--backdrop:#0000008c;--shadow:#00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;transition:background .3s,color .3s}a{color:inherit}h1,h2,h3,p{margin:0}ol,ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brass-text);font-size:13px;font-weight:600}.eyebrow--light{color:var(--brass-light)}.btn{cursor:pointer;border:1.5px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:10px;width:fit-content;min-height:48px;padding:0 22px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn--solid{background:var(--ink);color:var(--paper)}.btn--outline{color:var(--ink);background:0 0}.btn--small{min-height:44px;padding:0 18px;font-size:14px}.btn--wide{width:100%}.btn:hover .icon,.chip-btn:hover:after{animation:.5s nudge}.round-btn{border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.controls{z-index:20;align-items:center;gap:10px;display:flex;position:fixed;top:18px;right:clamp(20px,4.5vw,64px)}.progress{color:var(--muted);pointer-events:none;margin-right:6px;font-size:13px;font-weight:500}.switch{border:1px solid var(--line-2);background:var(--paper-2);border-radius:999px;padding:3px;display:flex}.switch__opt{letter-spacing:.06em;min-width:40px;min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:12px;font-weight:600;transition:background .25s,color .25s}.switch__opt:hover{color:var(--ink)}.switch__opt.is-on{background:var(--ink);color:var(--paper)}.theme-btn{border:1px solid var(--line-2);background:var(--paper-2);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.theme-btn:hover .icon{animation:.7s jiggle}.dots{z-index:10;flex-direction:column;gap:6px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.dot{cursor:pointer;background:0 0;border:none;place-items:center;width:28px;height:28px;padding:0;display:grid}.dot:before{content:"";border:1.5px solid var(--dot);border-radius:50%;width:10px;height:10px;transition:background .3s,border-color .3s}.dot.is-active:before{background:var(--ink);border-color:var(--ink)}.story{grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}.stage{height:100svh;padding:calc(var(--top) + 16px) 88px 40px 16px;grid-area:1/2;justify-content:center;align-items:center;display:flex;position:sticky;top:0}.stage__frame{aspect-ratio:600/520;width:100%;max-width:660px;position:relative}.steps{grid-area:1/1;padding-left:clamp(20px,4.5vw,64px)}.step{max-width:540px;min-height:100svh;padding:var(--top) 0 40px;opacity:.16;flex-direction:column;justify-content:center;gap:22px;transition:opacity .6s,transform .6s;display:flex;transform:translateY(18px)}.step.is-active{opacity:1;transform:none}.step__title{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(48px,6vw,88px);font-weight:500;line-height:1}.step__title--cover{letter-spacing:-.03em;font-size:clamp(56px,7vw,104px);line-height:.95}.step__text{font-family:var(--serif);color:var(--ink-soft);font-size:clamp(20px,2vw,26px);line-height:1.45}.byline{font-family:var(--serif);letter-spacing:-.01em;margin-top:-8px;font-size:clamp(24px,2.6vw,34px);line-height:1.25}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;max-width:460px;padding-top:16px;display:grid}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:2px 0 0;font-size:15px;font-weight:600}.cta{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:4px;display:flex}.hint{color:var(--muted);align-items:center;gap:10px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.hint .icon{animation:2s ease-in-out infinite bob}.howto{border:1px solid var(--line);background:var(--paper-2);border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.howto__label{color:var(--muted);font-size:13px}.howto__text{min-height:3.1em;color:var(--ink-soft);font-size:15px;line-height:1.55}.howto__text strong{color:var(--ink);font-weight:600}.howto__tabs{background:var(--paper);border-radius:24px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.howto__tab{min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:auto;padding:0 12px;font-size:13px;font-weight:500;transition:background .25s,color .25s}.howto__tab span{color:var(--brass-text);font-variant-numeric:tabular-nums}.howto__tab:hover{background:var(--line)}.howto__tab.is-active{background:var(--ink);color:var(--paper)}.howto__tab.is-active span{color:var(--brass-light)}.projects{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:18px;display:flex}.projects__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.projects__title{font-family:var(--serif);font-size:22px;font-weight:500}.projects__hint{color:var(--muted);font-size:13px}.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pcard{border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink);text-align:left;font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.pcard:hover{border-color:var(--ink);box-shadow:0 6px 18px var(--shadow);transform:translateY(-2px)}.pcard--main{background:var(--night);border-color:var(--night);color:var(--night-text);grid-column:1/-1}.pcard--main:hover{border-color:var(--brass-light)}.pcard__kind{letter-spacing:.1em;text-transform:uppercase;color:var(--brass-text);font-size:11px;font-weight:600}.pcard--main .pcard__kind{color:var(--brass-light)}.pcard__title{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.15}.pcard--main .pcard__title{font-size:26px}.pcard__summary{color:var(--ink-soft);font-size:13px;line-height:1.45}.pcard--main .pcard__summary{color:var(--night-muted)}.pcard__more{align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:600;display:inline-flex}.pcard__more .icon{width:14px;height:14px;color:var(--brass-text)}.pcard--main .pcard__more .icon{color:var(--brass-light)}.pcard:hover .pcard__more .icon{animation:.5s nudge}.live{color:var(--night-text);background:#8cb33e2e;border-radius:999px;align-items:center;gap:8px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.live__dot{background:var(--pistachio);border-radius:50%;width:8px;height:8px;animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 3px #8cb33e4d}.live--panel{width:fit-content;color:var(--ink);background:#8cb33e33;margin-top:-4px}@keyframes pulse{50%{box-shadow:0 0 0 6px #8cb33e00}}.chip-btn{border:1px solid var(--ink);background:var(--paper-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.chip-btn:after{content:"→";color:var(--brass-text);display:inline-block}.chip-btn:hover{background:var(--ink);color:var(--paper)}.scene{opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0;overflow:visible}.scene.is-active{opacity:1}.stage__frame:hover .scene.is-active{animation:.7s jiggle}.ink{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.3s cubic-bezier(.6,0,.2,1);transition-delay:calc(var(--i,0) * 85ms)}.ink--brass{stroke:var(--brass)}.ink--green{stroke:var(--leaf)}.ink--sky{stroke:var(--sky)}.scene.is-active .ink{stroke-dashoffset:0}.fill{fill:none;stroke-linecap:round;opacity:0;transition:opacity .9s 1.1s}.fill--ink{stroke:var(--ink);stroke-opacity:.45}.fill--brass{stroke:var(--brass);stroke-opacity:.7}.fill--green{stroke:var(--leaf);stroke-opacity:.6}.fill--sky{stroke:var(--sky);stroke-opacity:.8}.scene.is-active .fill{opacity:1}.scribble{font-family:var(--hand);fill:var(--ink);opacity:0;transition:opacity .6s;transition-delay:calc(var(--i,0) * 85ms + .4s);font-weight:600}.scribble--brass{fill:var(--brass-text)}.scene.is-active .scribble{opacity:1}.wash{stroke:none;opacity:0;transition:opacity 1s .9s}.wash--green{fill:var(--pistachio);fill-opacity:.3}.wash--sun{fill:var(--brass-light);fill-opacity:.45}.wash--sky{fill:var(--sky);fill-opacity:.3}.wash--paper{fill:var(--paper)}.wash--hair{fill:var(--hair);fill-opacity:.6}.scene.is-active .wash{opacity:1}.is-locked,.is-locked body{overflow:hidden}.panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:none;border-left:1px solid var(--line);background:var(--paper-2);width:min(500px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow:auto}.panel[open]{animation:.35s cubic-bezier(.2,.8,.2,1) slide-in}.panel::backdrop{background:var(--backdrop)}.panel__inner{flex-direction:column;gap:28px;min-height:100%;padding:32px 40px 40px;display:flex}.panel__head{z-index:2;background:var(--paper-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:-32px -40px 0;padding:20px 40px 14px;display:flex;position:sticky;top:0}.panel__head .eyebrow{min-width:0}.round-btn{background:var(--paper-2);flex:none}.panel__section{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:24px;display:flex}.panel__section:first-of-type,.panel__section--first{border-top:none;padding-top:0}.panel__h{font-family:var(--serif);font-size:26px;font-weight:500}.panel__title{font-family:var(--serif);letter-spacing:-.02em;font-size:44px;font-weight:500;line-height:1.05}.panel__lead{font-family:var(--serif);color:var(--ink-soft);font-size:20px;line-height:1.45}.panel__muted{color:var(--ink-soft);font-size:14px;line-height:1.5}.org{flex-direction:column;gap:6px;display:flex}.org__name{font-size:16px;font-weight:600}.timeline{border-left:1.5px solid var(--line);flex-direction:column;gap:12px;margin:4px 0 6px 5px;padding-left:20px;display:flex}.timeline li{flex-direction:column;gap:1px;display:flex;position:relative}.timeline li:before{content:"";background:var(--paper-2);border:1.5px solid var(--dot);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:-26.5px}.timeline li.is-now:before{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 3px #b88a3e59}.timeline__title{font-size:15px;font-weight:500}.timeline__year{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.works{flex-direction:column;display:flex}.work{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title year arrow""meta meta meta";align-items:baseline;gap:2px 12px;padding:14px 0;display:grid}.work__title{font-family:var(--serif);letter-spacing:-.015em;grid-area:title;font-size:26px;font-weight:500;line-height:1.15}.work__meta{color:var(--muted);grid-area:meta;font-size:13px}.work__year{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:year;font-size:13px}.work .icon{color:var(--brass-text);grid-area:arrow;align-self:center}.work:hover .work__title{color:var(--brass-text)}.work:hover .icon{animation:.5s nudge}.edu{flex-direction:column;gap:3px;display:flex}.edu__years{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{border:1px solid var(--line-2);border-radius:999px;padding:5px 11px;font-size:13px}.plain-list{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14px;line-height:1.5;display:flex}.plain-list--ticks li{padding-left:22px;font-size:15px;position:relative}.plain-list--ticks li:before{content:"";border-left:2px solid var(--brass);border-bottom:2px solid var(--brass);width:10px;height:5px;position:absolute;top:6px;left:2px;transform:rotate(-45deg)}.role{background:var(--paper);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;font-size:14px;line-height:1.55;display:flex}.role__label{letter-spacing:.1em;text-transform:uppercase;color:var(--brass-text);font-size:12px;font-weight:600}.panel .btn--wide{margin-top:auto}.last{background:var(--night);color:var(--night-text);align-items:center;min-height:100svh;display:flex}.last__inner{width:100%;max-width:1200px;padding:calc(var(--top) + 40px) clamp(20px, 4.5vw, 64px) 40px;flex-direction:column;gap:36px;margin:0 auto;display:flex}.last__title{font-family:var(--serif);letter-spacing:-.025em;max-width:900px;font-size:clamp(40px,6vw,84px);font-weight:500;line-height:1.02}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;display:grid}.card{border:1px solid var(--night-line);background:var(--night-card);border-radius:16px;flex-direction:column;gap:10px;padding:22px;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.card:hover{border-color:var(--brass-light);transform:translateY(-3px)}.card .icon{color:var(--brass-light)}.card--cv{border-color:var(--brass-light)}.card__label{color:var(--night-muted);font-size:13px}.card__value{overflow-wrap:anywhere;font-size:16px;font-weight:600}.last__title--hand{font-family:var(--hand);letter-spacing:0;color:var(--brass-light);transform-origin:0;font-size:clamp(48px,7vw,96px);font-weight:600;transform:rotate(-1.5deg)}.hobbies{flex-direction:column;gap:10px;display:flex}.hobby{border:1px dashed var(--line-2);background:var(--paper-2);border-radius:14px;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"art title""art text";align-items:center;column-gap:16px;padding:12px 16px;display:grid}.hobby__art{fill:none;width:96px;height:auto;stroke:var(--brass);stroke-linecap:round;stroke-linejoin:round;grid-area:art}.hobby:hover .hobby__art{animation:.7s jiggle}.hobby__title{grid-area:title;align-self:end;font-size:16px;font-weight:600}.hobby__text{color:var(--ink-soft);grid-area:text;align-self:start;font-size:14px}.last__foot{border-top:1px solid var(--night-line);color:var(--night-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:14px;display:flex}.ink-dot{z-index:100;background:var(--pistachio);pointer-events:none;opacity:0;border-radius:50%;width:8px;height:8px;transition:opacity .3s;position:fixed;top:0;left:0}@media (width<=899px){:root{--top:52px}.controls{height:var(--top);background:var(--paper);border-bottom:1px solid var(--line);justify-content:flex-end;padding:0 12px 0 20px;top:0;left:0;right:0}.progress{margin-right:auto}.switch__opt{min-width:38px;min-height:32px}.theme-btn{width:38px;height:38px}.last__inner{padding-top:calc(var(--top) + 32px)}html{scroll-snap-type:y mandatory}.story{display:block}.steps{padding:0 20px}.step{max-width:none;min-height:100svh;padding:calc(var(--top) + 10px) 0 calc(64px + env(safe-area-inset-bottom));opacity:1;scroll-snap-align:start;justify-content:center;gap:10px;transform:none}.step__art{aspect-ratio:600/520;flex:none;height:min(28svh,86.67vw - 34.668px);margin:0 auto 4px;position:relative}.step__art .scene{position:absolute}.step:first-child .step__art{height:min(22svh,86.67vw - 34.668px)}.projects__grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:10px;margin:0 -20px;padding:2px 20px 6px;display:flex;overflow-x:auto}.projects__grid::-webkit-scrollbar{display:none}.pcard{scroll-snap-align:start;flex:0 0 76%;scroll-margin-left:20px}.pcard:hover{transform:none}.pcard--main .pcard__title{font-size:22px}.projects{gap:10px;padding-top:12px}.step__title{font-size:36px}.step__title--cover{font-size:46px}.step__text{font-size:17px;line-height:1.5}.byline{margin-top:-2px;font-size:21px}.facts{gap:10px 16px;padding-top:12px}.howto{gap:10px;padding:14px}.last{scroll-snap-align:start}.dots{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--paper-2);border:1px solid var(--line);border-radius:999px;flex-direction:row;gap:0;padding:0 6px;right:50%;transform:translate(50%)}.panel{border-left:none;border-top:1px solid var(--line);border-radius:20px 20px 0 0;width:100vw;height:auto;max-height:88dvh;inset:auto 0 0}.panel[open]{animation:.35s cubic-bezier(.2,.8,.2,1) slide-up}.panel__inner{padding:24px 20px calc(32px + env(safe-area-inset-bottom));gap:22px}.panel__head{border-radius:20px 20px 0 0;margin:-24px -20px 0;padding:10px 20px 12px}.panel__head:before{content:"";background:var(--line-2);border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:6px;left:50%}.panel__head .eyebrow{padding-top:8px}.round-btn{margin-top:6px}.panel__title{font-size:36px}}@media (width<=899px) and (height<=760px){html{scroll-snap-type:y proximity}.step{padding-bottom:calc(58px + env(safe-area-inset-bottom));gap:8px}.step__art{height:min(24svh,86.67vw - 34.668px)}.step:first-child .step__art{height:min(18svh,86.67vw - 34.668px)}.step__title{font-size:32px}.step__text{font-size:16px}.howto__text{min-height:0;font-size:14px}.hobby{padding:8px 12px}.hobby__art{width:72px}.hobby{grid-template-columns:72px minmax(0,1fr)}.step{padding-top:calc(var(--top) + 6px);gap:6px}.step__title--cover{font-size:38px}.byline{font-size:18px}.step__text{font-size:15.5px;line-height:1.45}.facts{gap:6px 14px;padding-top:8px}.facts dd{font-size:13px}.cta{gap:8px 16px}.cta .btn{min-height:44px;padding:0 18px;font-size:14px}.projects{gap:8px;padding-top:8px}.pcard{padding:10px 14px}.howto__tab{min-height:36px}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:none}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes nudge{0%,to{transform:translate(0)}40%{transform:translate(3px)}70%{transform:translate(-1px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes jiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-.6deg)}60%{transform:rotate(.4deg)}}@media (prefers-reduced-motion:reduce){.live__dot{animation:none}html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.ink{stroke-dashoffset:0}.fill,.wash,.scribble{opacity:1}.step{transform:none}}
