@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-italic-CTF9u33F.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-italic-BlcgWI5J.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f3eee3;--paper-soft:#fbf7ee;--paper-deep:#eae2d2;--ink:#16130d;--ink-soft:#39342a;--muted:#736b5b;--espresso:#1c1410;--espresso-soft:#2a1d15;--terracotta:#de5a36;--acid:#dcf45f;--peri:#aab3ff;--blue:#e4e7ff;--line:#16130d29;--line-soft:#16130d17;--line-dark:#f3eee32e;--gutter:clamp(18px, 4.2vw, 64px);--max:1480px;--font-display:"Bricolage Grotesque Variable", "Helvetica Neue", Arial, sans-serif;--font-body:"Instrument Sans Variable", "Helvetica Neue", Arial, sans-serif;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:100px;overflow-x:clip}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:clamp(16px,1.05vw,18px);font-weight:400;line-height:1.55;overflow-x:clip}body.is-locked{overflow:hidden}::selection{background:var(--acid);color:var(--ink)}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}em{font-style:italic}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.life :focus-visible{outline-color:var(--paper)}.footer :focus-visible{outline-color:var(--paper)}.contact-dialog :focus-visible{outline-color:var(--paper)}.blog-card :focus-visible{outline-color:var(--paper)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline-start:auto;margin-inline-end:auto}.section{padding-block-start:clamp(76px,11vw,154px);padding-block-end:clamp(76px,11vw,154px);position:relative}.sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1em;height:1em}.eyebrow{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.65em;font-size:11px;font-weight:600;line-height:1.2;display:flex}.eyebrow span{color:var(--muted);font-variant-numeric:tabular-nums}.eyebrow--light span{color:#16130d8c}.statement{font-family:var(--font-display);letter-spacing:-.05em;text-wrap:balance;font-size:clamp(3rem,8.2vw,8.5rem);font-weight:800;line-height:.88}.statement em{font-family:var(--font-serif);letter-spacing:-.022em;font-weight:400}.section-head{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:clamp(34px,5vw,72px);padding-top:14px;display:flex}.section-head__note{max-width:34ch;color:var(--muted);text-align:right;font-size:13px;line-height:1.4}.section-head--dark{border-top-color:var(--line-dark)}.section-head--dark .section-head__note{color:#f3eee399}.section-head--dark .eyebrow span{color:#f3eee373}.skip-link{z-index:10000;background:var(--ink);color:var(--paper);opacity:0;transition:transform .25s var(--ease-out), opacity .2s ease;border-radius:999px;padding:12px 18px;font-size:13px;font-weight:600;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{opacity:1;transform:none}.grain{z-index:9000;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url(https://cdn.aseemsavio.com/personal-site/images/noise.png);background-size:190px 190px;position:fixed;top:0;bottom:0;left:0;right:0}.cursor-dot,.cursor-ring{z-index:9500;pointer-events:none;opacity:0;mix-blend-mode:difference;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:#fff;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{width:38px;height:38px;transition:width .28s var(--ease-out), height .28s var(--ease-out), margin .28s var(--ease-out), background .28s ease;border:1px solid #fff;place-items:center;margin:-19px 0 0 -19px;display:grid}.cursor-label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s ease, transform .25s var(--ease-out);font-size:9px;font-weight:600;transform:scale(.7)}.has-cursor .cursor-dot,.has-cursor .cursor-ring{opacity:1}.has-cursor a,.has-cursor button,.has-cursor [data-drag]{cursor:none}.cursor-ring.is-hover{background:#ffffff1a;width:68px;height:68px;margin:-34px 0 0 -34px}.cursor-ring.is-hover .cursor-label{opacity:1;transform:scale(1)}@media (pointer:coarse),(hover:none){.cursor-dot,.cursor-ring{display:none}}.loader{z-index:9800;background:var(--ink);color:var(--paper);transition:transform .85s var(--ease-in-out), visibility .85s;flex-direction:column;justify-content:space-between;padding:clamp(22px,4vw,48px);display:none;position:fixed;top:0;bottom:0;left:0;right:0}.js .loader{display:flex}.loader.done{visibility:hidden;transform:translateY(-101%)}.loader__top{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.loader__name{font-family:var(--font-serif);font-size:clamp(2rem,5vw,4rem);font-style:italic;line-height:.9}.loader__count{font-family:var(--font-display);color:var(--acid);font-variant-numeric:tabular-nums;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:.8}.loader__bar{background:#f3eee32e;height:1px;position:relative;overflow:hidden}.loader__bar span{background:var(--acid);width:0%;position:absolute;top:0;bottom:0;left:0;right:auto}.loader__note{letter-spacing:.16em;text-transform:uppercase;color:#f3eee38c;font-size:11px}.site-header{z-index:200;border-bottom:1px solid #0000;padding-block-start:18px;padding-block-end:18px;transition:background .35s,border-color .35s,padding .35s;position:fixed;top:0;bottom:auto;left:0;right:0}.site-header.is-scrolled{border-bottom-color:var(--line-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3eee3db;padding-block-start:12px;padding-block-end:12px}.header__inner{width:100%;max-width:var(--max);padding-inline:var(--gutter);justify-content:space-between;align-items:center;gap:20px;margin-inline-start:auto;margin-inline-end:auto;display:flex}.brand{flex:none;align-items:center;gap:9px;display:inline-flex}.brand__mark{width:22px;height:22px;color:var(--terracotta);transition:transform .6s var(--ease-out);place-items:center;display:grid}.brand:hover .brand__mark{transform:rotate(90deg)}.brand__mark img{width:22px;height:22px;image-rendering:pixelated}.brand__text{font-family:var(--font-serif);letter-spacing:-.015em;font-size:27px;font-style:italic;line-height:1}.nav{align-items:center;gap:clamp(16px,2.1vw,32px);display:flex}.nav a{letter-spacing:.01em;padding-block-start:4px;padding-block-end:4px;font-size:13px;font-weight:500;position:relative}.nav a:after{content:"";background:var(--ink);transform-origin:100%;height:1px;transition:transform .35s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.nav a.is-active:after{transform-origin:0;transform:scaleX(1)}.header__actions{align-items:center;gap:clamp(12px,1.6vw,24px);display:flex}.btn{border:1px solid var(--ink);font-family:var(--font-body);white-space:nowrap;transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--ease-out);translate:var(--mx,0) var(--my,0);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 22px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.btn .icon{transition:transform .35s var(--ease-out);font-size:15px}.btn:hover .icon{transform:translate(2px,-2px)}.btn--ink{background:var(--ink);color:var(--paper)}.btn--ink:hover{background:var(--terracotta);border-color:var(--terracotta);color:var(--ink)}.btn--small{padding:11px 16px;font-size:12px}.btn--acid{background:var(--acid);border-color:var(--ink);color:var(--ink)}.btn--acid:hover{background:var(--ink);color:var(--acid)}.link-underline{align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;font-size:14px;font-weight:600;line-height:1.25;display:inline-flex;position:relative}.link-underline:after{content:"";transform-origin:0;height:1px;transition:transform .4s var(--ease-out);background:currentColor;position:absolute;bottom:-3px;left:0;right:0}.link-underline:hover:after{transform:scaleX(.25)}.link-underline .icon{font-size:13px}.link-underline--big{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.15rem,2vw,1.65rem)}.menu-toggle{border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;display:none}.menu-toggle__dot{background:var(--terracotta);width:6px;height:6px;transition:transform .3s var(--ease-out), background .3s ease;border-radius:50%}body.menu-open .menu-toggle__dot{background:var(--ink);transform:scale(1.4)}.mobile-menu{z-index:190;padding:110px var(--gutter) 30px;background:var(--paper);color:var(--ink);visibility:hidden;opacity:0;transition:opacity .35s ease, transform .45s var(--ease-out), visibility .35s;overscroll-behavior:contain;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(-12px)}.mobile-menu.is-open{visibility:visible;opacity:1;transform:none}.mobile-menu__inner{width:100%;max-width:720px;margin-inline-start:auto;margin-inline-end:auto}.mobile-menu__nav{border-top:1px solid var(--line);margin-top:18px;display:grid}.mobile-menu__nav a{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.04em;opacity:0;transition:opacity .5s ease, transform .6s var(--ease-out), color .2s ease;align-items:baseline;gap:14px;padding:14px 0;font-size:clamp(2rem,8.5vw,3.4rem);font-weight:700;line-height:1;display:flex;transform:translateY(18px)}.mobile-menu__nav a span{font-family:var(--font-body);letter-spacing:.12em;color:var(--muted);font-size:10px;font-weight:600}.mobile-menu__nav a:hover{color:var(--terracotta)}.mobile-menu.is-open .mobile-menu__nav a{opacity:1;transform:none}.mobile-menu.is-open .mobile-menu__nav a:first-child{transition-delay:80ms}.mobile-menu.is-open .mobile-menu__nav a:nth-child(2){transition-delay:.13s}.mobile-menu.is-open .mobile-menu__nav a:nth-child(3){transition-delay:.18s}.mobile-menu.is-open .mobile-menu__nav a:nth-child(4){transition-delay:.23s}.mobile-menu.is-open .mobile-menu__nav a:nth-child(5){transition-delay:.28s}.mobile-menu.is-open .mobile-menu__nav a:nth-child(6){transition-delay:.33s}.mobile-menu__foot{flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px;display:flex}.mobile-menu__socials{letter-spacing:.04em;flex-wrap:wrap;gap:18px;font-size:12px;font-weight:600;display:flex}.mobile-menu__socials a{position:relative}.mobile-menu__socials a:after{content:"";transform-origin:0;height:1px;transition:transform .3s var(--ease-out);background:currentColor;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.mobile-menu__socials a:hover:after{transform:scaleX(1)}.mobile-menu__note{color:var(--muted);letter-spacing:.04em;margin-left:auto;font-size:11px}.hero{min-height:100svh;padding-top:clamp(100px,12vh,150px);position:relative;overflow:clip}.hero__wrap{flex-direction:column;justify-content:flex-end;gap:28px;min-height:calc(100svh - clamp(100px,12vh,150px));padding-bottom:clamp(32px,5vh,64px);display:flex}.hero__ghost{z-index:0;font-family:var(--font-serif);color:var(--ink);opacity:.035;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(28rem,56vw,54rem);font-style:italic;line-height:.7;position:absolute;top:12%;right:-6vw}.hero__title{z-index:2;font-family:var(--font-display);letter-spacing:-.06em;text-wrap:none;margin-top:clamp(4px,1.5vh,18px);font-size:clamp(3.6rem,min(9.4vw,13.4vh),9.8rem);font-weight:800;line-height:.82;position:relative}.hero__title .line{padding-block-start:.02em;padding-block-end:.02em;display:block;overflow:hidden}.hero__title .line--serif{padding-bottom:.06em;position:relative;overflow:visible}.hero__title em{font-family:var(--font-serif);letter-spacing:-.025em;padding-right:.07em;font-weight:400}.hero__title .serif-wrap{max-width:100%;display:inline-block;position:relative}.hero__title .line__in{will-change:transform;display:block}.scribble{width:102%;height:auto;color:var(--terracotta);opacity:.92;pointer-events:none;position:absolute;bottom:-.21em;left:-.01em;overflow:visible}.hero__bottom{z-index:3;grid-template-columns:minmax(0,1fr) minmax(200px,.44fr);align-items:end;gap:clamp(20px,4vw,64px);display:grid;position:relative}.hero__copy{max-width:580px;padding-bottom:4px}.hero__lede{max-width:44ch;color:var(--ink-soft);letter-spacing:-.012em;text-wrap:pretty;font-size:clamp(1.02rem,1.4vw,1.3rem);line-height:1.45}.hero__stickers{align-items:center;gap:18px;margin-top:clamp(18px,2.8vh,32px);display:flex}.badge{background:var(--acid);border:1.5px solid var(--ink);width:94px;height:94px;color:var(--ink);box-shadow:4px 5px 0 var(--ink);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;gap:8px;line-height:.9;display:flex;transform:rotate(-7deg)}.badge__big{letter-spacing:-.06em;font-size:2.1rem;font-weight:800}.badge__small{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;font-weight:600;line-height:1.15}.sticker{border:1.5px solid var(--ink);background:var(--paper-soft);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:10px;font-weight:600;line-height:1.25;display:inline-flex;transform:rotate(3deg);box-shadow:3px 3px #16130dd9}.sticker .icon{font-size:24px}.hero__polaroid{z-index:1;background:var(--paper-soft);justify-self:end;width:clamp(188px,18vw,280px);padding:10px 10px 36px;position:relative;rotate:3.2deg;box-shadow:0 18px 44px #16130d2e}.hero__polaroid img{aspect-ratio:4/5;object-fit:cover;width:100%}.hero__polaroid figcaption{color:var(--ink-soft);font-family:var(--font-serif);justify-content:space-between;gap:8px;padding-top:10px;font-size:15px;font-style:italic;line-height:1.15;display:flex}.tape{z-index:2;pointer-events:none;background:#dcf45fc7;border-left:1px dashed #16130d2e;border-right:1px dashed #16130d2e;width:78px;height:22px;display:block;position:absolute}.tape--top{top:-10px;left:50%;translate:-50%;rotate:-3deg}.tape--corner{background:#de5a368c;top:-9px;left:-16px;rotate:-43deg}.js .hero__title .line__in{transform:translateY(112%)}.js .hero .reveal{opacity:0;transform:translateY(22px)}.js.ready .hero__title .line__in{transition:transform 1.05s var(--ease-out);transform:none}.js.ready .hero__title .line:first-child .line__in{transition-delay:50ms}.js.ready .hero__title .line:nth-child(2) .line__in{transition-delay:.13s}.js.ready .hero__title .line:nth-child(3) .line__in{transition-delay:.21s}.js.ready .hero .reveal{opacity:1;transition:opacity .8s ease, transform .9s var(--ease-out);transform:none}.js.ready .hero__copy{transition-delay:.55s}.js.ready .hero__polaroid{transition-delay:.65s;rotate:3.2deg}.hero__polaroid.reveal{opacity:0}.js.ready .hero__polaroid.reveal{opacity:1}.ticker{z-index:4;background:var(--acid);border-block:1.5px solid var(--ink);width:100%;padding:13px 0;position:relative;overflow:hidden;rotate:-1.2deg}.ticker__track{will-change:transform;width:max-content;animation:46s linear infinite marquee;display:flex}.ticker:hover .ticker__track{animation-play-state:paused}.ticker__group{font-family:var(--font-display);letter-spacing:-.015em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:26px;padding-right:26px;font-size:clamp(16px,1.7vw,24px);font-weight:700;display:flex}.ticker__group .icon{width:12px;height:12px;color:var(--ink)}.js .reveal{opacity:0;transition:opacity .8s ease, transform .95s var(--ease-out);transform:translateY(30px)}.js .reveal.in{opacity:1;transform:none}.js .stats .reveal:nth-child(2),.js .capabilities .reveal:nth-child(2),.js .hobbies .reveal:nth-child(2),.js .projects .reveal:nth-child(2){transition-delay:80ms}.js .stats .reveal:nth-child(3),.js .capabilities .reveal:nth-child(3),.js .hobbies .reveal:nth-child(3),.js .projects .reveal:nth-child(3){transition-delay:.16s}.js .stats .reveal:nth-child(4),.js .hobbies .reveal:nth-child(4),.js .projects .reveal:nth-child(4){transition-delay:.24s}.js .hobbies .reveal:nth-child(5),.js .projects .reveal:nth-child(5){transition-delay:.32s}.js .hobbies .reveal:nth-child(6),.js .projects .reveal:nth-child(6){transition-delay:.4s}.js .hobbies .reveal:nth-child(7){transition-delay:.48s}.js .hobbies .reveal:nth-child(8){transition-delay:.56s}.about{padding-top:clamp(90px,12vw,160px)}.about .statement{max-width:12ch;margin-bottom:clamp(42px,6vw,86px)}.about .statement em{color:var(--terracotta)}.about__grid{grid-template-columns:minmax(260px,.5fr) minmax(0,1.2fr);align-items:start;gap:clamp(36px,7vw,110px);display:grid}.about__lede{max-width:27ch;font-family:var(--font-display);letter-spacing:-.035em;text-wrap:pretty;font-size:clamp(1.5rem,2.7vw,2.5rem);font-weight:500;line-height:1.12}.about__cols{max-width:900px;color:var(--ink-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,42px);margin-top:clamp(26px,4vw,48px);font-size:clamp(15px,1.16vw,17.5px);line-height:1.6;display:grid}.about__cols p{max-width:46ch}.signature{font-family:var(--font-serif);color:var(--terracotta);margin-top:clamp(24px,3vw,40px);font-size:clamp(2rem,3.5vw,3rem);font-style:italic;line-height:1;rotate:-3deg}.about__photo{background:var(--paper-soft);order:-1;justify-self:start;width:100%;max-width:380px;padding:11px 11px 42px;position:relative;rotate:2deg;box-shadow:0 18px 40px #16130d24}.about__photo img{aspect-ratio:3/4;object-fit:cover;width:100%}.about__photo-tag{border:1.5px solid var(--ink);background:var(--terracotta);color:var(--paper);letter-spacing:.08em;text-transform:uppercase;box-shadow:2px 2px 0 var(--ink);border-radius:999px;padding:8px 12px;font-size:9px;font-weight:600;position:absolute;bottom:26px;right:-22px;rotate:-4deg}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(50px,7vw,100px);display:grid}.stat{grid-row:span 2;grid-template-rows:subgrid;border-right:1px solid var(--line);row-gap:0;padding:clamp(20px,2.8vw,34px) clamp(10px,2vw,28px) 6px;display:grid}.stat:first-child{padding-left:0}@supports not (grid-template-rows:subgrid){.stat dt{min-height:2.6em}}.stat:last-child{border-right:0}.stat dt{max-width:20ch;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.3}.stat dd{font-family:var(--font-display);letter-spacing:-.06em;align-items:baseline;gap:3px;margin-top:7px;font-size:clamp(2.8rem,5vw,4.8rem);font-weight:800;line-height:.9;display:flex}.stat__plus{color:var(--terracotta);font-family:var(--font-serif);letter-spacing:0;font-size:.55em;font-style:italic;font-weight:400}.work{background:var(--paper-deep)}.work__intro{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:end;gap:clamp(30px,6vw,90px);margin-bottom:clamp(42px,6vw,80px);display:grid}.work__lede{max-width:36ch;color:var(--ink-soft);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55}.work__grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);align-items:start;gap:clamp(30px,4.5vw,70px);display:grid}.diagram{background:var(--espresso);color:var(--paper);border-radius:28px;padding:16px;position:sticky;top:100px;box-shadow:0 24px 60px #16130d2e}.diagram__svg{width:100%;height:auto;color:var(--paper);background:#19110d;border-radius:14px}.node rect,.node .node__shape{fill:#f3eee309;stroke:#f3eee34d;stroke-width:1px;transition:stroke .3s,fill .3s}.node:hover rect,.node:hover .node__shape{stroke:var(--acid);fill:#dcf45f0f}.node--hot rect{fill:#dcf45f12;stroke:var(--acid)}.node--worker rect{fill:#aab3ff0e;stroke:#aab3ff80}.node--worker .node__label{fill:#cfd4ff}.node--dlq rect{fill:#de5a360e;stroke:#de5a368c}.node--dlq .node__sub{fill:#f0967ec7}.node--serving rect{fill:#86efac0e;stroke:#86efac80}.node--serving .node__label{fill:#b9f7c9}.node__pulse{fill:#86efac;filter:drop-shadow(0 0 4px #86efaccc);animation:2.4s ease-in-out infinite nodePulse}.node__label{fill:var(--paper);font-family:var(--font-body);letter-spacing:.03em;font-size:11.5px;font-weight:600}.node__sub{fill:#f3eee37a;font-family:var(--font-body);letter-spacing:.02em;font-size:8.5px}.node__dots{fill:#f3eee361;font-family:var(--font-body);letter-spacing:.08em;font-size:11.5px;font-weight:600}.wire{fill:none;stroke:#f3eee357;stroke-width:1.2px;stroke-dasharray:5 7;animation:16s linear infinite dash}.wire--dashed{stroke:#f3eee333}.packet{fill:var(--terracotta);filter:drop-shadow(0 0 5px #de5a36cc)}.packet--acid{fill:var(--acid);filter:drop-shadow(0 0 5px #dcf45fb3)}.capabilities{display:grid}.capability{border-top:1px solid var(--line);transition:padding-left .4s var(--ease-out);padding:clamp(22px,3vw,34px) 0}.capability:last-child{border-bottom:1px solid var(--line)}.capability:hover{padding-left:10px}.capability__top{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;gap:20px;font-size:9.5px;font-weight:600;display:flex}.capability h3{max-width:20ch;font-family:var(--font-display);letter-spacing:-.035em;margin-top:14px;font-size:clamp(1.35rem,2.1vw,1.95rem);font-weight:600;line-height:1.04;transition:color .3s}.capability:hover h3{color:var(--terracotta)}.capability p{max-width:36ch;color:var(--ink-soft);margin-top:10px;font-size:14px;line-height:1.5}.work__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(40px,6vw,78px);padding-top:22px;display:flex}.work__foot>p{color:var(--muted);font-size:13px}.life{background:var(--espresso);color:var(--paper);overflow:clip}.life .statement em{color:var(--acid)}.life__intro{grid-template-columns:minmax(0,1fr) minmax(280px,.44fr);align-items:end;gap:clamp(30px,6vw,90px);display:grid}.life__lede{color:#f3eee3a8;max-width:38ch;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55}.pile-wrap{margin-top:clamp(42px,6vw,76px);position:relative}.pile{-webkit-user-select:none;user-select:none;height:clamp(1100px,108vw,1550px);position:relative}.polaroid{left:var(--x);top:var(--y);width:var(--w);background:var(--paper-soft);color:var(--ink);transform:translate(var(--dx,0px), var(--dy,0px)) rotate(var(--r));cursor:grab;touch-action:none;z-index:1;padding:9px 9px 24px;transition:box-shadow .3s;position:absolute;box-shadow:0 20px 50px #00000059}.polaroid:hover{box-shadow:0 26px 60px #00000073}.polaroid.is-dragging{cursor:grabbing;z-index:10;box-shadow:0 34px 70px #00000080}.polaroid img{aspect-ratio:4/5;object-fit:cover;pointer-events:none;width:100%;transition:opacity .45s}.polaroid img.is-loading{opacity:0}.polaroid:nth-child(3) img{aspect-ratio:4/3}.polaroid figcaption{color:var(--ink-soft);font-family:var(--font-serif);text-align:center;padding-top:9px;font-size:14px;font-style:italic;line-height:1.1}.polaroid__date{color:var(--muted);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin-top:3px;font-size:7.5px;font-style:normal;font-weight:600;display:block}.pile__drag{z-index:20;color:#f3eee3b3;font-family:var(--font-serif);align-items:center;gap:10px;font-size:18px;font-style:italic;display:flex;position:absolute;bottom:14px;right:2%;rotate:-4deg}.pile__drag-ring{width:56px;height:56px;color:var(--acid);border:1px solid #f3eee380;border-radius:50%;place-items:center;display:grid}.pile__drag-ring .icon{width:20px;rotate:10deg}.js .pile .polaroid{opacity:0}.js .pile.is-revealed .polaroid{opacity:1;animation:polaroidDrop .9s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 45ms)}@keyframes polaroidDrop{0%{opacity:0;translate:0 -120px}to{opacity:1;translate:0}}.hobbies{border-top:1px solid var(--line-dark);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);margin-top:clamp(40px,6vw,70px);display:grid}.hobby{border-bottom:1px solid var(--line-dark);align-items:flex-start;gap:15px;padding:20px 0;display:flex}.hobby__icon{border:1px solid var(--line-dark);width:46px;height:46px;color:var(--acid);transition:background .3s ease, color .3s ease, rotate .4s var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.hobby__icon .icon{width:24px;height:24px}.hobby:hover .hobby__icon{background:var(--acid);color:var(--ink);rotate:-8deg}.hobby h3{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.2rem,1.7vw,1.5rem);font-weight:600;line-height:1.05}.hobby p{color:#f3eee394;max-width:34ch;margin-top:5px;font-size:13.5px;line-height:1.45}.now__intro{grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);align-items:end;gap:clamp(30px,6vw,90px);margin-bottom:clamp(42px,6vw,74px);display:grid}.now__lede{max-width:36ch;color:var(--ink-soft);font-size:clamp(1rem,1.22vw,1.16rem);line-height:1.55}.now__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);display:grid}.now-card{border:1px solid var(--line);background:var(--paper-soft);transition:transform .4s var(--ease-out), box-shadow .4s ease;border-radius:22px;padding:clamp(20px,2.6vw,32px);position:relative;overflow:hidden}.now-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #16130d12}.now-card__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(22px,3vw,36px);display:flex}.now-card__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.now-card__live{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:9px;font-weight:600;display:inline-flex}.now-card__live i{background:#2e9e57;border-radius:50%;width:6px;height:6px}.now-card__icon{width:34px;height:34px;color:var(--ink);stroke-width:1.4px}.now-card--reading{background:var(--paper-deep);grid-column:span 7}.books{align-items:flex-end;gap:clamp(14px,2vw,26px);display:flex}.book{aspect-ratio:2/3;width:clamp(112px,14vw,162px);transition:transform .4s var(--ease-out), box-shadow .4s ease;border:1px solid #16130d38;border-radius:3px 7px 7px 3px;flex-direction:column;flex:none;padding:12px;display:flex;position:relative;box-shadow:4px 6px #16130d24}.book:hover{box-shadow:6px 12px #16130d29;transform:translateY(-8px)rotate(0)!important}.book--tone-1{color:#f0e7ce;background:#4b5135;rotate:-4deg}.book--tone-2{color:#1b1b1b;background:#f0b49b;rotate:2.5deg}.book--tone-3{background:var(--peri);color:var(--ink);rotate:-2deg}.book--tone-1:after{content:"";aspect-ratio:1;background:var(--terracotta);opacity:.9;border-radius:50%;width:34%;position:absolute;top:23%;right:12%}.book--tone-2:after{content:"";opacity:.5;background:repeating-linear-gradient(90deg,#141414d9 0 5px,#0000 5px 13px);position:absolute;top:54%;bottom:16%;left:0;right:0}.book__top{letter-spacing:.12em;text-transform:uppercase;opacity:.65;font-size:7px;font-weight:600}.book__title{z-index:1;font-family:var(--font-serif);letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:auto;font-size:clamp(1.25rem,1.9vw,1.7rem);line-height:.95;position:relative}.book__title--long{letter-spacing:-.04em;font-weight:700;line-height:1.02;font-family:var(--font-display)!important;font-size:clamp(.82rem,1.18vw,1.02rem)!important}.book__author{z-index:1;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-top:9px;font-size:7.5px;font-weight:600;position:relative}.books__notes{color:var(--ink-soft);gap:10px;padding-bottom:4px;font-size:12.5px;line-height:1.4;display:grid}.books__empty{max-width:28ch;color:var(--ink-soft);font-size:13px;line-height:1.5}[data-parallax]{translate:0 var(--parallax,0px)}.books__notes strong{font-weight:600}.now-card--brew{background:#f0e2d3;grid-column:span 5}.now-card--play{background:var(--blue);grid-column:span 5}.now-card--listen{background:var(--paper-soft);grid-column:span 7}.now-card h3{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.35rem,2.2vw,1.95rem);font-weight:600;line-height:1.02}.now-card>p{max-width:30ch;color:var(--ink-soft);margin-top:10px;font-size:13.5px;line-height:1.5}.coffee-ring{pointer-events:none;border:13px solid #de5a362e;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-34px;right:-26px;rotate:14deg}.pixel-dots{background-image:radial-gradient(var(--terracotta) 1.6px, transparent 1.8px);opacity:.65;pointer-events:none;background-size:11px 11px;width:66px;height:58px;position:absolute;bottom:16px;right:18px}.listen__body{align-items:center;gap:clamp(20px,3vw,38px);display:flex}.record{aspect-ratio:1;flex:none;width:clamp(116px,13vw,158px);position:relative}.record__disc{background:repeating-radial-gradient(circle,#1a1512 0 2px,#241c17 2px 4px);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 10px 24px #16130d3d,inset 0 0 0 1px #ffffff14}.record__disc:after{content:"";border:1px solid #ffffff14;border-radius:50%;position:absolute;top:7%;bottom:7%;left:7%;right:7%}.record__label{aspect-ratio:1;background:var(--terracotta);width:34%;color:var(--paper);font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:clamp(.8rem,1.2vw,1rem);font-style:italic;display:grid}.record__arm{background:var(--ink-soft);transform-origin:top;width:2px;height:55%;position:absolute;top:2%;right:0;rotate:22deg}.record__arm:before{content:"";background:var(--ink);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-4px}.record__arm:after{content:"";background:var(--ink);border-radius:3px;width:12px;height:16px;position:absolute;bottom:-3px;left:-5px}.now-card--listen:hover .record__disc{animation:5s linear infinite spin}.listen__copy h3{font-size:clamp(1.4rem,2.1vw,1.9rem)}.listen__copy p{max-width:32ch;color:var(--ink-soft);margin:9px 0 14px;font-size:13px;line-height:1.5}.now-card--build{background:var(--espresso);color:var(--paper);grid-column:span 12;justify-content:space-between;align-items:center;gap:30px;display:flex}.now-card--build .now-card__kicker{color:#f3eee380}.now-card--build h3{max-width:22ch;color:var(--paper);margin-top:12px;font-size:clamp(1.4rem,2.4vw,2rem)}.now-card--build p{color:#f3eee39e;max-width:48ch;margin-top:8px;font-size:13.5px;line-height:1.5}.mini-cluster{flex:none;grid-template-columns:repeat(3,auto);gap:10px;padding:26px 22px;display:grid;position:relative}.mini-cluster__line{background:#dcf45f66;height:1px;position:absolute;top:50%;left:32px;right:32px}.mini-cluster__node{z-index:1;background:var(--espresso);letter-spacing:.08em;text-transform:uppercase;color:#f3eee3cc;border:1px solid #f3eee34d;border-radius:7px;padding:9px 10px;font-size:8px;font-weight:600;position:relative}.mini-cluster__status{background:var(--acid);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:8px;font-weight:700;display:inline-flex;position:absolute;bottom:-8px;left:50%;translate:-50%}.mini-cluster__status i{background:#2e9e57;border-radius:50%;width:5px;height:5px}.writing{background:var(--paper-deep)}.writing__intro{grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);align-items:end;gap:clamp(30px,6vw,90px);margin-bottom:clamp(42px,6vw,74px);display:grid}.writing__lede{max-width:36ch;color:var(--ink-soft);font-size:clamp(1rem,1.22vw,1.16rem);line-height:1.55}.writing__grid{grid-template-rows:auto auto;grid-template-columns:minmax(0,1.28fr) minmax(280px,.55fr);gap:clamp(14px,1.6vw,22px);display:grid}.blog-card{border:1px solid var(--ink);background:var(--espresso);min-height:540px;color:var(--paper);border-radius:24px;flex-direction:column;grid-row:1/span 2;padding:clamp(24px,3vw,40px);transition:background .4s,color .4s;display:flex}.blog-card:hover{background:var(--acid);color:var(--ink)}.blog-card__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.blog-card__label{letter-spacing:.14em;text-transform:uppercase;opacity:.6;font-size:10px;font-weight:600}.blog-card__url{letter-spacing:.02em;align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.blog-card h3{font-family:var(--font-display);letter-spacing:-.05em;margin-top:clamp(32px,5vw,64px);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:.92}.blog-card h3 em{font-family:var(--font-serif);font-weight:400}.post-list{border-top:1px solid;margin-top:clamp(28px,4vw,48px)}.post-list li{border-bottom:1px solid;border-bottom-color:color-mix(in srgb, currentColor 26%, transparent)}.blog-card:hover .post-list li{border-bottom-color:#16130d40}.post-list a{transition:padding-left .35s var(--ease-out);grid-template-columns:94px minmax(0,1fr);gap:16px;padding:13px 0;display:grid}.post-list a:hover{padding-left:8px}.post-list__date{letter-spacing:.08em;text-transform:uppercase;opacity:.55;padding-top:3px;font-size:9.5px;font-weight:600}.post-list__title{max-width:48ch;font-size:clamp(13px,1.15vw,15.5px);line-height:1.35}.blog-card__cta{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin-top:auto;padding-top:30px;font-size:12px;font-weight:600;display:inline-flex}.blog-card__cta .icon{transition:transform .35s var(--ease-out)}.blog-card:hover .blog-card__cta .icon{transform:translate(5px)}.photo-card{isolation:isolate;background:var(--terracotta);min-height:260px;color:var(--paper);border-radius:24px;display:block;position:relative;overflow:hidden}.photo-card__icon{opacity:.2;width:84px;height:84px;color:var(--paper);stroke-width:1.4px;position:absolute;top:18px;right:18px}.photo-card__copy{color:var(--paper);padding:clamp(18px,2.4vw,28px);position:absolute;top:auto;bottom:0;left:0;right:0}.photo-card__label{letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-size:9px;font-weight:600}.photo-card h3{font-family:var(--font-display);letter-spacing:-.04em;margin-top:6px;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:600;line-height:1}.photo-card__link{border-bottom:1px solid #f3eee366;align-items:center;gap:4px;margin-top:12px;padding-bottom:2px;font-size:11px;font-weight:600;display:inline-flex}.recipes-card{background:var(--peri);color:var(--ink);border-radius:24px;padding:clamp(20px,2.6vw,30px);position:relative;overflow:hidden}.recipes-card__label{letter-spacing:.14em;text-transform:uppercase;opacity:.55;font-size:9px;font-weight:600}.recipes-card__icon{opacity:.24;width:84px;height:84px;color:var(--ink);stroke-width:1.4px;position:absolute;top:18px;right:18px}.recipes-card h3{font-family:var(--font-display);letter-spacing:-.045em;margin-top:clamp(26px,4vw,44px);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:600;line-height:.95;position:relative}.recipes-card h3 em{font-family:var(--font-serif);font-weight:400}.recipes-card p{opacity:.78;max-width:30ch;margin-top:10px;font-size:12.5px;line-height:1.45;position:relative}.oss__intro{grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);align-items:end;gap:clamp(30px,6vw,90px);margin-bottom:clamp(42px,6vw,74px);display:grid}.oss__lede{max-width:36ch;color:var(--ink-soft);font-size:clamp(1rem,1.22vw,1.16rem);line-height:1.55}.projects{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);transition:background .35s ease, color .35s ease, padding-left .4s var(--ease-out);grid-template-columns:42px minmax(0,1fr) auto 34px;align-items:center;gap:clamp(12px,2vw,28px);padding:clamp(20px,2.6vw,30px) clamp(10px,1.4vw,20px);display:grid}.project:hover{background:var(--ink);color:var(--paper);padding-left:clamp(18px,2.4vw,32px)}.project__num{color:var(--muted);letter-spacing:.06em;align-self:start;padding-top:5px;font-size:10px;font-weight:600;transition:color .3s}.project:hover .project__num{color:var(--acid)}.project__main h3{font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(1.5rem,2.6vw,2.3rem);font-weight:600;line-height:1}.project__main p{max-width:68ch;color:var(--muted);margin-top:7px;font-size:13.5px;line-height:1.45;transition:color .3s}.project:hover .project__main p{color:#f3eee39e}.project__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.project__meta span{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:8.5px;font-weight:600;transition:border-color .3s,color .3s}.project:hover .project__meta span{color:#f3eee3b3;border-color:#f3eee338}.project__arrow{border:1px solid var(--line);width:34px;height:34px;transition:background .3s ease, color .3s ease, border-color .3s ease, transform .4s var(--ease-out);border-radius:50%;justify-self:end;place-items:center;display:grid}.project__arrow .icon{width:15px}.project:hover .project__arrow{background:var(--acid);border-color:var(--acid);color:var(--ink);transform:rotate(45deg)}.oss__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;display:flex}.oss__foot p{color:var(--muted);font-size:13px}.answers{background:var(--paper-soft);border-block:1px solid var(--line-soft)}.answers__grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(34px,6vw,90px);display:grid}.answers__intro{position:sticky;top:120px}.answers__lede{max-width:38ch;color:var(--muted);margin-top:22px;font-size:clamp(15px,1.15vw,17px);line-height:1.55}.answers__meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:22px;font-size:11px;font-weight:600}.answers__meta a{border-bottom:1px solid var(--line);transition:border-color .3s}.answers__meta a:hover{border-color:var(--ink)}.faq{border-top:1px solid var(--line)}.faq__item{border-bottom:1px solid var(--line)}.faq__item summary{cursor:pointer;font-family:var(--font-display);letter-spacing:-.02em;justify-content:space-between;align-items:baseline;gap:18px;padding:clamp(16px,2.2vw,24px) 0;font-size:clamp(1.05rem,1.55vw,1.35rem);font-weight:600;line-height:1.2;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";font-family:var(--font-serif);transition:transform .35s var(--ease-out);flex:none;font-size:1.5em;line-height:.7}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__item p{max-width:62ch;color:var(--muted);padding:0 clamp(30px,4vw,64px) clamp(18px,2.2vw,26px) 0;font-size:clamp(14px,1.05vw,16px);line-height:1.6}.contact{background:var(--terracotta);color:var(--ink);position:relative;overflow:clip}.contact__wrap{position:relative}.contact__main{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:end;gap:clamp(34px,6vw,90px);margin-top:clamp(30px,5vw,64px);display:grid}.contact__title{font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(3.6rem,10.5vw,11rem);font-weight:800;line-height:.82}.contact__title em{font-family:var(--font-serif);letter-spacing:-.02em;font-weight:400}.contact__side{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:6px;display:flex}.contact__side>p{max-width:34ch;font-size:clamp(15px,1.2vw,17px);line-height:1.5}.contact__button{border:1.5px solid var(--ink);background:var(--ink);width:clamp(170px,17vw,224px);height:clamp(170px,17vw,224px);color:var(--paper);font-family:var(--font-display);letter-spacing:-.03em;text-align:left;transition:background .35s ease, color .35s ease, transform .4s var(--ease-out);translate:var(--mx,0) var(--my,0);border-radius:50%;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:22px;font-size:clamp(1.05rem,1.45vw,1.3rem);font-weight:600;line-height:1.05;display:flex}.contact__button .icon{width:24px;height:24px;transition:transform .4s var(--ease-out);align-self:flex-end}.contact__button:hover{background:var(--acid);color:var(--ink);transform:rotate(-4deg)}.contact__button:hover .icon{transform:rotate(45deg)}.contact__note{color:#16130d9e;letter-spacing:.03em;font-size:11px;font-weight:500}.roundel{aspect-ratio:1;width:clamp(120px,13vw,160px);color:var(--ink);pointer-events:none;place-items:center;display:grid;position:absolute;bottom:-10px;right:clamp(8px,2.2vw,32px)}.roundel svg{width:100%;height:100%;animation:28s linear infinite spin}.roundel text{fill:currentColor;font-family:var(--font-body);letter-spacing:.19em;text-transform:uppercase;font-size:9.5px;font-weight:600}.roundel__dot{background:var(--acid);border:1.5px solid var(--ink);border-radius:50%;width:10px;height:10px;position:absolute}.contact__socials{border-top:1.5px solid #16130d52;flex-wrap:wrap;gap:8px 10px;margin-top:clamp(54px,8vw,110px);padding-top:24px;display:flex}.contact__socials a{letter-spacing:.02em;border:1px solid #16130d61;border-radius:999px;align-items:center;gap:8px;padding:10px 15px;font-size:12px;font-weight:600;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.contact__socials a .icon{width:11px;height:11px}.contact__socials a:hover{background:var(--ink);border-color:var(--ink);color:var(--acid)}.footer{background:var(--ink);color:var(--paper);padding-top:clamp(46px,6vw,72px);overflow:clip}.footer__top{grid-template-columns:minmax(220px,.5fr) minmax(0,1fr) auto;align-items:start;gap:30px;padding-bottom:clamp(34px,5vw,58px);display:grid}.footer__brand{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(2.2rem,4.2vw,3.8rem);font-style:italic;line-height:.9}.footer__note{color:#f3eee38c;max-width:40ch;font-size:13px;line-height:1.5}.footer__top-link{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid #f3eee347;border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font-size:10px;font-weight:600;transition:background .3s,color .3s;display:inline-flex}.footer__top-link:hover{background:var(--acid);color:var(--ink)}.footer__marquee{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);width:max-content;font-family:var(--font-display);letter-spacing:-.06em;white-space:nowrap;color:var(--paper);will-change:transform;align-items:center;gap:3vw;margin-left:-1vw;padding-block-start:8px;padding-block-end:18px;font-size:clamp(4rem,13.5vw,13rem);font-weight:800;line-height:.82;animation:34s linear infinite marquee;display:flex}.footer__marquee .icon{width:.33em;height:.33em;color:var(--terracotta);flex:none}.footer__bottom{color:#f3eee36b;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block-start:22px;padding-block-end:26px;font-size:10px;font-weight:500;display:flex}.footer__heart{color:var(--terracotta)}.contact-dialog{background:var(--paper);width:min(940px,100vw - 28px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:24px;padding:0;overflow:hidden;box-shadow:0 40px 120px #0006}.contact-dialog[open]{animation:dialogIn .4s var(--ease-out);display:flex}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14100c9e}.contact-dialog__inner{flex-direction:column;width:100%;max-height:calc(100dvh - 32px);padding:clamp(20px,3vw,30px);display:flex}.contact-dialog__head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.contact-dialog__head .eyebrow{color:var(--muted)}.contact-dialog__head h2{font-family:var(--font-display);letter-spacing:-.045em;margin-top:10px;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:700;line-height:1}.contact-dialog__close{border:1px solid var(--line);width:42px;height:42px;transition:background .3s ease, transform .3s var(--ease-out);border-radius:50%;flex:none;position:relative}.contact-dialog__close:hover{background:var(--ink);transform:rotate(90deg)}.contact-dialog__close span{background:var(--ink);width:15px;height:1.5px;transition:background .3s;position:absolute;top:50%;left:50%;translate:-50% -50%}.contact-dialog__close span:first-child{rotate:45deg}.contact-dialog__close span:last-child{rotate:-45deg}.contact-dialog__close:hover span{background:var(--paper)}.contact-dialog__note{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:12px 0 16px;font-size:12px;line-height:1.4;display:flex}.contact-dialog__note a{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:3px;font-weight:600;display:inline-flex}.contact-dialog__note .icon{width:10px;height:10px}.contact-dialog__frame{border:1px solid var(--line);background:#fff;border-radius:14px;flex:auto;min-height:0;position:relative;overflow:hidden}.contact-dialog__frame iframe{background:#fff;border:0;width:100%;height:min(66vh,720px);display:block}.contact-dialog__loading{z-index:2;background:var(--paper-soft);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:10px;font-weight:600;transition:opacity .4s,visibility .4s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.contact-dialog__frame.is-loaded .contact-dialog__loading{opacity:0;visibility:hidden;pointer-events:none}.contact-dialog__spinner{border:2px solid var(--line);border-top-color:var(--terracotta);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash{to{stroke-dashoffset:-220px}}@keyframes nodePulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes dialogIn{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}@media (min-width:981px) and (max-height:850px){.hero__title{font-size:clamp(3.4rem,min(8.8vw,12vh),8.4rem)}.hero__polaroid{width:clamp(168px,16vw,224px)}.hero__stickers{margin-top:16px}}@media (max-width:1180px){.about__grid{grid-template-columns:minmax(220px,.5fr) minmax(0,1.15fr);gap:50px}.now-card--reading{grid-column:span 12}.now-card--brew,.now-card--play{grid-column:span 6}.now-card--listen{grid-column:span 12}.listen__body{max-width:640px}}@media (max-width:980px){.site-header{padding-block-start:14px;padding-block-end:14px}.pile__drag,.nav{display:none}.answers__grid{grid-template-columns:1fr;gap:26px}.answers__intro{position:static}.answers__lede{max-width:52ch}.menu-toggle{display:inline-flex}.hero{padding-top:104px}.hero__wrap{min-height:auto;padding-bottom:40px}.hero__title{margin-top:calc(clamp(4px,1.5vh,18px) + 128px);font-size:clamp(3.6rem,12.6vw,7.4rem);line-height:.84}.hero__bottom{grid-template-columns:1fr;gap:34px}.hero__copy{max-width:600px}.hero__polaroid{justify-self:end;width:min(62%,300px);margin-top:4px}.about__grid{grid-template-columns:1fr;gap:44px}.about__photo{max-width:330px}.about__cols{max-width:none}.work__grid{grid-template-columns:1fr}.diagram{max-width:720px;position:relative;top:0}.work__intro,.life__intro,.now__intro,.writing__intro,.oss__intro{grid-template-columns:1fr;gap:20px}.work__lede,.life__lede,.now__lede,.writing__lede,.oss__lede{max-width:52ch}.pile{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(12px,2vw,20px);height:auto;display:grid}.polaroid{width:100%;transform:rotate(var(--r));cursor:default;touch-action:auto;position:relative;top:auto;left:auto}.polaroid:nth-child(3){grid-column:span 2;justify-self:center;width:min(100%,520px)}.polaroid figcaption{font-size:13px}.pile__drag{grid-column:span 2;justify-self:end;margin-top:8px;position:static}.writing__grid{grid-template-rows:none;grid-template-columns:1fr}.blog-card{grid-row:auto;min-height:0}.photo-card,.recipes-card{min-height:290px}.contact__main{grid-template-columns:1fr;gap:32px}.contact__side{max-width:420px}.roundel{display:none}.footer__top{grid-template-columns:1fr auto}.footer__note{grid-area:2/1/auto/-1}.footer__top-link{grid-area:1/2}}@media (max-width:720px){.section{padding-block-start:76px;padding-block-end:76px}.section-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:34px}.section-head__note{text-align:left}.statement{font-size:clamp(2.7rem,13vw,4.6rem)}.hero__title{font-size:clamp(3.1rem,14.4vw,5.2rem)}.hero__ghost{top:18%;right:-18vw}.hero__stickers{gap:12px}.badge{gap:5px;width:80px;height:80px}.badge__big{font-size:1.7rem}.badge__small{font-size:7px}.sticker{padding:9px 11px;font-size:8px}.sticker .icon{font-size:20px}.about__cols{grid-template-columns:1fr;gap:16px}.stat{padding-right:10px}.stat dd{font-size:clamp(2.4rem,10vw,3.4rem)}.diagram{border-radius:20px;padding:10px}.node__label{font-size:13px}.node__sub{font-size:9.5px}.capability p{max-width:42ch}.hobbies{grid-template-columns:1fr}.hobby{padding:17px 0}.now-card--brew,.now-card--play{grid-column:span 12}.books{flex-wrap:wrap;align-items:flex-start}.book{width:128px}.books__notes{flex:160px;min-width:150px}.now-card--build{flex-direction:column;align-items:flex-start}.mini-cluster{justify-content:center;align-self:stretch}.listen__body{align-items:flex-start}.record{width:110px}.post-list a{grid-template-columns:1fr;gap:4px}.project{grid-template-columns:1fr auto;row-gap:8px;padding-inline-start:4px;padding-inline-end:4px}.project__num{grid-column:1;padding-top:0}.project__main{grid-column:1}.project__meta{grid-column:1;justify-content:flex-start}.project__arrow{grid-area:1/2/4;align-self:center}.project:hover{padding-left:10px}.project__main p{max-width:52ch}.contact__title{font-size:clamp(3.2rem,14vw,6rem)}.contact__socials{gap:7px}.footer__top{grid-template-columns:1fr;gap:18px}.footer__top-link{grid-area:auto/1;justify-self:start}.footer__note{grid-area:auto/1}.footer__bottom{flex-direction:column;gap:7px}.contact-dialog{border-radius:0;width:100vw;max-height:100dvh}.contact-dialog__inner{max-height:100dvh;padding:16px}.contact-dialog__frame iframe{height:min(72vh,720px)}}@media (max-width:480px){.hero__title{font-size:clamp(2.85rem,14.6vw,4.2rem)}.hero__lede{font-size:1rem}.hero__polaroid{width:min(76%,280px)}.hero__stickers{flex-wrap:wrap}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 14px}.stat:nth-child(odd){padding-left:0}.stat:nth-child(2n){border-right:0;padding-right:0}.stat:nth-child(n+3){padding-top:22px}.stat:nth-last-child(-n+2){border-bottom:0}.stat dt{min-height:0}.pile{grid-template-columns:1fr}.polaroid:nth-child(3){grid-column:auto;width:100%}.pile__drag{grid-column:auto}.books__notes{display:none}.book{width:44%}.blog-card{padding:22px}.post-list a{padding:11px 0}.contact__button{width:158px;height:158px;padding:18px}.contact__socials a{padding:8px 12px;font-size:11px}.footer__marquee{font-size:19vw}}@media (max-width:430px){.header__inner{gap:8px}.brand{gap:6px}.brand__mark,.brand__mark img{width:18px;height:18px}.brand__text{font-size:21px}.header__actions{gap:7px}.header__actions .btn--small{gap:7px;padding:9px 11px;font-size:10.5px}.menu-toggle{gap:6px;padding:8px 10px;font-size:10.5px}}@media (max-width:340px){.header__actions .btn--small{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal,.js .hero .reveal,.js .hero__title .line__in{opacity:1;transform:none}.js .pile .polaroid{opacity:1;translate:none;animation:none!important}.packet{display:none}.ticker__track,.footer__marquee{animation:none}}.no-js .loader,.no-js .cursor-dot,.no-js .cursor-ring{display:none}
