@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/caveat-cyrillic-ext-500-normal.BWHTaCoD.woff2) format("woff2"),url(/_astro/caveat-cyrillic-ext-500-normal.n9n8VXoQ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/caveat-cyrillic-500-normal.CyP0sQ5G.woff2) format("woff2"),url(/_astro/caveat-cyrillic-500-normal.rZIS9Rlw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/caveat-latin-ext-500-normal.B9rwONva.woff2) format("woff2"),url(/_astro/caveat-latin-ext-500-normal.BuOVX8N3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/caveat-latin-500-normal.DL4pb854.woff2) format("woff2"),url(/_astro/caveat-latin-500-normal.CzKmobOu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f1eee9;--ink: #141412;--ink-muted: #7a756b;--accent-red: #e5391f;--accent-blue: #1f4fd1;--highlight: #ffe14a;--chai: #c47a3a;--surface: #ffffff;--note: #fbf8f0;--note-rule: #6297c747;--note-margin: #e5391f59;--paper-shade: #d6cfc2;--paper-fold: #e6e0d5;--paper-edge: #f3efe7;--figure-ink: var(--ink);--brass-1: #f4d58e;--brass-2: #b8893b;--brass-3: #7c531a;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter Variable", Inter, system-ui, sans-serif;--font-hand: "Caveat", "Segoe Print", cursive;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-hello: clamp(1.5rem, 2.6vw, 2rem);--text-display: clamp(4.5rem, 15.5vw, 15rem);--leading-body: 1.65;--tracking-tight: -.012em;--column: 38rem;--gutter: 1.25rem;--gutter-md: 2rem;--section-space: 7rem;--radius-card: 16px;--radius-media: 12px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-reveal: cubic-bezier(.2, .7, .2, 1);--ease-swap: cubic-bezier(.6, 0, .2, 1);--ease-leave: cubic-bezier(.4, 0, .7, .2);--ease-pop: cubic-bezier(.3, 1.4, .5, 1);--ease-spring: cubic-bezier(.3, 1.6, .5, 1);--reveal-duration: 1.1s;--reveal-stagger: .13s;--grain: 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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .065 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=dark]{--paper: #171614;--ink: #ece7df;--ink-muted: #968f83;--accent-red: #ff5b3d;--accent-blue: #7b97ff;--highlight: #ffd60a4d;--chai: #d9904f;--surface: #2c2a26;--note: #22201c;--note-rule: #7ba3d629;--note-margin: #ff5b3d61;--paper-shade: #0b0a09;--paper-fold: #2b2925;--paper-edge: #211f1c;--figure-ink: #c4baa9;--brass-1: #d9b56a;--brass-2: #8f6a2c;--brass-3: #4f3410;--grain: 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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .04 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;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{background:var(--paper) var(--grain);background-size:240px 240px;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg,video{display:block;max-width:100%}img{-webkit-user-drag:none;user-select:none}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit;background:none;border:0}button{cursor:pointer}ol,ul{list-style:none}::selection{background:var(--accent-red);color:var(--paper)}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--ink-muted)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.h-section{font-size:var(--text-sm);font-weight:500}.container{width:100%;max-width:var(--column);margin-inline:auto}.page-pad{padding-inline:var(--gutter)}@media(min-width:768px){.page-pad{padding-inline:var(--gutter-md)}}.section{padding-block:var(--section-space)}@keyframes blur-in{0%{opacity:0;filter:blur(10px);translate:0 6px}}@keyframes fade-in{0%{opacity:0}}html:not([data-revealed]) .reveal{opacity:0}html[data-revealed] .reveal{animation:blur-in var(--reveal-duration) var(--ease-reveal) calc(var(--i, 0) * var(--reveal-stagger)) both}html[data-leaving] main,html[data-leaving] .site-footer,html[data-leaving] .section-progress{transition:opacity .26s var(--ease-leave),filter .26s var(--ease-leave),translate .26s var(--ease-leave);opacity:0;filter:blur(8px);translate:0 -6px}.link-underline{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size .3s var(--ease-out)}.link-underline:hover{background-size:100% 1px}.text-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);transition:text-decoration-color .25s}.text-link:hover{text-decoration-color:var(--accent-red)}.button-ink{display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:var(--paper);border-radius:999px;padding:.7rem 1.1rem;transition:transform .2s var(--ease-out),opacity .2s}.button-ink:hover{transform:translateY(-1px)}.button-ink:active{transform:scale(.97)}.swap-arrow{display:inline-grid;overflow:hidden}.swap-arrow>span{grid-area:1 / 1;transition:translate .4s var(--ease-swap)}.swap-arrow>span:last-child{translate:-120% 0}:is(.button-ink,.swap-host):hover .swap-arrow>span:first-child{translate:120% 0}:is(.button-ink,.swap-host):hover .swap-arrow>span:last-child{translate:0 0}.ext{display:inline-flex;gap:.3em;color:var(--ink-muted);transition:color .2s}.ext span{transition:translate .3s var(--ease-out)}.ext:hover{color:var(--ink)}.ext:hover span{translate:2px -2px}.missing{border:1.5px dashed var(--accent-red);border-radius:10px;padding:1rem 1.2rem;color:var(--accent-red);font-size:var(--text-sm);background:color-mix(in srgb,var(--accent-red) 6%,transparent)}.missing strong{letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-xs);display:block;margin-bottom:.25rem}html.has-cursor,html.has-cursor *{cursor:none!important}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .2s}html[data-cursor-visible] .cursor-dot,html[data-cursor-visible] .cursor-ring{opacity:1}.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:999px;background:var(--ink);box-shadow:0 0 0 1.5px var(--paper)}.cursor-ring{--size: 32px;width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);display:grid;place-items:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--ink) 35%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 40%,transparent);transition:opacity .2s,width .3s var(--ease-out),height .3s var(--ease-out),margin .3s var(--ease-out),background-color .3s,border-color .3s,scale .15s}.cursor-ring[data-state=link]{--size: 52px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:transparent}.cursor-ring[data-state=label]{--size: 76px;background:var(--ink);border-color:var(--ink)}.cursor-ring[data-pressed]{scale:.85}.cursor-label{color:var(--paper);font-size:11px;font-weight:500;white-space:nowrap;opacity:0;transition:opacity .2s}.cursor-ring[data-state=label] .cursor-label{opacity:1}html:has(.cursor-ring[data-state=label]) .cursor-dot{opacity:0}.header-shell{position:fixed;inset:0 0 auto;z-index:50;color:#fff;mix-blend-mode:difference;transition:translate .35s var(--ease-out)}.header-shell[data-hidden]{translate:0 -100%}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--gutter);font-size:var(--text-xs)}@media(min-width:768px){.site-header{padding-inline:var(--gutter-md)}}.header-left,.header-right{display:flex;align-items:center;gap:1.25rem}@media(min-width:768px){.header-left{gap:2rem}.header-right{gap:1.25rem}}.header-right{color:#ffffff8c}.header-right .strong{color:#fff}.header-signature{height:1.75rem;width:auto}@media(min-width:768px){.header-signature{height:2rem}}.header-nav{display:flex;gap:1rem}@media(min-width:768px){.header-nav{gap:1.25rem}}.theme-toggle{display:inline-flex;align-items:center;gap:.4rem}.theme-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.md-only{display:none}@media(min-width:768px){.md-only{display:inline-flex}}html.theme-switching *{transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.signature path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.signature:not([data-drawn]) path{visibility:hidden}.preloader{position:fixed;inset:0;z-index:200;pointer-events:none}.preloader-page{position:absolute;inset:0;display:grid;place-items:center;background:var(--paper) var(--grain);background-size:240px 240px}.preloader-inner{width:min(78vw,720px);display:flex;flex-direction:column;align-items:center;gap:1rem}.preloader-mascot{width:clamp(96px,11vw,140px);opacity:0;scale:.6;transition:opacity .35s,scale .5s var(--ease-spring)}.preloader-mascot[data-on]{opacity:1;scale:1}.preloader-signature{width:100%;height:auto;color:var(--ink)}.preloader-flap{position:absolute;inset:0;filter:drop-shadow(-8px -6px 14px #1414122e)}.preloader-flap>div{position:absolute;inset:0}html[data-preloader] body{overflow:hidden}.section-progress{display:none;position:fixed;top:50%;right:1.25rem;z-index:40;transform:translateY(-50%);--row-h: 16px}@media(min-width:1024px){.section-progress{display:block}}.section-progress ol{display:flex;flex-direction:column;align-items:flex-end}.section-progress a{display:block;height:var(--row-h);padding:5px 0 5px 12px}.section-progress svg{width:14px;height:6px;overflow:visible;transition:width .45s var(--ease-out)}.section-progress [data-state=read] svg{width:18px}.section-progress [data-state=current] svg{width:30px}.section-progress a:hover svg{width:24px}.section-progress [data-state=current]:hover svg{width:30px}.tick path{fill:none;stroke-width:2.25px;stroke-linecap:round;vector-effect:non-scaling-stroke}.tick .tick-base{stroke:color-mix(in srgb,var(--ink) 22%,transparent)}.tick .tick-ink{stroke:var(--ink);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--read, 0))}[data-state=current] .tick .tick-ink{stroke:var(--accent-red)}[data-state=read] .tick .tick-ink{stroke-dashoffset:0}[data-state=ahead] .tick .tick-ink{stroke-dashoffset:1}.section-progress-label{position:absolute;right:calc(100% + 4px);top:calc(var(--row) * var(--row-h) + var(--row-h) / 2);display:flex;align-items:center;height:1.75rem;padding:0 .8rem;border-radius:999px;background:var(--ink);color:var(--paper);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(6px,-50%);transition:opacity .3s,transform .4s var(--ease-out),top .4s var(--ease-out)}.section-progress-label:after{content:"";position:absolute;left:calc(100% - 1px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--ink)}.section-progress[data-show] .section-progress-label{opacity:1;transform:translateY(-50%)}.section-progress-text{display:inline-flex;gap:.5em;animation:hello-in .45s var(--ease-out) both}.section-progress-number{color:var(--accent-red);font-variant-numeric:tabular-nums}.hero{padding-top:8rem;padding-bottom:5rem}@media(min-width:768px){.hero{padding-top:16vh;padding-bottom:7rem}}.hero-top{display:flex;align-items:flex-end;justify-content:space-between}.hero-mascot{width:clamp(84px,9vw,112px);margin-left:-.5rem}@keyframes hello-in{0%{opacity:0;filter:blur(4px);transform:translateY(65%)}}.hello{display:flex;align-items:baseline;gap:.625rem;margin-top:2rem}.hello-clip{position:relative;display:inline-flex;overflow:hidden;padding-bottom:.12em}.hello-word{display:inline-block;font-size:var(--text-hello);font-weight:500;line-height:1;animation:hello-in .55s var(--ease-out) both}.hello-language{font-size:var(--text-xs);color:var(--ink-muted);animation:fade-in .55s both}.hero-bio{margin-top:1.25rem;font-size:1rem;line-height:var(--leading-body);text-wrap:pretty}.hero-bio p+p{margin-top:1em}.hero-bio:not([data-inking]) .hero-word{opacity:.2}.hero-actions{margin-top:2.25rem;display:flex;flex-wrap:wrap;align-items:flex-start;gap:2rem 2.5rem}.hero-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.status{display:flex;align-items:center;gap:.5rem;font-size:var(--text-xs);color:var(--ink-muted)}@keyframes status-pulse{70%,to{box-shadow:0 0 0 7px #0000}}.status-dot{width:7px;height:7px;border-radius:999px;background:var(--accent-red);box-shadow:0 0 color-mix(in srgb,var(--accent-red) 45%,transparent);animation:status-pulse 2.4s ease-out infinite}.doodle{display:inline-block;width:1.35em;height:1.35em;margin-inline:.06em;vertical-align:-.3em}.doodle svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.doodle g{transform-box:fill-box;transform-origin:50% 50%;transition:rotate .6s var(--ease-out),translate .45s var(--ease-out),scale .45s var(--ease-out)}.doodle .accent{fill:color-mix(in srgb,var(--accent-red) 85%,transparent)}.doodle .accent-blue{fill:color-mix(in srgb,var(--accent-blue) 80%,transparent)}.doodle:hover .d-spin{rotate:90deg}.doodle:hover .d-tilt{rotate:-10deg}.doodle:hover .d-beat{animation:d-beat .5s var(--ease-out) infinite alternate}@keyframes d-beat{to{scale:1.18}}.doodle .d-steam{stroke-dasharray:3 3}.doodle:hover .d-steam{animation:steam-rise 1.2s linear infinite}.doodle:hover .d-blink{animation:d-blink .5s step-end infinite}@keyframes d-blink{50%{opacity:0}}.photo-stack{position:relative;aspect-ratio:4 / 5;width:clamp(88px,9vw,112px);cursor:pointer}.photo-print{position:absolute;inset:0;overflow:hidden;border-radius:.375rem;rotate:var(--lean);box-shadow:0 1px 2px #14141214,0 8px 24px -8px #14141240;transition:rotate .6s var(--ease-out),translate .6s var(--ease-out),scale .6s var(--ease-out),opacity .45s}.photo-print img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s}.photo-print[data-place="1"]{translate:-5px 4px;scale:.96}.photo-print[data-place="2"]{translate:4px 7px;scale:.92}.photo-print[data-place="3"]{opacity:0;scale:.9}.photo-stack:hover .photo-print[data-place="0"]{rotate:0deg;scale:1.03}.photo-stack:hover .photo-print[data-place="0"] img{filter:grayscale(0)}.photo-print[data-leaving]{opacity:0;translate:40% -18%;rotate:14deg;transition-duration:.46s;transition-timing-function:var(--ease-leave)}.paper-note{--rule: 24px;position:relative;width:13.5rem;padding:calc(var(--rule) * .5) 1.1rem calc(var(--rule) * .5) 2.4rem;line-height:var(--rule);background:linear-gradient(to right,transparent 1.7rem,var(--note-margin) 1.7rem,var(--note-margin) calc(1.7rem + 1px),transparent calc(1.7rem + 1px)),repeating-linear-gradient(to bottom,transparent 0 calc(var(--rule) - 1px),var(--note-rule) calc(var(--rule) - 1px) var(--rule)),var(--note);box-shadow:0 1px 1px #14141214,0 10px 20px -12px #14141259;transition:rotate .5s var(--ease-out)}.paper-note:hover{rotate:0deg!important}.paper-note>p{min-height:var(--rule);line-height:var(--rule)}.paper-note-pin{position:absolute;top:-13px;right:-6px;width:26px;overflow:visible;scale:-1 1}.note-company{display:flex;align-items:center;gap:.5rem;font-weight:500}.note-logo{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700}.projects{--card-w: min( calc(100vw - 48px) , 1040px, calc((100dvh - 9rem)*1.5) );--rail-gutter: calc((100vw - var(--card-w)) / 2);--stick: max(1rem, calc(50svh - (var(--card-w) * 2 / 3 + 3.5rem) / 2));scroll-margin-top:var(--stick)}.projects:after{content:"";display:block;height:var(--travel, 0px)}.projects-sticky{position:sticky;top:var(--stick)}.projects-rail{display:flex;gap:8px;overflow-x:auto;padding-inline:var(--rail-gutter);overscroll-behavior-x:contain;scrollbar-width:none;user-select:none}.projects-rail::-webkit-scrollbar{display:none}.projects-card{flex:0 0 var(--card-w)}.projects-card:last-child{margin-right:var(--rail-gutter)}.projects-thumb{position:relative;aspect-ratio:3 / 2;overflow:hidden;border-radius:var(--radius-card);background:color-mix(in srgb,var(--ink) 5%,transparent)}.projects-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease-out)}.projects-thumb .slide{opacity:0}.projects-thumb .slide[data-on]{opacity:1}.projects-link:hover .projects-thumb img{scale:1.03}.projects-meta{margin-top:.75rem;padding-left:max(0px,calc((var(--card-w) - var(--column)) / 2));font-size:var(--text-sm)}.projects-meta h3{font-size:inherit;font-weight:500}@media(max-width:767px){.projects{--card-w: min(82vw, calc((100svh - 9rem)*1.5) );--rail-gutter: 20px}.projects-sticky{position:static}.projects-rail{scroll-snap-type:x mandatory;scroll-padding-inline:var(--rail-gutter)}.projects-card{scroll-snap-align:start}.projects-meta{padding-left:0}}.rows{margin-top:2rem}.rows li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 10.5rem;gap:1rem;align-items:baseline;padding:1rem 0;font-size:.9375rem;border-bottom:1px dashed color-mix(in srgb,var(--ink) 16%,transparent)}.rows li:first-child{border-top:1px dashed color-mix(in srgb,var(--ink) 16%,transparent)}.rows .r-strong{font-weight:500}.rows .r-muted{color:var(--ink-muted)}.rows .r-time{color:var(--ink-muted);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.rows.rows--skills li{grid-template-columns:6rem 1fr}@media(max-width:639px){.rows li{grid-template-columns:1fr auto;gap:.15rem 1rem}.rows li .r-muted:not(.r-time){grid-row:2}.rows.rows--skills li{grid-template-columns:1fr}}.dashed-grid{position:relative;margin-top:2rem}.clients-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:640px){.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.clients-cell{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:5 / 4;padding:1rem;text-align:center}.client-logo{max-width:70%;max-height:44px;opacity:.55;filter:grayscale(1);transition:opacity .3s}.client-word{font-weight:650;font-size:1.05rem;letter-spacing:-.03em;line-height:1.1;color:var(--ink);opacity:.42;transition:opacity .3s}.clients-cell:hover .client-logo,.clients-cell:hover .client-word{opacity:1}.clients-cta{grid-column:span var(--span, 1);aspect-ratio:auto;flex-direction:column;align-items:flex-start;justify-content:center;padding-inline:1.5rem;text-align:left;font-size:var(--text-sm)}.clients-cta p{font-weight:500}.dashed-grid-lines{position:absolute;inset:0 auto auto 0;overflow:visible;pointer-events:none}.dashed-grid-lines line{stroke:color-mix(in srgb,var(--ink) 16%,transparent);stroke-width:1px;stroke-dasharray:5 5}.dashed-grid-lines circle{fill:var(--ink-muted);opacity:.7}.kind-stack{position:relative;margin-top:2.5rem;margin-right:.5rem;transition:height .6s cubic-bezier(.25,.8,.25,1)}.kind-note{position:absolute;inset:0;display:flex;flex-direction:column;padding:1.6rem 1.75rem 1.5rem;background:var(--surface);rotate:var(--lean);box-shadow:0 1px 1px #1414120d,0 14px 28px -16px #14141252;transition:rotate .5s var(--ease-out),translate .5s var(--ease-out),opacity .4s}.kind-note>*{transition:opacity .35s .1s}.kind-note[data-place="0"]{position:relative;cursor:pointer}.kind-note[data-place="0"]:hover{rotate:0deg}.kind-note[data-place="1"]{translate:6px 8px}.kind-note[data-place="2"]{translate:-4px 14px}.kind-note[data-place="3"],.kind-note[data-place="1"]>*,.kind-note[data-place="2"]>*{opacity:0}.kind-note[data-leaving]{opacity:0;translate:75% -5%;rotate:10deg;transition-duration:.42s;transition-timing-function:var(--ease-leave)}.kind-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding-right:5.5rem}.kind-quote{margin-top:1rem;font-size:1.0625rem;line-height:1.6;text-wrap:pretty}.kind-quote:before{content:"“"}.kind-quote:after{content:"”"}.kind-from{margin-top:auto;padding-top:1.4rem}.kind-sign{display:block;font-family:var(--font-hand);font-size:1.5rem;line-height:1.1;color:var(--accent-blue)}.kind-prints{position:absolute;top:-1.5rem;right:1.25rem;display:flex}.kind-print{display:block;width:3.6rem;padding:.22rem .22rem .75rem;background:var(--note);rotate:var(--tilt);box-shadow:0 1px 1px #14141214,0 6px 14px -6px #14141259;transition:rotate .4s var(--ease-out)}.kind-print img,.kind-print span{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1) contrast(1.05);display:grid;place-items:center;background:var(--paper-fold);font-weight:600}.kind-note[data-place="0"]:hover .kind-print{rotate:0deg}.dial{position:relative;margin-top:2rem}.dial-print{position:relative;display:block;width:min(100%,30rem);aspect-ratio:1;margin-inline:auto;overflow:hidden;border-radius:var(--radius-media);background:color-mix(in srgb,var(--ink) 5%,transparent)}.dial-print img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s,scale .7s var(--ease-out)}.dial-print img[data-on]{opacity:1}.dial-print:hover img{scale:1.03}.dial-stage{position:relative;height:clamp(150px,32vw,200px);margin-top:1.75rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}.dial-wheel{--d: min(36rem, 120vw);position:absolute;left:50%;top:0;width:var(--d);height:var(--d);margin-left:calc(var(--d) / -2);border-radius:50%;rotate:var(--angle, 0deg);touch-action:none;cursor:grab;outline:none;background:radial-gradient(circle at 50% 50%,transparent 0 27%,#0000002e 27.4%,transparent 28.5%),radial-gradient(circle at 50% 50%,transparent 0 46%,#ffffff40 46.5%,transparent 47.5%,transparent 49%,#0000003d 49.6%,transparent 50%),conic-gradient(from 10deg,var(--brass-2),var(--brass-1),var(--brass-3),var(--brass-1),var(--brass-2),var(--brass-1),var(--brass-3),var(--brass-1),var(--brass-2));box-shadow:inset 0 0 0 3px #00000026,inset 0 10px 30px #ffffff30,0 18px 40px -16px #0000006b}.dial-wheel:active{cursor:grabbing}.dial-wheel:focus-visible{box-shadow:inset 0 0 0 3px var(--accent-blue)}.dial-wheel:after{content:"";position:absolute;inset:29%;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--brass-1),var(--brass-2) 60%,var(--brass-3));box-shadow:inset 0 2px 6px #fff5,inset 0 -6px 18px #0000004d}.dial-hole{position:absolute;left:41.5%;top:41.5%;width:17%;height:17%;z-index:1;transform:rotate(calc(var(--i) * var(--step))) translateY(calc(var(--d) * -.385))}.dial-hole-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#1a1206;box-shadow:inset 0 4px 10px #000000a6,0 0 0 4px var(--brass-3),0 0 0 6px #ffffff2e;transition:box-shadow .3s}.dial-hole-face img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .3s}.dial-hole[data-on] .dial-hole-face img{opacity:1}.dial-hole[data-on] .dial-hole-face{box-shadow:inset 0 4px 10px #00000080,0 0 0 4px var(--brass-1),0 0 0 6px #ffffff59}.dial-pointer{position:absolute;left:50%;top:-2px;width:22px;height:26px;margin-left:-11px;z-index:2;background:linear-gradient(var(--brass-1),var(--brass-3));clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px #0006)}.dial-cta{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:.5rem;text-align:center}.dial-cta p{font-size:var(--text-xs);color:var(--ink-muted)}.contact-sheet{--rule: 32px;position:relative;margin-top:2.5rem;min-height:22rem;padding:3.5rem 1.25rem 2rem 3rem;background:linear-gradient(to right,transparent 2.1rem,var(--note-margin) 2.1rem,var(--note-margin) calc(2.1rem + 1px),transparent calc(2.1rem + 1px)),repeating-linear-gradient(to bottom,transparent 0 calc(var(--rule) - 1px),var(--note-rule) calc(var(--rule) - 1px) var(--rule)),var(--note);background-position:0 0,0 calc(var(--rule) * 1.1),0 0;rotate:.4deg;box-shadow:0 1px 1px #14141214,0 18px 36px -22px #14141273}@media(min-width:768px){.contact-sheet{padding-left:3.25rem;padding-right:2.5rem}}.note-holes{position:absolute;inset:12px 20px auto;display:flex;justify-content:space-between}.note-holes span{width:9px;height:9px;border-radius:999px;background:var(--paper);box-shadow:inset 0 1px 1px #1414122e}.contact-thread{display:flex;flex-direction:column;gap:.9rem}@keyframes bubble-in{0%{opacity:0;translate:0 6px;scale:.85}}.contact-group{display:flex;align-items:flex-end;gap:.6rem}.contact-group--mine{justify-content:flex-end;transform-origin:100% 100%;animation:bubble-in .45s var(--ease-pop) both}.contact-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.contact-line{display:flex;align-items:center;gap:.5rem;transform-origin:0 100%;animation:bubble-in .45s var(--ease-pop) both}.contact-avatar{flex:none;width:2.5rem;height:2.5rem;border-radius:999px;overflow:hidden;background:var(--paper);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}.contact-avatar svg{width:116%;height:116%;margin:-4% 0 0 -8%}.bubble{max-width:26rem;padding:.6rem .95rem;border-radius:18px;background:var(--surface);font-size:.9375rem;line-height:1.4;box-shadow:0 1px 1px #1414120f,0 4px 10px -6px #14141240}.contact-stack>.contact-line:last-child .bubble{border-bottom-left-radius:6px}.bubble--mine{background:var(--ink);color:var(--paper);white-space:pre-line;border-radius:18px 18px 6px}.bubble a.mail{font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);transition:text-decoration-color .2s}.bubble a.mail:hover{text-decoration-color:var(--accent-red)}.icon-button{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--surface);box-shadow:0 1px 1px #1414120f,0 4px 10px -6px #14141240;transition:scale .2s}.icon-button:hover{scale:1.08}.icon-button svg{width:1.05rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button[data-copied]{color:var(--accent-red)}@keyframes typing-dot{0%,60%,to{opacity:.45;translate:0}30%{opacity:1;translate:0 -4px}}.typing{display:inline-flex;gap:.3rem;padding:.85rem 1rem}.typing span{width:6px;height:6px;border-radius:999px;background:var(--ink-muted);animation:typing-dot 1s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.invite{display:grid;gap:.6rem}.invite-card{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.6rem;border-radius:14px;background:var(--paper);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);transition:box-shadow .2s}.invite-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 24%,transparent)}.invite-icon{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:8px;background:#25d366;color:#fff}.invite-icon svg{width:1.4rem;fill:currentColor}.invite-text{flex:1;display:grid;gap:.1rem;min-width:8rem}.invite-title{font-weight:500}.invite-meta{font-size:.8125rem;color:var(--ink-muted)}.invite-button{flex:none;padding:.5rem .9rem;font-size:.8125rem}@media(max-width:479px){.invite-button{width:100%;justify-content:center}}.compose{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;margin-top:1.25rem;transform-origin:100% 0;animation:bubble-in .45s var(--ease-pop) both}.slip{--slip-rule: 1.75rem;position:relative;width:min(100%,22rem);padding:.35rem .9rem .5rem;rotate:1.2deg;perspective:520px;background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--slip-rule) - 1px),var(--note-rule) calc(var(--slip-rule) - 1px) var(--slip-rule)),var(--surface);background-position:0 .35rem;box-shadow:0 1px 1px #14141214,0 8px 18px -10px #14141259;transition:rotate .4s var(--ease-out)}.slip:focus-within{rotate:0deg}.slip textarea,.slip-text{display:block;width:100%;resize:none;outline:0;font-family:var(--font-hand);font-size:1.35rem;line-height:var(--slip-rule);color:var(--ink)}.slip textarea{min-height:calc(var(--slip-rule) * 3)}.slip textarea::placeholder,.slip-from input::placeholder{color:var(--ink-muted);opacity:.7}.slip-from{display:flex;align-items:baseline;gap:.4rem;height:var(--slip-rule);line-height:var(--slip-rule);font-size:.8125rem;color:var(--ink-muted)}.slip-from input{flex:1;min-width:0;outline:0;color:var(--ink)}.send{padding:.55rem .95rem;font-size:.875rem}.send:disabled{opacity:.35;cursor:not-allowed}.send svg{width:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}@keyframes fold-down{to{transform:rotateX(-180deg)}}@keyframes fold-face{50%,to{opacity:0}}@keyframes fold-shadow{60%{opacity:1}to{opacity:.3}}@keyframes slip-to-plane{0%{clip-path:polygon(0 0,100% 0,100% 100%,50% 100%,0 100%)}to{clip-path:polygon(4% 80%,100% 52%,66% 100%,52% 86%,34% 90%);opacity:0;rotate:-12deg;scale:.4}}@keyframes plane-fly{0%{opacity:0;translate:0;rotate:8deg;scale:.45}14%{opacity:1;rotate:0deg;scale:1}32%{translate:-36px 22px;rotate:-4deg}70%{opacity:1;translate:200px -150px;rotate:-18deg;scale:.9}to{opacity:0;translate:460px -360px;rotate:-24deg;scale:.7}}.slip[data-folding]{background:none;box-shadow:none;rotate:0deg;animation:slip-to-plane .25s cubic-bezier(.5,0,.75,0) .55s both}.slip[data-folding]>:not(.fold-half){visibility:hidden}.fold-half{position:absolute;inset-inline:0;height:50%;overflow:hidden}.fold-top{top:0;transform-origin:50% 100%;background:linear-gradient(to top,var(--paper-fold),var(--surface) 70%);animation:fold-down .55s cubic-bezier(.55,0,.35,1) both;box-shadow:0 2px 6px -2px #14141240}.fold-bottom{top:50%;box-shadow:0 1px 1px #14141214}.fold-bottom:after{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(#14141259,#1414120d);animation:fold-shadow .55s ease-in both}.fold-face{position:absolute;inset:0 0 auto;height:200%;padding:.35rem .9rem .5rem;background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--slip-rule) - 1px),var(--note-rule) calc(var(--slip-rule) - 1px) var(--slip-rule)),var(--surface);background-position:0 .35rem}.fold-bottom .fold-face{top:-100%}.fold-top .fold-face{animation:fold-face .55s step-end both}.slip-text{white-space:pre-line;max-height:calc(var(--slip-rule) * 3);overflow:hidden}.plane{position:absolute;right:calc(min(100%,22rem)/2 - 2.5rem);top:30%;width:5rem;opacity:0;pointer-events:none;stroke:var(--ink);stroke-width:1.3px;stroke-linejoin:round;filter:drop-shadow(0 6px 6px #1414122e);animation:plane-fly 1.15s cubic-bezier(.4,0,.6,1) .6s both}.compose[data-phase=folding] .send{opacity:0;transition:opacity .2s}.contact-again{display:block;margin:1rem 0 0 auto;font-size:.8125rem;color:var(--ink-muted)}.contact-list{margin-top:2.5rem}.contact-list>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;font-size:.9375rem;border-bottom:1px dashed color-mix(in srgb,var(--ink) 16%,transparent)}.contact-list dt{color:var(--ink-muted)}.contact-list dd{text-align:right;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 .5rem}.footer-scene{display:block;width:100%;max-width:46rem;height:auto;margin:4rem auto 0;overflow:visible}.footer-scene .plant-leaves{transform-box:fill-box;transform-origin:50% 100%;transition:rotate .6s var(--ease-spring)}.footer-scene .plant:hover .plant-leaves{animation:sway .9s ease-in-out infinite alternate}@keyframes sway{0%{rotate:-6deg}to{rotate:6deg}}@keyframes steam-rise{to{stroke-dashoffset:-40px}}.footer-steam{stroke-dasharray:26 14;animation:steam-rise 1.6s linear infinite}.footer-scene .chai-glass{transform-box:fill-box;transform-origin:50% 100%;transition:rotate .5s var(--ease-spring)}.footer-scene .chai:hover .chai-glass{rotate:-8deg}.footer-meta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:2rem;font-size:var(--text-xs);color:var(--ink-muted)}.mascot{overflow:visible}.archive-hero{position:relative;z-index:2;padding:7rem var(--gutter) 0}@media(min-width:768px){.archive-hero{padding:8rem var(--gutter-md) 0}}.archive-title{position:relative;z-index:3;font-size:var(--text-display);font-weight:600;letter-spacing:-.065em;line-height:.78;margin-left:-.04em;pointer-events:none}.archive-mascot{position:absolute;z-index:2;width:clamp(64px,6vw,92px);right:clamp(1rem,22vw,26rem);top:clamp(4rem,7vw,7.5rem);rotate:10deg}.mosaic{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;padding:0 var(--gutter) 4rem;margin-top:-.08em}@media(min-width:768px){.mosaic{padding-inline:var(--gutter-md)}}.mosaic:after{content:"";flex-grow:1000}.tile{position:relative;flex-grow:calc(var(--ar) * 100);flex-basis:calc(var(--ar) * var(--row, 220px));overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--ink) 5%,transparent)}@media(min-width:768px){.tile{--row: 240px}}@media(min-width:1280px){.tile{--row: 300px}}.tile:before{content:"";display:block;padding-top:calc(100% / var(--ar))}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease-out)}.tile:hover img{scale:1.03}.tile-caption{position:absolute;left:.75rem;bottom:.75rem;padding:.3rem .65rem;border-radius:999px;background:var(--ink);color:var(--paper);font-size:var(--text-xs);opacity:0;translate:0 6px;transition:opacity .3s,translate .4s var(--ease-out)}.tile:hover .tile-caption,.tile:focus-visible .tile-caption{opacity:1;translate:0}html.has-cursor .tile-caption{display:none}.project-page{padding-top:6.5rem;font-size:.90625rem;line-height:1.5rem;letter-spacing:var(--tracking-tight)}@media(min-width:768px){.project-page{padding-top:7rem}}.project-layout{display:grid}.project-column{grid-area:1 / 1;width:min(100%,var(--column));min-width:0;margin-inline:auto}.project-section{scroll-margin-top:6rem}.project-section+.project-section{margin-top:4rem}.project-back{font-size:.8125rem;color:var(--ink-muted)}.project-title{margin-top:1.5rem;font-size:inherit;font-weight:500}.project-summary{margin-top:.25rem;font-size:.9375rem;text-wrap:pretty}.project-details{margin-top:1.5rem}.project-details>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.75rem}.project-details dt{color:var(--ink-muted)}.highlight{background:linear-gradient(var(--highlight),var(--highlight)) 0 50% / 0 100% no-repeat;transition:background-size .8s var(--ease-out) 1.1s}html[data-revealed] .highlight{background-size:100% 100%}.live-link{font-weight:500;background:linear-gradient(var(--accent-red),var(--accent-red)) 0 100% / 0 1.5px no-repeat,linear-gradient(color-mix(in srgb,currentColor 30%,transparent),color-mix(in srgb,currentColor 30%,transparent)) 0 100% / 100% 1px no-repeat;transition:background-size .45s var(--ease-out)}.live-link:hover{background-size:100% 1.5px,100% 1px}.project-cover{position:relative;margin-top:2.5rem;overflow:hidden;border-radius:var(--radius-media);background:color-mix(in srgb,var(--ink) 5%,transparent)}.project-cover img{width:100%;height:auto}.project-body>*+*{margin-top:1rem}.project-h2{font-size:inherit;font-weight:500}.project-figure img{width:100%;height:auto;border-radius:var(--radius-media);background:color-mix(in srgb,var(--ink) 5%,transparent)}.project-figure+.project-figure{margin-top:1rem}.project-figure figcaption{margin-top:.5rem;font-size:.8125rem;line-height:1.25rem;color:var(--ink-muted)}.project-links a{display:flex;align-items:baseline;gap:.75rem;padding:.25rem 0}.project-links a>:first-child{flex:none;width:5.5rem;font-weight:500}.project-links .where{color:var(--ink-muted);transition:color .2s;word-break:break-all}.project-links .arrow{transition:translate .3s var(--ease-out),color .2s}.project-links a:hover .where{color:var(--ink)}.project-links a:hover .arrow{color:var(--accent-red);translate:2px -2px}.project-next{width:min(100%,var(--column));margin:6rem auto 0}.project-next-thumb{position:relative;aspect-ratio:3;margin-top:1rem;overflow:hidden;border-radius:var(--radius-media)}.project-next-thumb img{width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease-out)}.project-next a:hover .project-next-thumb img{scale:1.03}.project-contents{position:sticky;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:30;grid-area:1 / 1;place-self:end center;max-width:100%;font-size:.8125rem;line-height:1.25rem}.project-contents svg{display:block;width:14px;height:6px;overflow:visible}.contents-heading{display:none}.contents-pill{display:flex;align-items:center;gap:.5rem;min-height:2.25rem;max-width:100%;margin-inline:auto;padding:0 .9rem;border-radius:999px;background:var(--ink);color:var(--paper)}.contents-pill .tick-base{stroke:color-mix(in srgb,var(--paper) 25%,transparent)}.contents-current{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-contents ol{display:none;position:absolute;bottom:calc(100% + .5rem);left:50%;translate:-50% 0;width:min(100vw - 2.5rem,19rem);padding:.5rem;border-radius:14px;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.project-contents[data-open] ol{display:block}.project-contents ol a{display:flex;align-items:baseline;gap:.6rem;padding:.35rem .5rem;color:var(--ink-muted);transition:color .2s}.project-contents ol a svg{flex:none;translate:0 -2px}.project-contents ol a:hover,.project-contents ol a[data-state=current]{color:var(--ink)}@media(min-width:1024px){.project-layout{grid-template-columns:1fr min(100%,var(--column)) 1fr}.project-column{grid-column:2;width:100%}.project-contents{grid-area:1 / 1;place-self:start end;position:sticky;top:7rem;bottom:auto;width:12.5rem;margin-right:2.5rem;transition:opacity .3s}.project-contents[data-past]{opacity:0;pointer-events:none}.contents-pill{display:none}.contents-heading{display:block;margin-bottom:.5rem;font-size:.6875rem;color:var(--ink-muted)}.project-contents ol{display:block;position:static;translate:none;width:auto;padding:0;border:0;border-radius:0;background:none}.project-contents ol a{padding:.2rem 0}.project-contents ol a svg{width:8px;transition:width .45s var(--ease-out)}.project-contents ol a span{margin-left:10px;transition:margin-left .45s var(--ease-out)}.project-contents ol a[data-state=read] svg{width:12px}.project-contents ol a[data-state=read] span{margin-left:6px}.project-contents ol a[data-state=current] svg{width:18px}.project-contents ol a[data-state=current] span{margin-left:0}}.not-found{min-height:80vh;display:grid;place-items:center;text-align:center;padding:8rem var(--gutter) 4rem}.not-found h1{font-size:var(--text-display);font-weight:600;letter-spacing:-.065em;line-height:.9}@media(prefers-reduced-motion:reduce){html[data-revealed] .reveal{animation:fade-in .4s both}.hello-word,.hello-language,.status-dot,.section-progress-text,.footer-steam,.typing span,.doodle *{animation:none!important}.photo-print,.paper-note,.kind-note,.kind-note>*,.doodle g,.section-progress svg,.project-contents ol a svg,.projects-thumb img,.tile img{transition:none!important}.contact-line,.contact-group--mine,.compose{animation:none}.highlight{transition:none}}html:not([data-preloader]) .preloader{display:none}
