:root{--bg:#0e1116;--bg-elevated:#151a22;--ink:#f3efe6;--muted:#9aa3b2;--line:#f3efe61a;--accent:#f0a05a;--accent-soft:#f0a05a24;--signal:#5ec8b8;--signal-soft:#5ec8b81f;--font-display:"Bricolage Grotesque", Georgia, serif;--font-body:"Figtree", system-ui, sans-serif;--max:1120px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1.05rem;line-height:1.6}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img,svg{max-width:100%;display:block}::selection{background:var(--accent);color:var(--bg)}.noise{pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.atmosphere{pointer-events:none;z-index:0;background:radial-gradient(80% 55% at 15% -10%,#f0a05a2e,#0000 55%),radial-gradient(60% 45% at 90% 10%,#5ec8b81f,#0000 50%),radial-gradient(50% 40% at 50% 100%,#f0a05a0f,#0000 55%),linear-gradient(#0e1116 0%,#12171f 45%,#0e1116 100%);position:fixed;inset:0}.atmosphere:after{content:"";background-image:linear-gradient(#f3efe608 1px,#0000 1px),linear-gradient(90deg,#f3efe608 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 20%,#000,#0000);mask-image:radial-gradient(70% 60% at 50% 20%,#000,#0000)}.app{z-index:1;position:relative}.reveal{--reveal-delay:0s;opacity:0;filter:blur(8px);width:100%;transition:opacity .35s var(--ease), transform .35s var(--ease), filter .35s var(--ease);will-change:opacity, transform, filter}.reveal--up{transform:translateY(36px)}.reveal--left{transform:translate(-32px)}.reveal--fade{filter:blur(10px);transform:none}.reveal--rise{transform:translateY(48px)scale(.98)}.reveal--shown{opacity:1;filter:blur();transition:opacity .8s var(--ease) var(--reveal-delay), transform .85s var(--ease) var(--reveal-delay), filter .8s var(--ease) var(--reveal-delay);transform:translate(0,0)scale(1)}@media (prefers-reduced-motion:reduce){.reveal,.reveal--up,.reveal--left,.reveal--fade,.reveal--rise{opacity:1;filter:none;transition:none;transform:none}}.wrap{width:min(100% - 2.5rem, var(--max));margin-inline:auto}.nav{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .3s var(--ease);background:#0e1116b8;border-bottom:1px solid #0000;position:sticky;top:0}.nav.scrolled{border-bottom-color:var(--line)}.nav__inner{justify-content:space-between;align-items:center;height:4.25rem;display:flex}.nav__brand{font-family:var(--font-display);letter-spacing:-.03em;isolation:isolate;transition:transform .35s var(--ease);align-items:baseline;font-size:1.35rem;font-weight:700;display:inline-flex;position:relative}.nav__brand-glow{z-index:-1;opacity:0;transition:opacity .35s var(--ease), transform .45s var(--ease);background:radial-gradient(circle at 60%,#f0a05a47,#5ec8b81a 55%,#0000 70%);border-radius:999px;position:absolute;inset:-.55rem -.7rem;transform:scale(.85)}.nav__brand:hover{transform:translateY(-1px)}.nav__brand:hover .nav__brand-glow{opacity:1;transform:scale(1)}.nav__brand:hover .brand-im{opacity:1;color:var(--ink)}.nav__brand:hover .brand-sat{background:linear-gradient(120deg, #f5b575, var(--accent), #5ec8b8);color:#0000;filter:drop-shadow(0 0 12px #f0a05a59);-webkit-background-clip:text;background-clip:text}.brand-im{color:var(--ink);transition:opacity .3s,color .3s}.brand-sat{color:var(--accent);transition:filter .35s,color .3s}.nav__brand .brand-im{opacity:.72}.nav__links{gap:1.2rem;list-style:none;display:none}.nav__links a{color:var(--muted);font-size:.95rem;font-weight:500;transition:color .2s;position:relative}.nav__links a:hover{color:var(--ink)}.nav__links a.is-active{color:var(--accent)}.nav__links a.is-active:after{content:"";background:linear-gradient(90deg, var(--accent), #5ec8b8a6);border-radius:1px;height:1.5px;position:absolute;bottom:-.45rem;left:0;right:0}.nav__end{align-items:center;gap:.65rem;display:flex}.nav__cta{border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.nav__cta:hover{background:var(--accent-soft);border-color:#f0a05a73}.nav__toggle{border:1px solid var(--line);border-radius:.65rem;flex-direction:column;justify-content:center;gap:6px;width:2.5rem;height:2.5rem;padding:.55rem;display:inline-flex}.nav__toggle span{background:var(--ink);width:100%;height:1.5px;transition:transform .25s var(--ease), opacity .2s ease;transform-origin:50%;display:block}.nav--open .nav__toggle span:first-child{transform:translateY(3.75px)rotate(45deg)}.nav--open .nav__toggle span:last-child{transform:translateY(-3.75px)rotate(-45deg)}.nav__drawer{border-top:1px solid var(--line);animation:nav-drawer-in .28s var(--ease);flex-direction:column;gap:1.5rem;padding:.5rem 0 1.75rem;display:flex}.nav__drawer ul{flex-direction:column;list-style:none;display:flex}.nav__drawer a{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.03em;padding:.85rem 0;font-size:1.35rem;font-weight:600;display:block}.nav__drawer a:hover,.nav__drawer a.is-active{color:var(--accent)}.nav__cta.is-active{background:var(--accent-soft);color:var(--accent);border-color:#f0a05a73}.nav__drawer-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.nav__drawer-meta{color:var(--muted);font-size:.85rem}@keyframes nav-drawer-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width>=900px){.nav__links{display:flex}.nav__toggle,.nav__drawer{display:none}}@media (prefers-reduced-motion:reduce){.nav__drawer{animation:none}}.hero{align-items:center;min-height:100svh;padding:7.5rem 0 5.5rem;display:flex;position:relative;overflow:hidden}.hero__stage{z-index:0;transform-origin:70% 40%;will-change:transform;position:absolute;inset:0}.hero__canvas,.hero__particles{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero__particles{z-index:2;mix-blend-mode:screen}.hero__terminal-wrap{z-index:2;box-sizing:border-box;pointer-events:none;width:auto;max-height:none;padding:0 2% 0 1.75rem;position:absolute;inset:9.5rem 0 1.75rem 60%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 12% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 12% 100%)}.hero__terminal-wrap>*{height:70%}.hero-code{letter-spacing:.01em;flex-direction:column;align-items:stretch;gap:.65rem;width:100%;height:100%;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:clamp(.8rem,1.15vw,.98rem);line-height:1.6;display:flex;position:relative}.hero-code__session{letter-spacing:.06em;text-transform:uppercase;color:#9aa3b2bf;align-items:center;gap:.55rem;margin-bottom:.15rem;font-size:.68rem;display:flex}.hero-code__session-dot{background:var(--signal);border-radius:50%;width:.4rem;height:.4rem;animation:2.4s ease-out infinite hero-pulse;box-shadow:0 0 #5ec8b873}.hero-code__session-label{color:#f3efe68c}.hero-code__session-proj{pointer-events:auto;color:#f0a05abf;letter-spacing:.04em;text-transform:none;font:inherit;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:.72rem;transition:color .2s}.hero-code__session-proj:hover{color:#f0a05a;text-underline-offset:.2em;text-decoration:underline}.hero-code__feed{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;justify-content:flex-start;gap:.45rem;min-height:0;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 8% 92%,#0000 100%)}.hero-code__feed::-webkit-scrollbar{display:none}.hero-code__feed.is-vanishing .hero-code__row{pointer-events:none;transition:none;animation:.4s cubic-bezier(.22,1,.36,1) forwards code-clear-up}@keyframes code-clear-up{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translateY(-14px)}}@media (prefers-reduced-motion:reduce){.hero-code__feed.is-vanishing .hero-code__row{opacity:0;animation:none}}.hero-code__row--meta .hero-code__text{color:#9aa3b2b3;font-style:italic}.hero-code__row--meta .hero-code__bar{box-shadow:none;background:#9aa3b259}.hero-code__row{--age:0;--level:.5;opacity:calc(.92 - min(var(--age), 6) * .06);transform:translate3d(0, calc(var(--age) * -1px), 0);transition:opacity .4s var(--ease), transform .45s var(--ease);grid-template-columns:3px 1fr;align-items:center;gap:.85rem;display:grid}.hero-code__bar{background:linear-gradient(180deg, rgba(240, 160, 90, calc(.15 + var(--level) * .55)), rgba(94, 200, 184, calc(.1 + var(--level) * .35)));width:3px;min-height:.85em;box-shadow:0 0 10px rgba(240, 160, 90, calc(var(--level) * .25));transform:scaleY(calc(.35 + var(--level) * .65));transform-origin:bottom;transition:transform .35s var(--ease), box-shadow .35s ease;border-radius:2px;align-self:stretch}.hero-code__row--cmd .hero-code__bar{background:linear-gradient(180deg, rgba(243, 239, 230, calc(.2 + var(--level) * .4)), rgba(240, 160, 90, calc(.15 + var(--level) * .35)))}.hero-code__row--out .hero-code__bar{background:linear-gradient(180deg, rgba(94, 200, 184, calc(.35 + var(--level) * .45)), #5ec8b81f)}.hero-code__text{white-space:nowrap;text-overflow:clip;color:#f3efe6b8;overflow:hidden}.hero-code__row--cmd .hero-code__text{color:#f3efe6cc}.hero-code__row--out .hero-code__text{color:#5ec8b8d1}.hero-code__row--code .hero-code__text{color:#f3efe6ad}.hero-code__row.is-accent .hero-code__text{color:#f0a05ae0}.hero-code__row.is-active{opacity:1}.hero-code__row.is-active .hero-code__text{color:#f3efe6f2}.hero-code__row.is-active.hero-code__row--out .hero-code__text{color:#9be6dcfa}.hero-code__row.is-active.is-accent .hero-code__text{color:#f0a05a}.hero-code__row.is-active .hero-code__bar{transform:scaleY(1);box-shadow:0 0 14px #f0a05a59}.hero-code__caret{vertical-align:text-bottom;background:#f0a05acc;width:.4em;height:.95em;margin-left:2px;animation:.95s step-end infinite code-caret;display:inline-block;box-shadow:0 0 8px #f0a05a66}@keyframes code-caret{50%{opacity:0}}@media (width<=1100px){.hero__terminal-wrap{top:8.25rem;bottom:1.75rem;left:58%}}@media (width<=980px){.hero__terminal-wrap{display:none}}@media (prefers-reduced-motion:reduce){.hero-code__caret{opacity:.55;animation:none}.hero-code__row{transition:none}}.hero__orb{filter:blur(60px);pointer-events:none;opacity:.55;border-radius:50%;animation:12s ease-in-out infinite hero-orb;position:absolute}.hero__orb--warm{background:#f0a05a47;width:min(46vw,420px);height:min(46vw,420px);top:8%;left:-8%}.hero__orb--cool{background:#5ec8b833;width:min(38vw,340px);height:min(38vw,340px);animation-delay:-4s;bottom:12%;right:4%}@keyframes hero-orb{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(2%,3%)scale(1.08)}}.hero__veil{pointer-events:none;background:linear-gradient(108deg,#0e1116f5 0%,#0e1116d1 30%,#0e111638 58%,#0e111673 100%),linear-gradient(#0e111626 0%,#0000 42%,#0e1116b8 100%);position:absolute;inset:0}.hero__content{z-index:1;width:min(100% - 2.5rem,36rem);max-width:36rem;margin-left:max(1.25rem, calc((100% - var(--max)) / 2));margin-right:auto;position:relative}.hero__status{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.65rem;margin-bottom:1.6rem;font-size:.78rem;font-weight:600;display:inline-flex}.hero__status-dot{background:var(--signal);border-radius:50%;width:.5rem;height:.5rem;animation:2.4s ease-out infinite hero-pulse;box-shadow:0 0 #5ec8b88c}.hero__status-sep{background:var(--line);width:1px;height:.85em}@keyframes hero-pulse{0%{box-shadow:0 0 #5ec8b88c}70%{box-shadow:0 0 0 10px #5ec8b800}to{box-shadow:0 0 #5ec8b800}}.hero__brand{cursor:default;font-family:var(--font-display);letter-spacing:-.075em;text-shadow:0 18px 60px #00000073;transform-style:preserve-3d;will-change:transform;align-items:baseline;margin-bottom:1.45rem;font-size:clamp(4.8rem,15.5vw,8.75rem);font-weight:700;line-height:.82;display:inline-flex;position:relative}.hero__brand .brand-im{letter-spacing:.028em;font-weight:600}.hero__brand .brand-im .brand-hover__letter.is-apos{letter-spacing:0;margin-inline:.01em .03em}.hero__brand .brand-sat{letter-spacing:.028em;font-weight:700}.hero__brand .brand-sat .brand-hover__letter{background:linear-gradient(120deg, #f5b575 0%, var(--accent) 45%, #5ec8b8 140%);color:#0000;-webkit-background-clip:text;background-clip:text}.brand-hover__part{display:inline-flex}.brand-hover__gap{width:.18em;display:inline-block}.brand-hover__letter{will-change:transform;display:inline-block}.brand-hover__letter.is-apos{margin-inline:-.04em}.brand-hover__bloom{z-index:-1;opacity:0;filter:blur(18px);transition:opacity .4s var(--ease);pointer-events:none;position:absolute;inset:-18% -8%}.hero__brand.is-hot .brand-hover__bloom{opacity:1}.hero__brand.is-hot .brand-sat{filter:drop-shadow(0 0 24px #f0a05a66)}.hero__brand.is-hot .brand-im{text-shadow:0 0 20px #f3efe633}@media (prefers-reduced-motion:reduce){.nav__brand{transition:none}}.hero__headline{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.hero__headline-name{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.5rem,3.4vw,2.05rem);font-weight:600}.hero__headline-name .brand-sat{color:var(--accent);font-weight:700}.hero__headline-meta{font-family:var(--font-display);letter-spacing:-.02em;color:#f3efe6d1;font-size:clamp(1.05rem,2.1vw,1.28rem);font-weight:500}.hero__sub{color:var(--muted);max-width:34ch;margin-bottom:2.15rem;font-size:1.12rem;line-height:1.55}.hero__actions{flex-wrap:wrap;gap:.85rem;margin-bottom:2.75rem;display:flex}.hero__rail{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;gap:.7rem 1.4rem;padding-top:1.4rem;font-size:.78rem;font-weight:500;display:flex}.hero__rail span{position:relative}.hero__rail span:not(:last-child):after{content:"";background:#f0a05aa6;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;right:-.8rem;transform:translateY(-50%)}.hero__scroll{right:max(1.25rem, calc((100% - var(--max)) / 2));z-index:2;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.45rem;font-size:.68rem;font-weight:600;display:inline-flex;position:absolute;bottom:1.75rem}.hero__scroll-line{background:linear-gradient(180deg, var(--accent), transparent);transform-origin:top;width:1px;height:2.75rem;animation:hero-scroll 1.8s var(--ease) infinite}.hero__scroll-keys{letter-spacing:0;gap:.28rem;display:inline-flex}.hero__scroll-keys kbd,.vim-tip kbd,.vim-help kbd{color:#f3efe6d1;letter-spacing:.02em;text-transform:none;background:#151a22b8;border:1px solid #f3efe62e;border-bottom-width:2px;border-radius:3px;justify-content:center;align-items:center;min-width:1.35em;padding:.12em .35em;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;font-weight:500;line-height:1.2;display:inline-flex}.hero__scroll-label{letter-spacing:.14em}@keyframes hero-scroll{0%{opacity:.3;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}to{opacity:.3;transform:scaleY(.35)}}@media (width<=720px){.hero{align-items:flex-end;padding-bottom:4.5rem}.hero__content{width:min(100% - 2.5rem,36rem);margin-left:1.25rem}.hero__veil{background:linear-gradient(#0e11164d 0%,#0e11168c 38%,#0e1116eb 100%)}.hero__scroll{flex-direction:row;gap:.7rem;left:1.25rem;right:auto}.hero__scroll-line{background:linear-gradient(90deg, var(--accent), transparent);width:2rem;height:1px;animation-name:hero-scroll-x}}@keyframes hero-scroll-x{0%{opacity:.3;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}to{opacity:.3;transform:scaleX(.35)}}@media (prefers-reduced-motion:reduce){.hero__orb,.hero__status-dot,.hero__scroll-line{animation:none}}.btn{transition:transform .25s var(--ease), background .2s ease, color .2s ease, border-color .2s ease;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.9rem 1.45rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.65;cursor:wait;transform:none}.btn--primary{background:var(--accent);color:#1a120a}.btn--primary:hover{background:#f5b575}.btn--ghost{border:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e111659}.btn--ghost:hover{background:#f3efe60f;border-color:#f3efe647}.section{padding:5.5rem 0}.section--tight{padding-top:3.5rem}.section__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.25rem;display:flex}.section__label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.7rem;margin-bottom:.55rem;font-size:.8rem;font-weight:600;display:inline-flex}.section__label:before{content:"";background:var(--accent);transform-origin:0;width:1.5rem;height:1px;transition:transform .6s var(--ease) .15s;transform:scaleX(0)}.reveal--shown .section__label:before{transform:scaleX(1)}.section__title{font-family:var(--font-display);letter-spacing:-.03em;max-width:18ch;font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:600;line-height:1.15}.section__note{color:var(--muted);max-width:34ch;font-size:.98rem}.section__note a{color:var(--ink);text-underline-offset:.15em;-webkit-text-decoration:underline #f0a05a80;text-decoration:underline #f0a05a80}.focus-grid{gap:1.75rem;display:grid}@media (width>=720px){.focus-grid{grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem}}.focus__title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.45rem;padding-left:.85rem;font-size:1.25rem;font-weight:600;position:relative}.focus__title:before{content:"";background:var(--accent);transform-origin:top;width:3px;height:.85em;transition:transform .45s var(--ease) .2s;border-radius:2px;position:absolute;top:.35em;left:0;transform:scaleY(0)}.reveal--shown .focus__title:before{transform:scaleY(1)}.focus__text{color:var(--muted);max-width:42ch;font-size:1rem}.work-list{flex-direction:column;list-style:none;display:flex}.work-item{border-bottom:1px solid var(--line);padding:0;scroll-margin-top:5.5rem}.work-item__motion{width:100%}.work-item__inner{transition:background .3s ease, box-shadow .35s var(--ease);gap:.85rem;padding:1.75rem 0;display:grid;position:relative}.work-item__inner:before{content:"";width:2px;transition:background .3s ease, box-shadow .3s ease, transform .35s var(--ease);transform-origin:50%;background:0 0;border-radius:2px;position:absolute;top:1.25rem;bottom:1.25rem;left:0;transform:scaleY(.55)}.work-item__motion:hover .work-item__inner,.work-item__inner:hover{background:#f3efe608}@media (width>=768px){.work-item__inner{grid-template-columns:7.5rem 1.15fr 1.35fr auto;align-items:start;gap:1.5rem;padding:2rem .85rem}.reveal--shown .work-item__inner:before{background:#f0a05a59;transform:scaleY(1)}.work-item__motion:hover .work-item__inner:before{background:var(--accent);transform:scaleY(1.05);box-shadow:0 0 14px #f0a05a66}.work-item__motion:hover .work-item__title a{background-size:100% 2px}.work-item__motion:hover .work-item__index{opacity:1;color:var(--accent)}.work-item__motion:hover .work-item__blurb{color:#f3efe6c7}.work-item__motion:hover .work-item__kind{letter-spacing:.1em}}.work-item__meta{flex-direction:column;gap:.3rem;padding-top:.15rem;display:flex}.work-item__index{font-family:var(--font-display);letter-spacing:.08em;color:var(--muted);opacity:.45;font-size:.78rem;font-weight:600;transition:opacity .3s,color .3s}.work-item__year{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem}.work-item__kind{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);transition:letter-spacing .35s var(--ease);font-size:.72rem;font-weight:600}.work-item__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.45rem;font-weight:600;line-height:1.2}.work-item__title a{background-image:linear-gradient(var(--accent), var(--accent));transition:background-size .4s var(--ease), color .25s ease;background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px}.work-item__title a:hover{background-size:100% 2px}.work-item__live{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--signal);background:var(--signal-soft);vertical-align:middle;border-radius:.3rem;margin-left:.45rem;padding:.2rem .45rem;font-size:.72rem;font-weight:600;display:inline-block;background-image:none!important}.work-item__live:hover{color:var(--ink);background-size:auto!important}.work-item__blurb{color:var(--muted);font-size:1rem;transition:color .3s}.work-item__stack .tag{transition:border-color .25s,background .25s,color .25s}.work-item__motion:hover .work-item__stack .tag{background:#f0a05a14;border-color:#f0a05a59}.work-more{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:2.25rem;padding-top:1.5rem;display:flex}.work-more__link{color:var(--accent);font-weight:600;transition:color .2s}.work-more__link:hover{color:#f5b575}.work-more__url{align-items:center;gap:.65rem;font-size:.9rem;display:inline-flex}.work-more__url span{letter-spacing:.1em;text-transform:uppercase;color:#9aa3b2bf;font-size:.72rem;font-weight:600}.work-more__url a{color:var(--ink);border-bottom:1px solid #f0a05a73;transition:border-color .2s,color .2s}.work-more__url a:hover{color:var(--accent);border-bottom-color:var(--accent)}.products-page{padding-top:1rem}.products-hero{padding-bottom:1.5rem}.products-hero__title{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:1rem;font-size:clamp(2.8rem,8vw,5rem);font-weight:700;line-height:.95}.products-hero__lead{max-width:46ch;color:var(--muted);margin-bottom:1.75rem;font-size:1.08rem}.products-hero__lead a{color:var(--accent);font-weight:600}.products-hero__actions{flex-wrap:wrap;gap:.85rem;display:flex}.work-item__stack{flex-wrap:wrap;justify-content:flex-start;gap:.4rem;display:flex}@media (width>=768px){.work-item__stack{justify-content:flex-end;max-width:14rem}}.tag{letter-spacing:.02em;color:var(--signal);background:var(--signal-soft);border-radius:.35rem;padding:.3rem .55rem;font-size:.75rem;font-weight:500}.pkg-list>li{scroll-margin-top:5.5rem}.pkg-list{gap:.75rem;list-style:none;display:grid}@media (width>=720px){.pkg-list{grid-template-columns:repeat(2,1fr);gap:1rem}}.pkg{border:1px solid var(--line);border-radius:.85rem;padding:1.25rem 1.35rem;transition:border-color .25s,background .25s;display:block}.pkg:hover{background:#f0a05a0d;border-color:#f0a05a59}.pkg__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;display:flex}.pkg__name{font-family:var(--font-display);letter-spacing:-.02em;word-break:break-word;font-size:1.02rem;font-weight:600}.pkg__version{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.8rem}.pkg__blurb{color:var(--muted);font-size:.95rem}.stack-grid{gap:1.5rem;display:grid}@media (width>=700px){.stack-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}.stack-group__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.85rem;font-size:.78rem;font-weight:600}.stack-group__items{flex-direction:column;gap:.55rem;list-style:none;display:flex}.stack-group__items li{font-family:var(--font-display);letter-spacing:-.015em;border-bottom:1px solid var(--line);color:var(--ink);cursor:default;padding-bottom:.55rem;font-size:1.15rem;font-weight:500;transition:color .22s,transform .22s,text-shadow .22s,border-color .22s}.stack-group__items li:hover{color:var(--accent);text-shadow:0 0 12px #f0a05a38;border-bottom-color:#f0a05a47;transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.stack-group__items li:hover{transform:none}}.about{gap:2.5rem;display:grid}@media (width>=800px){.about{grid-template-columns:.9fr 1.1fr;align-items:start;gap:4rem}}.about__lead{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1.2}.about__copy{color:var(--muted);flex-direction:column;gap:1.15rem;font-size:1.08rem;display:flex}.about__copy p strong{color:var(--ink);font-weight:600}.about__resume{margin-top:1.75rem}.contact{border-top:1px solid var(--line);margin-top:1rem;padding:5rem 0 4rem;position:relative}.contact__panel{gap:2rem;padding:2.5rem 0 1rem;display:grid}@media (width>=800px){.contact__panel{grid-template-columns:1.35fr .75fr;align-items:start;gap:3rem}}.contact__title{font-family:var(--font-display);letter-spacing:-.045em;margin-bottom:1rem;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700;line-height:.95}.contact__title em{color:var(--accent);font-style:normal}.contact__text{color:var(--muted);max-width:36ch;margin-bottom:1.75rem}.contact__form{flex-direction:column;gap:1.1rem;max-width:34rem;display:flex;position:relative}.contact__fields{gap:1.1rem;display:grid}@media (width>=560px){.contact__fields{grid-template-columns:1fr 1fr}}.contact__field{flex-direction:column;gap:.45rem;display:flex}.contact__field span{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.82rem;font-weight:500}.contact__field input,.contact__field textarea{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;resize:vertical;background:0 0;border-radius:0;outline:none;padding:.85rem 0;transition:border-color .2s}.contact__field input::placeholder,.contact__field textarea::placeholder{color:#9aa3b28c}.contact__field input:focus,.contact__field textarea:focus{border-bottom-color:#f0a05aa6}.contact__field input:disabled,.contact__field textarea:disabled{opacity:.55;cursor:not-allowed}.contact__hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact__actions{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:.35rem;display:flex}.contact__actions .btn:disabled{opacity:.65;cursor:wait;transform:none}.contact__mailto{color:var(--muted);font-size:.92rem;transition:color .2s}.contact__mailto:hover{color:var(--accent)}.contact__status{min-height:1.4em;font-size:.95rem}.contact__status--ok{color:var(--signal)}.contact__status--err{color:#e8957a}.contact__links{flex-direction:column;gap:.75rem;display:flex}.contact__link{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:1.2rem;font-weight:600;transition:color .2s;display:flex}.contact__link:hover{color:var(--accent)}.contact__link span{color:var(--muted);font-family:var(--font-body);font-size:.85rem;font-weight:500}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.25rem;padding:2rem 0 2.5rem;font-size:.9rem;display:flex}.footer__vim{letter-spacing:.02em;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem}.footer__vim kbd{color:#f3efe6b8;min-width:1.2em;font:inherit;background:#151a228c;border:1px solid #f3efe624;border-radius:2px;justify-content:center;align-items:center;padding:.05em .28em;display:inline-flex}.footer__brand{font-family:var(--font-display);letter-spacing:-.03em;font-weight:700}.footer__brand .brand-im{opacity:.72}.vim-badge{z-index:40;color:#7fd9cb;letter-spacing:.08em;opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e1116c7;border:1px solid #5ec8b866;border-radius:2px;align-items:center;gap:.35rem;padding:.32rem .5rem;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.64rem;transition:color .2s,background .2s,border-color .2s;display:inline-flex;position:fixed;bottom:.65rem;right:.65rem}.vim-badge:hover{color:#b5f0e6;background:#151a22eb;border-color:#5ec8b8b3}.vim-badge__dot{background:currentColor;border-radius:50%;width:.3rem;height:.3rem;box-shadow:0 0 8px #5ec8b8a6}.vim-badge__label{text-transform:lowercase}.vim-tip{left:max(1rem, calc((100% - var(--max)) / 2));z-index:40;max-width:calc(100vw - 2rem);color:var(--muted);letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:vim-tip-in .45s var(--ease) both;background:#0e1116e0;border:1px solid #f3efe61f;border-radius:2px;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;padding:.65rem .85rem;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;display:inline-flex;position:fixed;bottom:1.25rem}.vim-tip__mode{color:var(--signal);text-transform:lowercase}.vim-tip__keys{gap:.22rem;display:inline-flex}.vim-tip__sep{opacity:.45}.vim-tip__dismiss{color:#9aa3b2b3;margin-left:.15rem;padding:0 .2rem;font-size:1rem;line-height:1;transition:color .2s}.vim-tip__dismiss:hover{color:var(--ink)}@keyframes vim-tip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}.vim-help{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:vim-tip-in .28s var(--ease) both;background:#080a0eb8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.vim-help__panel{background:linear-gradient(#f0a05a0f,#0000 42%),#0e1116f5;border:1px solid #f3efe624;width:min(100%,22rem);padding:1.35rem 1.4rem 1.15rem;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace}.vim-help__eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem;font-size:.68rem}.vim-help__head h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:1.1rem;font-size:1.35rem;font-weight:650}.vim-help__list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.vim-help__list li{color:var(--muted);grid-template-columns:4.5rem 1fr;align-items:center;gap:.85rem;font-size:.78rem;display:grid}.vim-help__list kbd{justify-self:start;min-width:2.4rem}.vim-help__foot{border-top:1px solid var(--line);color:#9aa3b2bf;margin-top:1.15rem;padding-top:.85rem;font-size:.7rem}.vim-help__foot kbd{margin:0 .15rem}@media (width<=720px){.vim-badge{bottom:.5rem;right:.5rem}.vim-tip{max-width:calc(100vw - 2rem);bottom:2.75rem;left:1rem;right:auto}.hero__scroll-keys{order:1}.hero__scroll-label{display:none}}@media (prefers-reduced-motion:reduce){.vim-tip,.vim-help{animation:none}}
