@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Variable-Latin.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:fallback;unicode-range:U+??,U+2000-206F,U+2190-21FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Variable.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:fallback;unicode-range:U+100-1FFF,U+2070-218F,U+2200-10FFFF}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Italic-Variable-Latin.woff2)format("woff2");font-weight:100 800;font-style:italic;font-display:fallback;unicode-range:U+??,U+2000-206F,U+2190-21FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Italic-Variable.woff2)format("woff2");font-weight:100 800;font-style:italic;font-display:fallback;unicode-range:U+100-1FFF,U+2070-218F,U+2200-10FFFF}:root{--bg:#050505;--bg-raised:#0a0a0a;--bg-elevated:#0e0e0e;--bg-code:#080808;--border:#141414;--border-subtle:#111;--border-hover:#2a2a2a;--border-visible:#1a1a1a;--text-primary:#f0f0f0;--text-secondary:#dedede;--text-muted:#ccc;--text-subtle:#bbb;--text-faint:#aaa;--text-ghost:#888;--font:"JetBrains Mono", "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-signature:"segoe-script", "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:5rem;--radius-sm:3px;--radius-md:6px;--radius-lg:8px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.4s ease;--content-width:640px;--post-layout-width:1300px;--nav-padding:1.5rem 3rem}::selection{color:#050505!important;background-color:#fff!important}::selection{color:#050505!important;background-color:#fff!important}.cta-primary::selection,.cta-primary ::selection,.proj-view-all::selection,.proj-view-all ::selection{color:#fff!important;background-color:#050505!important}.cta-primary::-moz-selection{color:#fff!important;background-color:#050505!important}.cta-primary ::-moz-selection{color:#fff!important;background-color:#050505!important}.proj-view-all::-moz-selection{color:#fff!important;background-color:#050505!important}.proj-view-all ::-moz-selection{color:#fff!important;background-color:#050505!important}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:var(--border-visible) var(--bg);text-size-adjust:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-visible);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}body{font-family:var(--font);background-color:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;padding-top:4.9rem}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}nav{padding:var(--nav-padding);z-index:1005;width:100%;transition:background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), padding var(--transition-base), top var(--transition-base), width var(--transition-base), border-radius var(--transition-base), transform var(--transition-base);border:1px solid #0000;border-radius:0;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:fixed;top:0;left:0;right:0}.site-nav.is-scrolled{-webkit-backdrop-filter:blur(24px)saturate(1.8)contrast(1.05);background:#0808088a;border-color:#ffffff21;border-radius:12px;width:min(760px,100% - 2rem);padding:.68rem 1.05rem;top:.75rem;left:0;right:0;box-shadow:inset 0 0 0 1px #ffffff09,0 8px 28px #00000047}.nav-logo{color:var(--text-primary);letter-spacing:.05em;z-index:1010;transition:gap var(--transition-base);flex:none;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.nav-logo span{--nav-logo-text-opacity:1;--nav-logo-text-mid-opacity:.72;white-space:nowrap;max-width:13rem;transition:max-width .24s ease, opacity var(--transition-base), transform var(--transition-base);overflow:clip visible}.nav-logo .nav-signature-name{font-family:var(--font-signature);font-synthesis:none;letter-spacing:0;max-width:13.75rem;padding-right:.55rem;font-size:1.32rem;font-style:normal;font-weight:400;line-height:.9;overflow:visible;transform:translateY(.02rem)}.site-nav.is-scrolled .nav-logo span{--nav-logo-text-opacity:1;--nav-logo-text-mid-opacity:.72;opacity:1;max-width:10.75rem}.site-nav.is-scrolled .nav-logo .nav-signature-name{padding-block:.08rem;font-size:1.12rem;line-height:1.15;transform:translateY(0)}.nav-logo-mark{width:auto;height:.85rem;color:var(--text-primary);opacity:.9;transition:opacity var(--transition-base);flex:none;display:block;transform:translateY(.01rem)}.nav-logo:hover .nav-logo-mark{opacity:1}.nav-logo-mark rect{transform-box:fill-box}.nav-logo-block{opacity:1;transform-origin:50%}.nav-logo-stripe{opacity:1;transform-origin:0;transform:scaleX(1)}.nav-logo-intro .nav-logo-block{opacity:0;animation:.28s cubic-bezier(.22,1,.36,1) .68s both nav-logo-block-in}.nav-logo-intro .nav-logo span{opacity:0;filter:blur(3px);animation:.6s cubic-bezier(.33,1,.68,1) both nav-logo-text-in;transform:translate(-.55rem)}.nav-logo-intro .site-nav.is-scrolled .nav-logo span{opacity:0;filter:blur(3px);transform:translate(-.55rem)}.nav-logo-intro .nav-logo-stripe{opacity:0;animation:.46s cubic-bezier(.2,.9,.2,1) both nav-logo-stripe-out;transform:scaleX(0)}.nav-logo-intro .nav-logo-stripe-top{animation-delay:.88s}.nav-logo-intro .nav-logo-stripe-middle{animation-delay:1.02s}.nav-logo-intro .nav-logo-stripe-bottom{animation-delay:1.16s}@keyframes nav-logo-block-in{0%{opacity:0;transform:scale(.72,.86)}to{opacity:1;transform:scale(1)}}@keyframes nav-logo-text-in{0%{opacity:0;filter:blur(3px);transform:translate(-.55rem)}70%{opacity:var(--nav-logo-text-mid-opacity);filter:blur(1px)}to{opacity:var(--nav-logo-text-opacity);filter:blur();transform:translate(0)}}@keyframes nav-logo-stripe-out{0%{opacity:0;transform:scaleX(0)}18%{opacity:1}72%{transform:scaleX(1.015)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.nav-logo-intro .nav-logo-block,.nav-logo-intro .nav-logo span,.nav-logo-intro .nav-logo-stripe{filter:none;opacity:1;animation:none;transform:none}}.nav-links{gap:var(--space-xl);display:flex}.nav-links a{color:var(--text-muted);letter-spacing:.03em;transition:color var(--transition-base);font-size:.85rem;font-weight:300;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.nav-hamburger{cursor:pointer;z-index:1010;background:0 0;border:none;width:40px;height:40px;padding:.5rem;display:none;position:relative}.nav-hamburger span{background:var(--text-primary);transform-origin:50%;width:20px;height:2px;transition:transform .28s ease-in-out, background var(--transition-base);border-radius:2px;display:block;position:absolute;top:19px;left:10px}.nav-hamburger span:first-child{transform:translateY(-3.5px)}.nav-hamburger span:nth-child(2){transform:translateY(3.5px)}.nav-hamburger.open span:first-child{transform:translateY(0)rotate(45deg)}.nav-hamburger.open span:nth-child(2){transform:translateY(0)rotate(-45deg)}@media (width<=800px){body{padding-top:4.45rem}nav{padding:1.5rem}.site-nav.is-scrolled{width:calc(100% - 1.5rem);padding:.62rem .85rem}.site-nav.is-scrolled .nav-logo span{opacity:1;max-width:none;overflow:visible;transform:none}.site-nav.is-scrolled .nav-logo .nav-signature-name{padding-right:.55rem}.site-nav.nav-home:not(.is-scrolled) .nav-logo .nav-signature-name{display:none}.nav-hamburger{display:block}.nav-links{background:var(--bg);justify-content:center;align-items:center;gap:var(--space-xl);z-index:1000;opacity:0;pointer-events:none;clip-path:inset(0 0 100%);flex-direction:column;width:100%;height:100dvh;transition:clip-path .45s ease-in-out,opacity .18s;position:fixed;top:0;left:0}.nav-links.open{opacity:1;pointer-events:auto;clip-path:inset(0);transition:clip-path .45s ease-in-out,opacity .18s}.nav-links.closing{opacity:1;pointer-events:none;clip-path:inset(0 0 100%);transition:clip-path .45s ease-in-out,opacity .18s .27s}.nav-links a{padding:var(--space-sm);opacity:0;filter:blur(16px);font-size:1.5rem;font-weight:400;transition:opacity .3s,filter .3s,transform .3s;transform:translateY(-12px)}.nav-links.open a{opacity:1;filter:blur();transition:opacity .46s,filter .46s,transform .46s;transform:translateY(0)}.nav-links.open a:first-child{transition-delay:80ms}.nav-links.open a:nth-child(2){transition-delay:.22s}.nav-links.open a:nth-child(3){transition-delay:.36s}.nav-links.open a:nth-child(4){transition-delay:.5s}.nav-links.open a:nth-child(5){transition-delay:.64s}.nav-links:not(.open) a{transition-delay:0s}}main{justify-content:center;align-items:center;min-height:calc(100vh - 80px);display:flex}main:has(.home-split){flex-direction:column;align-items:stretch}h1{letter-spacing:.04em;color:#f0f0f0;font-size:3.5rem;font-weight:400}.page{max-width:var(--content-width);width:100%;padding:var(--space-4xl) var(--space-xl);animation:fade-up var(--transition-slow) ease both;margin:0 auto}.page h1{margin-bottom:var(--space-lg);font-size:1.5rem}.page p{color:var(--text-muted);font-size:.9rem;font-weight:300;line-height:1.7}.section-label{color:var(--text-ghost);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-md);font-size:.6rem;font-weight:400;display:block}@keyframes home-child-rise{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes home-left-load{0%{opacity:0;filter:blur(6px);translate:0 18px;scale:.985}to{opacity:1;filter:blur();translate:0;scale:1}}@keyframes testimonial-card-in{0%{opacity:0;filter:blur(9px);transform:translateY(28px)scale(.972)rotateX(4deg)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)rotateX(0)}}@keyframes testimonial-brand-in{0%{opacity:0;transform:translateY(-10px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes testimonial-mark-in{0%{opacity:0;transform:scale(.7)rotate(-8deg)}to{opacity:.9;transform:scale(1)rotate(0)}}@keyframes testimonial-quote-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-right{opacity:0;perspective:1200px;transform-style:preserve-3d;animation:.72s cubic-bezier(.22,1,.36,1) .18s forwards home-right-load}@keyframes home-right-load{to{opacity:1}}.home-scroll-ready .home-scroll-reveal{opacity:0;--home-scroll-depth:0;--home-section-lift:0px;clip-path:inset(0 0 28%);transform-origin:top;filter:blur(12px);will-change:opacity, clip-path, transform, filter;transition:opacity .95s cubic-bezier(.16,1,.3,1),clip-path .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),filter .95s cubic-bezier(.16,1,.3,1);position:relative;transform:translateY(58px)scale(.972)rotateX(5deg)}.home-scroll-ready .home-reveal-from-left,.home-scroll-ready .home-reveal-from-right{transform:translateY(58px)scale(.972)rotateX(5deg)}.home-scroll-ready .home-scroll-reveal.is-visible{opacity:1;clip-path:inset(0);transform:translateY(var(--home-section-lift)) scale(1) rotateX(0);filter:blur()}.home-scroll-ready .home-scroll-reveal .home-research-item,.home-scroll-ready .home-scroll-reveal .home-proj-item,.home-scroll-ready .home-scroll-reveal .home-now-item,.home-scroll-ready .home-scroll-reveal .home-story p,.home-scroll-ready .home-scroll-reveal .section-label,.home-scroll-ready .home-scroll-reveal .project-read,.home-scroll-ready .home-scroll-reveal .proj-view-all{opacity:0;filter:blur(6px);transform:translateY(20px)scale(.985)}.home-scroll-ready .home-scroll-reveal.is-visible .home-research-item,.home-scroll-ready .home-scroll-reveal.is-visible .home-proj-item,.home-scroll-ready .home-scroll-reveal.is-visible .home-now-item,.home-scroll-ready .home-scroll-reveal.is-visible .home-story p,.home-scroll-ready .home-scroll-reveal.is-visible .section-label,.home-scroll-ready .home-scroll-reveal.is-visible .project-read,.home-scroll-ready .home-scroll-reveal.is-visible .proj-view-all{animation:.72s cubic-bezier(.16,1,.3,1) forwards home-child-rise}.home-scroll-ready .home-scroll-reveal.is-visible .section-label{transform:translateY(calc(var(--home-scroll-depth) * -10px))}.home-scroll-ready .home-scroll-reveal.is-visible .project-read,.home-scroll-ready .home-scroll-reveal.is-visible .proj-view-all{transform:translateY(calc(var(--home-scroll-depth) * -6px))}.home-scroll-ready .home-scroll-reveal.is-visible .home-story p,.home-scroll-ready .home-scroll-reveal.is-visible .home-proj-item,.home-scroll-ready .home-scroll-reveal.is-visible .home-research-item,.home-scroll-ready .home-scroll-reveal.is-visible .home-now-item{transition:transform .22s linear,filter .22s linear}.home-scroll-ready .home-scroll-reveal.is-visible .home-story p:first-child,.home-scroll-ready .home-scroll-reveal.is-visible .section-label{animation-delay:40ms}.home-scroll-ready .home-scroll-reveal.is-visible .home-research-item:nth-child(2),.home-scroll-ready .home-scroll-reveal.is-visible .home-proj-item:nth-child(2),.home-scroll-ready .home-scroll-reveal.is-visible .home-now-item:nth-child(2),.home-scroll-ready .home-scroll-reveal.is-visible .home-story p:nth-child(2),.home-scroll-ready .home-scroll-reveal.is-visible .project-read{animation-delay:.1s}.home-scroll-ready .home-scroll-reveal.is-visible .home-proj-item:nth-child(3),.home-scroll-ready .home-scroll-reveal.is-visible .home-story p:nth-child(3){animation-delay:.2s}.home-scroll-ready .home-scroll-reveal.is-visible .home-proj-item:nth-child(4),.home-scroll-ready .home-scroll-reveal.is-visible .home-story p:nth-child(4),.home-scroll-ready .home-scroll-reveal.is-visible .proj-view-all{animation-delay:.3s}@media (prefers-reduced-motion:reduce){.home-scroll-ready .home-scroll-reveal{opacity:1;clip-path:none;filter:none;will-change:auto;transition:none;transform:none}.home-scroll-ready .home-scroll-reveal .home-research-item,.home-scroll-ready .home-scroll-reveal .home-proj-item,.home-scroll-ready .home-scroll-reveal .home-testimonial-entry,.home-scroll-ready .home-scroll-reveal .home-testimonial-brand,.home-scroll-ready .home-scroll-reveal .home-testimonial-quote-mark,.home-scroll-ready .home-scroll-reveal .home-testimonial p,.home-scroll-ready .home-scroll-reveal .home-now-item,.home-scroll-ready .home-scroll-reveal .home-story p,.home-scroll-ready .home-scroll-reveal .section-label,.home-scroll-ready .home-scroll-reveal .project-read,.home-scroll-ready .home-scroll-reveal .proj-view-all{opacity:1;filter:none;animation:none;transform:none}}.home-split{max-width:calc(300px + 48rem + var(--space-2xl));width:100%;min-height:calc(100vh - 80px);padding:var(--space-4xl) var(--space-xl);grid-template-columns:300px minmax(0,48rem);gap:0;margin:0 auto;display:grid;overflow-x:clip}.home-left{top:var(--space-4xl);padding-right:var(--space-2xl);align-self:flex-start;gap:var(--space-xl);flex-direction:column;display:flex;position:sticky}.home-left h1{letter-spacing:0;white-space:nowrap;margin-bottom:0;font-size:1.6rem;font-weight:400}.home-signature-block{transform-origin:0;cursor:default;width:fit-content;margin-bottom:.15rem;padding-bottom:1.08rem;transition:transform .58s cubic-bezier(.22,1,.36,1),filter .58s cubic-bezier(.22,1,.36,1);display:inline-block;position:relative;overflow:visible;transform:rotate(-1deg)}.home-signature-block:hover,.home-signature-block:focus-within{filter:drop-shadow(0 10px 22px #ffffff0f);transform:rotate(-1deg)translateY(-2px)}.home-signature-block:after{content:"";background:linear-gradient(90deg, transparent, var(--text-faint) 18%, var(--text-secondary) 82%, transparent);opacity:0;height:1px;transition:opacity .35s,height .35s,background .35s;animation:.45s .46s forwards signature-line-fade;position:absolute;top:1.8rem;left:.18rem;right:-.08rem}.home-signature-block:hover:after,.home-signature-block:focus-within:after{opacity:1;background:linear-gradient(90deg, transparent, var(--text-secondary) 12%, #fff 50%, var(--text-secondary) 88%, transparent);height:2px}.home-signature{box-sizing:content-box;width:fit-content;font-family:var(--font-signature);font-synthesis:none;color:var(--text-primary);opacity:0;clip-path:inset(0 100% 0 0);margin-right:-.75rem;padding-right:.75rem;font-size:2.45rem;font-style:normal;font-weight:400;line-height:1.05;transition:color .35s,text-shadow .35s,transform .58s cubic-bezier(.22,1,.36,1);animation:.92s cubic-bezier(.45,0,.15,1) .12s forwards signature-name-write;position:relative}.home-signature-block:hover .home-signature,.home-signature-block:focus-within .home-signature{color:#fff;text-shadow:0 0 18px #ffffff29,0 0 42px #ffffff14;transform:translate(.08rem)}.home-signature-block .home-subtitle{font-family:var(--font-signature);color:var(--text-subtle);letter-spacing:0;text-transform:none;white-space:nowrap;opacity:0;clip-path:inset(0 100% 0 0);margin:0;font-size:.68rem;font-style:normal;font-weight:400;line-height:1;transition:color .35s,opacity .35s,transform .58s cubic-bezier(.22,1,.36,1);animation:.68s cubic-bezier(.45,0,.15,1) 1.02s forwards signature-subtitle-write;position:absolute;top:calc(100% - .78rem + 2px);left:50%;transform:translate(-50%)translateY(0)}.home-signature-block:hover .home-subtitle,.home-signature-block:focus-within .home-subtitle{color:var(--text-secondary);opacity:1;transform:translate(-50%)translateY(4px)}@keyframes signature-name-write{to{opacity:1;clip-path:inset(0)}}@keyframes signature-line-fade{to{opacity:.85}}@keyframes signature-subtitle-write{to{opacity:.88;clip-path:inset(0);transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.home-signature,.home-signature-block:after,.home-signature-block .home-subtitle,.home-tagline,.home-left-links a{animation:none}.home-signature{opacity:1;clip-path:inset(0)}.home-signature-block:after{opacity:.85}.home-signature-block .home-subtitle{opacity:.88;clip-path:inset(0);transform:translate(-50%)translateY(0)}.home-tagline,.home-left-links a{opacity:1;filter:none;translate:none;scale:1}}.home-subtitle{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:300}.home-tagline{max-width:16.5rem;color:var(--text-subtle);opacity:0;filter:blur(6px);font-size:.9rem;font-weight:300;line-height:1.75;animation:.72s cubic-bezier(.16,1,.3,1) .62s forwards home-left-load;translate:0 18px;scale:.985}.home-left-links{flex-direction:column;gap:.5rem;margin-top:0;display:flex}.home-left-links a{width:fit-content;color:var(--text-faint);opacity:0;filter:blur(6px);transition:color var(--transition-base), transform .28s cubic-bezier(.16, 1, .3, 1);font-size:.78rem;font-weight:300;text-decoration:none;animation:.72s cubic-bezier(.16,1,.3,1) forwards home-left-load;position:relative;translate:0 18px;scale:.985}.home-left-links a:first-child{animation-delay:.76s}.home-left-links a:nth-child(2){animation-delay:.88s}.home-left-links a:nth-child(3){animation-delay:1s}.home-left-links a:nth-child(4){animation-delay:1.12s}.home-left-links a:after{content:"";opacity:0;height:1px;transition:opacity var(--transition-base);background:currentColor;position:absolute;bottom:-.18rem;left:0;right:0}.home-left-links a:hover{color:var(--text-primary);transform:translateY(-1px)}.home-left-links a:hover:after{opacity:.7}.home-right{border-left:1px solid var(--border);padding-left:var(--space-2xl);flex-direction:column;min-width:0;display:flex;overflow-x:clip}.home-section{padding:var(--space-xl) 0;border-bottom:1px solid var(--border)}.home-section:last-child{border-bottom:none}.home-section-story{padding-bottom:var(--space-md);border-bottom:none}.home-section-research{padding-top:var(--space-md);padding-bottom:var(--space-md);border-bottom:none}.home-section-research+.home-section{padding-top:var(--space-md)}.home-section-projects,.home-section-testimonials{padding-bottom:var(--space-md);border-bottom:none}.home-section-projects+.home-section,.home-section-testimonials+.home-section{padding-top:var(--space-md)}.home-section .section-label{color:var(--text-subtle);margin-bottom:var(--space-md);font-size:.7rem}.home-section-body{color:var(--text-subtle);font-size:.88rem;font-weight:300;line-height:1.75}.home-story-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.home-story{gap:var(--space-md);flex-direction:column;display:flex}.home-story p{color:var(--text-muted);text-align:justify;hyphens:auto;margin:0;font-size:.88rem;font-weight:300;line-height:1.8}.home-hl-list{flex-direction:column;gap:0;display:flex}.home-hl-item{justify-content:space-between;align-items:flex-start;gap:var(--space-md);border-bottom:1px solid var(--border);padding:.65rem 0;display:flex}.home-hl-item:first-child{padding-top:0}.home-hl-item:last-child{border-bottom:none;padding-bottom:0}.home-hl-main{flex-direction:column;gap:.15rem;display:flex}.home-hl-name{color:var(--text-primary);font-size:.85rem;font-weight:400}.home-hl-meta{color:var(--text-subtle);font-size:.72rem;font-weight:300}.home-hl-year{color:var(--text-faint);flex-shrink:0;font-size:.7rem;font-weight:300}.home-research-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.home-research-item{min-height:8.25rem;color:inherit;cursor:pointer;transition:background-color var(--transition-base), transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s cubic-bezier(.16, 1, .3, 1);padding:.82rem 5.75rem 2.1rem;text-decoration:none;display:block;position:relative}.home-research-item-static{cursor:default}.home-research-item-static:hover,.home-research-item-static:focus-visible{transform:none}.home-research-item-static:hover:before,.home-research-item-static:focus-visible:before{background:0 0}.home-research-item-static:hover:after,.home-research-item-static:focus-visible:after{opacity:0}.home-research-item:before{content:"";width:2px;transition:background var(--transition-base);background:0 0;border-radius:2px;position:absolute;top:.82rem;bottom:.82rem;left:-.85rem}.home-research-item:after{content:"";z-index:-1;opacity:0;transition:opacity var(--transition-base);pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff07 18%,#ffffff0a 50%,#ffffff07 82%,#0000);position:absolute;inset:.38rem 0}.home-research-item:hover:before{background:var(--text-faint)}.home-research-item:hover,.home-research-item:focus-visible{transform:translate(.18rem)}.home-research-item:hover:after,.home-research-item:focus-visible:after{opacity:1}.home-research-item:hover .home-research-title,.home-research-item:focus-visible .home-research-title{color:#fff}.home-research-item:hover .home-research-desc,.home-research-item:focus-visible .home-research-desc{color:var(--text-subtle)}.home-research-item+.home-research-item{border-top:1px solid var(--border)}.home-research-main{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:.42rem;min-height:4.8rem;padding-top:0;display:flex}.home-research-score{border-radius:var(--radius-sm);color:#fff;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:none;align-items:center;min-height:1.35rem;padding:0 .5rem;font-size:.62rem;font-weight:700;display:inline-flex;position:absolute;top:.82rem;left:0}.home-research-score-high{background:#dc2626}.home-research-score-medium{background:#d97706}.home-research-score-low{background:#3f8f5f}.home-research-title{max-width:28rem;color:var(--text-primary);font-size:.94rem;font-weight:400;line-height:1.35;display:block}.home-research-company{color:var(--text-muted);font-size:.76rem;font-weight:300;line-height:1.45}.home-research-desc{max-width:24rem;color:var(--text-faint);font-size:.72rem;font-weight:300;line-height:1.55}.home-research-confidential{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;font-weight:300;position:absolute;top:.92rem;right:0}.home-research-view{z-index:1;color:var(--text-faint);letter-spacing:.02em;white-space:nowrap;pointer-events:auto;transition:color var(--transition-base);align-items:center;gap:.28rem;font-size:.68rem;font-weight:300;display:inline-flex;position:absolute;top:.88rem;right:0}.home-research-view svg{flex-shrink:0;transition:transform .28s cubic-bezier(.16,1,.3,1)}.home-research-view:hover{color:var(--text-primary)}.home-research-view:hover svg{transform:translate(.18rem)}.home-research-date{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.62rem;font-weight:300;position:absolute;top:.92rem;right:0}.home-research-impact,.home-research-handling{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;font-weight:300;position:absolute;bottom:.85rem}.home-research-impact{left:0}.home-research-handling{right:0}@media (width<=640px){.home-section-research .home-research-item{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"score meta""main main""impact handling";align-items:center;gap:.7rem .75rem;min-height:0;padding:1rem .1rem 1.05rem;display:grid}.home-section-research .home-research-item:hover,.home-section-research .home-research-item:focus-visible{transform:none}.home-section-research .home-research-item:before{display:none}.home-section-research .home-research-score{grid-area:score;justify-self:start;min-height:1.25rem;padding:0 .42rem;font-size:.58rem;position:static}.home-section-research .home-research-view,.home-section-research .home-research-confidential,.home-section-research .home-research-date{grid-area:meta;justify-self:end;font-size:.64rem;position:static;top:auto;right:auto}.home-section-research .home-research-main{text-align:left;grid-area:main;align-items:flex-start;gap:.38rem;width:100%;min-height:0}.home-section-research .home-research-title,.home-section-research .home-research-desc{max-width:none}.home-section-research .home-research-title{font-size:.9rem}.home-section-research .home-research-company{font-size:.72rem}.home-section-research .home-research-desc{font-size:.7rem;line-height:1.55}.home-section-research .home-research-impact,.home-section-research .home-research-handling{font-size:.58rem;position:static;bottom:auto;left:auto;right:auto}.home-section-research .home-research-impact{grid-area:impact;justify-self:start}.home-section-research .home-research-handling{text-align:right;grid-area:handling;justify-self:end}}.home-proj-list{flex-direction:column;display:flex}.home-proj-item{border-bottom:1px solid var(--border);transition:border-color var(--transition-base), color var(--transition-base);flex-direction:column;gap:.25rem;padding:.85rem 0;display:flex;position:relative}.home-proj-item:first-child{padding-top:0}.home-proj-item:last-child{border-bottom:none}.home-proj-item:before{content:"";width:2px;transition:background var(--transition-base);background:0 0;border-radius:2px;position:absolute;top:0;bottom:0;left:-.85rem}.home-proj-item:hover:before{background:var(--text-faint)}.home-proj-item:hover .home-proj-name{color:#fff}.home-proj-header{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.home-proj-name{color:var(--text-primary);font-size:.88rem;font-weight:400}.home-proj-desc{max-width:80%;color:var(--text-muted);text-align:justify;text-align-last:left;hyphens:auto;font-size:.8rem;font-weight:300;line-height:1.65}.proj-view-all{width:fit-content;margin-top:var(--space-lg);font-family:var(--font);letter-spacing:.04em;color:var(--bg);background:var(--text-primary);border-radius:var(--radius-md);transition:background var(--transition-base), box-shadow .28s ease, transform .28s cubic-bezier(.16, 1, .3, 1);align-items:center;padding:.6rem 1.25rem;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.proj-view-all:hover{background:#fff;transform:translateY(-2px);box-shadow:0 .8rem 1.8rem #ffffff14}.proj-view-all:active{transform:translateY(0)}.home-testimonial{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;overflow:visible}.home-testimonial-entry{--testimonial-offset:0s;--testimonial-x:-18px;--testimonial-rotate:-2deg;grid-template-columns:minmax(0,1fr) 6.25rem;align-items:start;gap:1.45rem;padding:1.7rem 0;display:grid;position:relative;overflow:visible}.home-testimonial-entry:nth-child(2){--testimonial-offset:.34s;--testimonial-x:18px;--testimonial-rotate:2deg}.home-testimonial-entry:nth-child(3){--testimonial-offset:.68s;--testimonial-x:-12px;--testimonial-rotate:-1deg}.home-scroll-ready .home-scroll-reveal .home-testimonial-entry{opacity:0;filter:blur(9px);transform:translate3d(var(--testimonial-x), 28px, 0) scale(.972) rotateX(4deg) rotateZ(var(--testimonial-rotate));transform-origin:top}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-entry{animation:testimonial-card-in .82s cubic-bezier(.16, 1, .3, 1) var(--testimonial-offset) forwards}.home-scroll-ready .home-scroll-reveal .home-testimonial-brand,.home-scroll-ready .home-scroll-reveal .home-testimonial-quote,.home-scroll-ready .home-scroll-reveal .home-testimonial-quote-mark,.home-scroll-ready .home-scroll-reveal .home-testimonial p{opacity:0}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-brand{animation:testimonial-brand-in .62s cubic-bezier(.16, 1, .3, 1) calc(var(--testimonial-offset) + .14s) forwards}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-quote{animation:testimonial-quote-in .64s cubic-bezier(.16, 1, .3, 1) calc(var(--testimonial-offset) + .18s) forwards}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-quote-mark{animation:testimonial-mark-in .62s cubic-bezier(.16, 1, .3, 1) calc(var(--testimonial-offset) + .26s) forwards}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-entry .home-testimonial-quote p{animation:home-child-rise .72s cubic-bezier(.16, 1, .3, 1) calc(var(--testimonial-offset) + .34s) forwards}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-entry p:nth-of-type(2){animation-delay:calc(var(--testimonial-offset) + .44s)}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-entry p:nth-of-type(3){animation-delay:calc(var(--testimonial-offset) + .54s)}.home-scroll-ready .home-scroll-reveal.is-visible .home-testimonial-entry p:nth-of-type(4){animation-delay:calc(var(--testimonial-offset) + .64s)}.home-testimonial-entry+.home-testimonial-entry{border-top:0;margin-top:.35rem;padding-top:2rem}.home-testimonial-entry+.home-testimonial-entry:after{content:"";background:var(--border-visible);height:1px;position:absolute;top:0;left:2.05rem;right:2.05rem}.home-testimonial-brand{flex-direction:column;grid-area:1/2;justify-self:end;align-items:flex-end;gap:.35rem;margin-top:.18rem;display:flex}.home-testimonial-logo{filter:none;opacity:1;width:5.65rem;display:inline-flex}.home-testimonial-logo img{width:100%;height:auto;display:block}.home-testimonial-abstract{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.home-testimonial-abstract-caption{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;line-height:1}.home-testimonial-abstract-sub{color:var(--text-ghost);letter-spacing:.12em;text-transform:uppercase;font-size:.52rem;line-height:1}.home-testimonial-date{color:var(--text-ghost);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:300}.home-testimonial-quote{grid-area:1/1;max-width:none;padding:1.25rem 2.35rem .05rem 3.35rem;position:relative;overflow:visible}.home-testimonial-quote-mark{box-sizing:content-box;width:2.05rem;height:2.05rem;color:var(--border-visible);opacity:.9;padding:.08rem;position:absolute;overflow:visible}.home-testimonial-quote-mark-open{top:.35rem;left:.67rem}.home-testimonial-quote-mark-close{bottom:-.38rem;right:-.08rem}.home-testimonial p{color:var(--text-subtle);text-align:justify;text-align-last:left;hyphens:auto;margin:0;font-size:.78rem;font-weight:300;line-height:1.68;display:block}.home-testimonial p+p{margin-top:.9rem}@media (width<=520px){.home-testimonial-entry{grid-template-columns:1fr;gap:.85rem;padding:1.25rem 0}.home-testimonial-entry+.home-testimonial-entry{padding-top:1.65rem}.home-testimonial-entry+.home-testimonial-entry:after{left:0;right:0}.home-testimonial-brand{grid-area:1/1;justify-self:start;align-items:flex-start;margin-top:0}.home-testimonial-logo{width:5.35rem}.home-testimonial-abstract{align-items:flex-start}.home-testimonial-quote{grid-area:2/1;padding:1.1rem 2rem .05rem 2.7rem}.home-testimonial-quote-mark{width:1.75rem;height:1.75rem}.home-testimonial-quote-mark-open{top:.3rem;left:.47rem}.home-testimonial-quote-mark-close{bottom:-.4rem;right:-.08rem}}.home-now{flex-direction:column;display:flex}.home-now-item{gap:var(--space-lg);border-bottom:1px solid var(--border);padding:.75rem 0;display:flex}.home-now-item:first-child{padding-top:0}.home-now-item:last-child{border-bottom:none;padding-bottom:0}.home-now-label{color:var(--text-faint);flex-shrink:0;min-width:4.5rem;padding-top:.1rem;font-size:.72rem;font-weight:400}.home-now-value{color:var(--text-muted);font-size:.85rem;font-weight:300;line-height:1.5}.home-now-value a{color:var(--text-primary);text-underline-offset:2px;transition:color var(--transition-base), transform .28s cubic-bezier(.16, 1, .3, 1);text-decoration:none;display:inline-block;position:relative}.home-now-value a:after{content:"";opacity:0;height:1px;transition:opacity var(--transition-base);background:currentColor;position:absolute;bottom:.08em;left:0;right:0}.home-now-value a:hover,.home-now-value a:focus-visible{color:#fff;transform:translateY(-1px)}.home-now-value a:hover:after,.home-now-value a:focus-visible:after{opacity:.7}.home-freedom250{width:100%;padding:var(--space-2xl) var(--space-xl) calc(var(--space-md) + var(--space-3xl));position:relative}.home-freedom250-battle{z-index:0;object-fit:contain;object-position:left bottom;opacity:.72;pointer-events:none;filter:grayscale()contrast(1.05);width:min(28rem,42vw);height:auto;max-height:calc(100% + 10px);position:absolute;bottom:-10px;left:-5px;mask-image:linear-gradient(90deg,#000 58%,#0000 100%)}.home-freedom250-inner{z-index:1;align-items:center;gap:var(--space-md);max-width:var(--home-layout-width);padding-top:var(--space-xl);border-top:1px solid var(--border);text-align:center;flex-direction:column;margin:0 auto;display:flex;position:relative}.home-freedom250-inner:before{content:"";background:linear-gradient(90deg,#0000,#962c3aa6,#dcdcdcb8,#304c82a6,#0000);width:min(18rem,56vw);height:1px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.home-freedom250-mark{justify-content:center;align-items:center;width:min(18rem,70vw);height:4.4rem;display:flex;position:relative}.home-freedom250-mark:before{content:"";background:linear-gradient(90deg, transparent, #962c3a80, var(--border-hover), #304c8280, transparent);height:1px;position:absolute;top:50%;left:0;right:0}.home-freedom250-mark span{z-index:1;background:var(--bg);color:#0000;letter-spacing:.08em;-webkit-text-stroke:1px #ffffff57;text-stroke:1px #ffffff57;text-shadow:0 0 2.2rem #ffffff14;padding:0 1rem;font-family:Helvetica Neue,Arial,sans-serif;font-size:clamp(3.4rem,9vw,5.8rem);font-weight:200;line-height:.82;display:block;position:relative}.home-freedom250 .section-label{color:var(--text-faint);margin:0;font-size:.7rem}.home-freedom250-copy{flex-direction:column;align-items:center;max-width:34rem;display:flex}.home-freedom250 h2{margin:0 0 var(--space-md);color:var(--text-primary);letter-spacing:0;grid-template-columns:auto minmax(3rem,7vw) auto;align-items:center;gap:clamp(.7rem,2vw,1.25rem);font-size:clamp(1.65rem,3.6vw,3rem);font-weight:500;line-height:1.05;display:inline-grid}.home-freedom250-date-mark{height:1rem;display:block;position:relative}.home-freedom250-date-mark:before,.home-freedom250-date-mark:after{content:"";background:var(--border-hover);width:calc(50% - .42rem);height:1px;position:absolute;top:50%}.home-freedom250-date-mark:before{background:linear-gradient(90deg,#0000,#962c3abf);left:0}.home-freedom250-date-mark:after{background:linear-gradient(90deg,#304c82bf,#0000);right:0}.home-freedom250-date-mark span{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);background:#ffffff9e;width:.72rem;height:.72rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-freedom250 p{max-width:38rem;color:var(--text-subtle);margin:0;font-size:.92rem;font-weight:300;line-height:1.75}.home-freedom250 p.home-freedom250-meta{color:var(--text-faint);letter-spacing:.02em;margin:1.5rem auto 0;font-size:.72rem;font-style:italic;display:block}.cta-primary{font-family:var(--font);letter-spacing:.04em;color:var(--bg);background:var(--text-primary);border-radius:var(--radius-md);transition:background var(--transition-base), box-shadow .28s ease, transform .28s cubic-bezier(.16, 1, .3, 1);padding:.6rem 1.25rem;font-size:.75rem;font-weight:500;text-decoration:none;position:relative}.cta-primary svg{transition:transform .28s cubic-bezier(.16,1,.3,1)}.cta-primary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 .8rem 1.8rem #ffffff14}.cta-primary:hover svg{transform:translate(.18rem)}.cta-primary:active{transform:translateY(0)}.cta-secondary{font-family:var(--font);color:var(--text-subtle);border:1px solid var(--border-visible);border-radius:var(--radius-md);transition:color var(--transition-base), border-color var(--transition-base);padding:.6rem 1.25rem;font-size:.75rem;font-weight:300;text-decoration:none}.cta-secondary:hover{color:var(--text-primary);border-color:var(--text-ghost)}@media (width<=640px){.home-split{padding:var(--space-2xl) var(--space-md);grid-template-columns:1fr}.home-left{padding-right:0;padding-bottom:var(--space-xl);border-bottom:1px solid var(--border);margin-bottom:var(--space-xl);text-align:center;align-items:center;position:static}.home-left-links{text-align:center;justify-content:center;align-items:center}.home-left-links a{text-align:center;overflow-wrap:anywhere}.home-freedom250{padding:var(--space-xl) var(--space-md) var(--space-3xl)}.home-freedom250-battle{display:none}.home-freedom250-inner{gap:var(--space-sm)}.home-right{border-left:none;padding-left:0}.home-proj-desc{max-width:none}}.blog-list{max-width:var(--content-width);width:100%;padding:var(--space-3xl) var(--space-xl);animation:fade-up var(--transition-slow) ease both;margin:0 auto}.blog-list h1{margin-bottom:var(--space-lg);font-size:1.5rem}.search-bar{margin-bottom:var(--space-md);padding:.55rem var(--space-md);background:var(--bg-raised);border:1px solid var(--border-visible);border-radius:var(--radius-md);transition:border-color var(--transition-base);align-items:center;gap:.6rem;display:flex}.search-bar:focus-within{border-color:var(--text-ghost)}.search-icon{color:var(--text-ghost);flex-shrink:0}.search-bar input{font-family:var(--font);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.8rem;font-weight:300}@media (hover:none) and (pointer:coarse){.search-bar input{font-size:16px}}.search-bar input::placeholder{color:var(--text-ghost)}.tag-filter{margin-bottom:var(--space-xl);flex-wrap:wrap;gap:.4rem;display:flex}.tag-filter-btn{font-family:var(--font);color:var(--text-subtle);border:1px solid var(--border-visible);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-base), border-color var(--transition-base);background:0 0;padding:.2rem .5rem;font-size:.6rem;font-weight:300}.tag-filter-btn:hover{color:var(--text-muted);border-color:var(--text-ghost)}.tag-filter-btn.active{color:var(--text-primary);border-color:var(--text-subtle)}.post-item{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--border);transition:opacity .46s cubic-bezier(.16,1,.3,1),transform .46s cubic-bezier(.16,1,.3,1);transition-delay:var(--post-stagger,0s)}.post-item.hiding{opacity:0;transform:translateY(10px)}.post-item.showing{opacity:1;transform:translateY(0)}.post-item:last-child{border-bottom:none}.post-item>a{color:var(--text-primary);transition:color var(--transition-base);font-size:.95rem;font-weight:400;text-decoration:none}.post-item>a:hover{color:#fff}.post-item-meta{align-items:center;gap:.75rem;margin-top:.35rem;display:flex}.post-date{color:var(--text-subtle);font-size:.7rem;font-weight:300}.post-read-time{color:var(--text-faint);font-size:.7rem;font-weight:300}.post-pinned{color:var(--text-primary);border:1px solid var(--border-visible);border-radius:var(--radius-sm);padding:.12rem .35rem;font-size:.58rem;font-weight:400}.post-item-desc{color:var(--text-subtle);margin-top:.35rem;font-size:.78rem;font-weight:300;line-height:1.4}.post-item-tags{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.post-item-tag{max-width:100%;color:var(--text-faint);border:1px solid var(--border-visible);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:.15rem .4rem;font-size:.58rem;font-weight:300}.no-results{color:var(--text-faint);font-size:.85rem;font-weight:300;display:none}.blog-pagination{margin-top:var(--space-xl);padding-top:var(--space-lg);align-items:center;gap:.35rem;display:flex}.page-btn{font-family:var(--font);color:var(--text-subtle);border:1px solid var(--border-visible);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-base), border-color var(--transition-base);background:0 0;padding:.3rem .65rem;font-size:.72rem;font-weight:300}.page-btn:hover{color:var(--text-primary);border-color:var(--text-ghost)}.page-btn.active{color:var(--text-primary);border-color:var(--text-subtle)}.post-layout{gap:var(--space-2xl);width:100%;max-width:1000px;padding:0 var(--space-xl);grid-template-columns:200px minmax(0,720px);margin:0 auto;display:grid}.post-layout>main{width:100%;min-width:0}.post-sidebar{top:var(--space-xl);width:200px;min-width:200px;padding:var(--space-3xl) 0;align-self:flex-start;align-items:flex-start;gap:var(--space-md);flex-direction:column;display:flex;position:sticky}.sidebar-back{font-family:var(--font);color:var(--text-faint);transition:color var(--transition-base);align-items:center;gap:.3rem;font-size:.7rem;font-weight:300;text-decoration:none;display:flex}.sidebar-back:hover{color:var(--text-primary)}.sidebar-meta{padding-bottom:var(--space-md);border-bottom:1px solid var(--border);flex-direction:column;gap:.35rem;display:flex}.sidebar-title{color:var(--text-muted);font-size:.75rem;font-weight:400;line-height:1.5}.sidebar-date{color:var(--text-faint);font-size:.65rem;font-weight:300}.sidebar-desc{color:var(--text-ghost);margin-top:var(--space-xs);font-size:.65rem;font-weight:300;line-height:1.5}.sidebar-inline-tags{margin-top:var(--space-xs);flex-wrap:wrap;gap:.35rem;display:flex}.sidebar-share{width:100%;margin-top:var(--space-sm);flex-direction:column;gap:.35rem;display:flex;position:relative}.sidebar-share-label{color:var(--text-ghost);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:400}.sidebar-share-trigger{font-family:var(--font);border:1px solid var(--border-visible);border-radius:var(--radius-md);background:var(--bg-raised);width:max-content;min-height:1.95rem;color:var(--text-subtle);cursor:pointer;transition:border-color var(--transition-base), color var(--transition-base), background var(--transition-base);align-items:center;gap:.35rem;padding:0 .7rem;font-size:.68rem;font-weight:400;line-height:1.5;display:inline-flex}.sidebar-share-trigger:hover,.sidebar-share-trigger[aria-expanded=true]{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-elevated)}.sidebar-share-link:hover,.sidebar-share-link:focus-visible{color:var(--text-primary)}.sidebar-share-popup{z-index:10;border:1px solid var(--border-visible);border-radius:var(--radius-md);background:var(--bg-raised);min-width:9rem;padding:.45rem;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 1rem 2rem #00000047}.sidebar-share-popup[hidden]{display:none}.sidebar-share-link{font-family:var(--font);border-radius:var(--radius-sm);width:100%;color:var(--text-faint);cursor:pointer;text-align:left;transition:color var(--transition-base), background var(--transition-base);background:0 0;border:0;padding:.42rem .5rem;font-size:.65rem;font-weight:300;line-height:1.35;text-decoration:none;display:block}.sidebar-share-link:hover,.sidebar-share-link:focus-visible{background:var(--bg-elevated)}.sidebar-share-copy{appearance:none}.sidebar-toc-section{grid-template-columns:2px minmax(0,1fr);align-items:start;gap:.75rem;width:100%;display:grid}.reading-progress{top:var(--space-3xl);width:2px;height:var(--reading-progress-height,100%);background:var(--border);transition:width var(--transition-base), background var(--transition-base);position:sticky;overflow:hidden}.reading-progress-fill{width:100%;height:var(--reading-progress-segment-height,0);background:var(--text-muted);transform:translateY(var(--reading-progress-segment-top,0));transform-origin:top;transition:transform var(--transition-base), height var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);display:block}.sidebar-toc{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;display:flex}.toc-link{font-family:var(--font);color:var(--text-ghost);width:100%;padding:calc(var(--space-sm) / 2) 0;transform-origin:0;will-change:transform, color;font-size:.68rem;font-weight:300;line-height:1.4;text-decoration:none;transition:color .42s,transform .58s cubic-bezier(.33,0,.2,1);display:block;transform:translate(0,0)}.sidebar-toc-section:hover .reading-progress{background:var(--border-visible);width:4px}.sidebar-toc-section:hover .reading-progress-fill{background:var(--text-primary);box-shadow:0 0 14px #ffffff47}.toc-link:hover{color:var(--text-muted);transform:translate(.24rem)}.toc-link.active{color:var(--text-secondary);transform:translate(.12rem)}.toc-link.active:hover{color:var(--text-primary);transform:translate(.3rem)}.post-sidebar-right{display:none}.sidebar-tags{flex-direction:column;gap:.6rem;display:flex}.sidebar-tags-label{color:var(--text-ghost);text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:400}.tag-list{flex-wrap:wrap;gap:.4rem;display:flex}.tag{font-family:var(--font);color:var(--text-subtle);border:1px solid var(--border-visible);border-radius:var(--radius-sm);overflow-wrap:anywhere;max-width:100%;transition:color var(--transition-base), border-color var(--transition-base);padding:.2rem .5rem;font-size:.6rem;font-weight:300}.tag:hover{color:var(--text-muted);border-color:var(--text-ghost)}.margin-notes{position:relative}.margin-note{align-items:flex-start;gap:.3rem;width:100%;display:flex;position:absolute}.margin-note-num{font-family:var(--font);color:var(--text-muted);min-width:.8rem;font-size:.6rem;font-weight:500}.margin-note-text{color:var(--text-muted);font-size:.6rem;font-weight:300;line-height:1.5}.post-content [data-footnotes]{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.post-content [data-footnotes] h2{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;margin-top:0;font-size:.82rem}.post-content [data-footnotes] li{color:var(--text-muted);font-size:.78rem;line-height:1.6}.post-content sup a{color:var(--text-muted);transition:color var(--transition-base);font-size:.7em;text-decoration:none}.post-content sup a:hover{color:var(--text-primary)}@media (width<=1120px){.post-layout{max-width:var(--content-width);display:block}.post-sidebar{width:100%;min-width:100%;padding:var(--space-xl) 0 0;padding-bottom:var(--space-lg);border-bottom:1px solid var(--border);gap:var(--space-md);position:relative;top:0}.sidebar-meta{border-bottom:none;padding-bottom:0}.sidebar-toc-section,.post-sidebar-right{display:none}}.post-content{width:100%;max-width:700px;padding:var(--space-4xl) 0;animation:fade-up var(--transition-slow) ease both;margin:0 auto;line-height:1.8}.post-content h1{margin-bottom:var(--space-md);font-size:2rem;font-weight:500;line-height:1.22}.post-header-meta{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;display:flex}.post-header-meta .post-date{color:var(--text-subtle);font-size:.75rem;font-weight:300}.post-header-meta .post-read-time{color:var(--text-faint);font-size:.75rem;font-weight:300}.post-end{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.back-to-top{color:var(--text-faint);transition:color var(--transition-base);align-items:center;gap:.4rem;font-size:.7rem;font-weight:300;text-decoration:none;display:inline-flex}.back-to-top:hover{color:var(--text-primary)}.post-content h2{color:var(--text-primary);margin-top:2.4rem;margin-bottom:var(--space-md);font-size:1.32rem;font-weight:500;line-height:1.3}.post-content h3{color:var(--text-primary);margin-top:var(--space-xl);margin-bottom:.75rem;font-size:1.05rem;font-weight:500;line-height:1.35}.post-content h4{color:var(--text-primary);margin-top:var(--space-lg);margin-bottom:.5rem;font-size:.9rem;font-weight:500}.post-content p{color:var(--text-secondary);margin-bottom:1.35rem;font-size:.98rem;font-weight:300;line-height:1.82}.post-content code{font-family:var(--font);background:var(--bg-raised);color:#aaa;border-radius:var(--radius-sm);padding:.2em .4em;font-size:.82em}.post-content blockquote{border-left:2px solid var(--border-visible);padding-left:var(--space-lg);margin:var(--space-xl) 0;font-style:italic}.post-content blockquote p{color:var(--text-subtle)}.post-content img{border-radius:var(--radius-md);border:1px solid var(--border);max-width:100%;height:auto;margin:var(--space-xl) 0;display:block}.post-content figure{margin:var(--space-2xl) 0}.post-content figure img{box-sizing:border-box;border-color:var(--border-visible);background:#d8d8d8;width:100%;margin:0;padding:1rem;box-shadow:0 10px 28px #0000002e}.post-content img[src*=wikimedia\.org],.post-content img[src*="wikimedia.org/wiki/Special:FilePath"],.post-content img[src*="upload.wikimedia.org"]{filter:brightness(.88)contrast(.96)}.post-content figcaption{color:var(--text-faint);margin-top:.75rem;padding-left:.05rem;font-size:.7rem;font-weight:300;line-height:1.6}.post-content figcaption a{color:var(--text-subtle);text-underline-offset:2px;text-decoration:underline}.post-content strong{color:var(--text-primary);font-weight:500}.post-content table{width:100%;max-width:100%;margin:var(--space-xl) 0 var(--space-2xl);border-collapse:collapse;border-spacing:0;scrollbar-width:thin;scrollbar-color:var(--border-visible) var(--bg);display:block;overflow-x:auto}.post-content th,.post-content td{border-bottom:1px solid var(--border);color:var(--text-muted);text-align:left;vertical-align:top;padding:.6rem .7rem;font-size:.8rem;font-weight:300;line-height:1.6}.post-content th{border-top:1px solid var(--border);color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:500}.post-content td code{padding:.12em .3em;font-size:.72rem}.post-content ul,.post-content ol{margin:1rem 0 1.75rem;padding-left:1.35rem}.post-content ul{list-style:outside}.post-content ol{list-style:decimal}.post-content li::marker{color:var(--text-faint)}.post-content li{color:var(--text-muted);padding:.35rem 0 .35rem .25rem;font-size:.92rem;font-weight:300;line-height:1.65}.post-content li strong{color:#aaa;font-size:.92rem;font-weight:400}.post-content a{color:var(--text-muted);text-underline-offset:2px;transition:color var(--transition-base);text-decoration:underline}.post-content a:hover{color:var(--text-primary)}.code-block{margin:var(--space-xl) 0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);overflow:hidden}.code-block-header{padding:var(--space-sm) 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-code);justify-content:space-between;align-items:center;display:flex}.code-block-file{font-family:var(--font);color:var(--text-subtle);font-size:.75rem;font-weight:400}.code-block-lang{font-family:var(--font);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-visible);padding:.2rem .6rem;font-size:.65rem;font-weight:400}.code-block pre{scrollbar-width:thin;scrollbar-color:var(--border-visible) var(--bg-raised);overflow-x:auto;background:var(--bg-raised)!important;padding:1.25rem var(--space-lg)!important;border:none!important;border-radius:0!important;margin:0!important}.code-block pre::-webkit-scrollbar{height:4px}.code-block pre::-webkit-scrollbar-track{background:var(--bg-raised)}.code-block pre::-webkit-scrollbar-thumb{background:var(--border-visible);border-radius:2px}.post-content pre{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.35rem var(--space-lg);margin:var(--space-xl) 0;scrollbar-width:thin;scrollbar-color:var(--border-visible) var(--bg-raised);overflow-x:auto;background:var(--bg-raised)!important}.post-content pre::-webkit-scrollbar{height:4px}.post-content pre::-webkit-scrollbar-track{background:var(--bg-raised)}.post-content pre::-webkit-scrollbar-thumb{background:var(--border-visible);border-radius:2px}.post-content pre code{color:inherit;background:0 0;border:none;border-radius:0;padding:0;font-size:.82rem;line-height:1.35}.page-content{max-width:var(--content-width);width:100%;padding:var(--space-3xl) var(--space-xl);animation:fade-up var(--transition-slow) ease both;margin:0 auto}.page-content h1{margin-bottom:var(--space-lg);font-size:1.5rem}.page-content p{color:var(--text-muted);font-size:.9rem;font-weight:300;line-height:1.7}.content-scroll-ready .content-scroll-reveal{opacity:0;clip-path:inset(0 0 24%);filter:blur(10px);will-change:opacity, clip-path, transform, filter;transition:opacity .88s cubic-bezier(.16,1,.3,1),clip-path .88s cubic-bezier(.16,1,.3,1),transform .88s cubic-bezier(.16,1,.3,1),filter .88s cubic-bezier(.16,1,.3,1);transform:translateY(46px)scale(.982)}.content-scroll-ready .content-reveal-hero{transform:translateY(32px)scale(.99)}.content-scroll-ready .content-scroll-reveal.is-visible{opacity:1;clip-path:inset(0);filter:blur();transform:translateY(0)scale(1)}.content-scroll-ready .content-scroll-reveal .post-item,.content-scroll-ready .content-scroll-reveal .contact-card,.content-scroll-ready .content-scroll-reveal .skill-group,.content-scroll-ready .content-scroll-reveal .resume-project,.content-scroll-ready .content-scroll-reveal.post-content>*,.content-scroll-ready .content-scroll-reveal .pgp-fingerprint,.content-scroll-ready .content-scroll-reveal .resume-contact-links{opacity:0;transform:translateY(12px)}.content-scroll-ready .content-scroll-reveal.is-visible .post-item,.content-scroll-ready .content-scroll-reveal.is-visible .contact-card,.content-scroll-ready .content-scroll-reveal.is-visible .skill-group,.content-scroll-ready .content-scroll-reveal.is-visible .resume-project,.content-scroll-ready .content-scroll-reveal.is-visible.post-content>*,.content-scroll-ready .content-scroll-reveal.is-visible .pgp-fingerprint,.content-scroll-ready .content-scroll-reveal.is-visible .resume-contact-links{animation:.72s cubic-bezier(.16,1,.3,1) forwards home-child-rise;animation-delay:var(--post-stagger,0s)}.content-scroll-ready .content-scroll-reveal.is-visible .post-item:first-child,.content-scroll-ready .content-scroll-reveal.is-visible .contact-card:first-child,.content-scroll-ready .content-scroll-reveal.is-visible .skill-group:first-child,.content-scroll-ready .content-scroll-reveal.is-visible.post-content>:first-child{animation-delay:.12s}.content-scroll-ready .content-scroll-reveal.is-visible .post-item:nth-child(2),.content-scroll-ready .content-scroll-reveal.is-visible .contact-card:nth-child(2),.content-scroll-ready .content-scroll-reveal.is-visible .skill-group:nth-child(2),.content-scroll-ready .content-scroll-reveal.is-visible.post-content>:nth-child(2){animation-delay:.22s}.content-scroll-ready .content-scroll-reveal.is-visible .post-item:nth-child(3),.content-scroll-ready .content-scroll-reveal.is-visible .contact-card:nth-child(3),.content-scroll-ready .content-scroll-reveal.is-visible .skill-group:nth-child(3),.content-scroll-ready .content-scroll-reveal.is-visible.post-content>:nth-child(3){animation-delay:.32s}.content-scroll-ready .content-scroll-reveal.is-visible .post-item:nth-child(4),.content-scroll-ready .content-scroll-reveal.is-visible .skill-group:nth-child(4),.content-scroll-ready .content-scroll-reveal.is-visible.post-content>:nth-child(4){animation-delay:.42s}.content-scroll-ready .content-scroll-reveal.is-visible .post-item:nth-child(5),.content-scroll-ready .content-scroll-reveal.is-visible .skill-group:nth-child(5),.content-scroll-ready .content-scroll-reveal.is-visible.post-content>:nth-child(5){animation-delay:.52s}.content-scroll-ready #posts.content-scroll-reveal.is-visible .post-item{animation-delay:var(--post-stagger,0s)}@media (prefers-reduced-motion:reduce){.content-scroll-ready .content-scroll-reveal,.content-scroll-ready .content-scroll-reveal .post-item,.content-scroll-ready .content-scroll-reveal .contact-card,.content-scroll-ready .content-scroll-reveal .skill-group,.content-scroll-ready .content-scroll-reveal .resume-project,.content-scroll-ready .content-scroll-reveal.post-content>*,.content-scroll-ready .content-scroll-reveal .pgp-fingerprint,.content-scroll-ready .content-scroll-reveal .resume-contact-links{opacity:1;clip-path:none;filter:none;transition:none;animation:none;transform:none}}.work-page{max-width:1200px;animation:.72s cubic-bezier(.22,1,.36,1) both project-page-load}@keyframes project-page-load{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.project-scroll-ready .project-scroll-reveal{opacity:0;clip-path:inset(0 0 24%);filter:blur(10px);will-change:opacity, clip-path, transform, filter;transition:opacity .88s cubic-bezier(.16,1,.3,1),clip-path .88s cubic-bezier(.16,1,.3,1),transform .88s cubic-bezier(.16,1,.3,1),filter .88s cubic-bezier(.16,1,.3,1);transform:translateY(48px)scale(.982)}.project-scroll-ready .project-reveal-hero{transform:translateY(32px)scale(.99)}.project-scroll-ready .project-scroll-reveal.is-visible{opacity:1;clip-path:inset(0);filter:blur();transform:translateY(0)scale(1)}.project-scroll-ready .project-scroll-reveal .section-label,.project-scroll-ready .project-scroll-reveal .project,.project-scroll-ready .project-scroll-reveal .work-proj-item,.project-scroll-ready .project-scroll-reveal .work-contact p,.project-scroll-ready .project-scroll-reveal .cta-primary{opacity:0;transform:translateY(20px)}.project-scroll-ready .project-scroll-reveal.is-visible .section-label,.project-scroll-ready .project-scroll-reveal.is-visible .project,.project-scroll-ready .project-scroll-reveal.is-visible .work-proj-item,.project-scroll-ready .project-scroll-reveal.is-visible .work-contact p,.project-scroll-ready .project-scroll-reveal.is-visible .cta-primary{animation:.72s cubic-bezier(.16,1,.3,1) forwards home-child-rise}.project-scroll-ready .project-scroll-reveal.is-visible .section-label,.project-scroll-ready .project-scroll-reveal.is-visible .work-contact p{animation-delay:80ms}.project-scroll-ready .project-scroll-reveal.is-visible .project:first-child,.project-scroll-ready .project-scroll-reveal.is-visible .work-proj-item:first-child,.project-scroll-ready .project-scroll-reveal.is-visible .cta-primary{animation-delay:.16s}.project-scroll-ready .project-scroll-reveal.is-visible .project:nth-child(2),.project-scroll-ready .project-scroll-reveal.is-visible .work-proj-item:nth-child(2){animation-delay:.26s}.project-scroll-ready .project-scroll-reveal.is-visible .project:nth-child(3),.project-scroll-ready .project-scroll-reveal.is-visible .work-proj-item:nth-child(3){animation-delay:.36s}.project-scroll-ready .project-scroll-reveal.is-visible .project:nth-child(4),.project-scroll-ready .project-scroll-reveal.is-visible .work-proj-item:nth-child(4){animation-delay:.46s}.project-scroll-ready .project-scroll-reveal.is-visible .work-proj-item:nth-child(5){animation-delay:.56s}@media (prefers-reduced-motion:reduce){.work-page,.project-scroll-ready .project-scroll-reveal,.project-scroll-ready .project-scroll-reveal .section-label,.project-scroll-ready .project-scroll-reveal .project,.project-scroll-ready .project-scroll-reveal .work-proj-item,.project-scroll-ready .project-scroll-reveal .work-contact p,.project-scroll-ready .project-scroll-reveal .cta-primary{opacity:1;clip-path:none;filter:none;transition:none;animation:none;transform:none}}.projects{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=640px){.projects{grid-template-columns:1fr}}.project{font-family:var(--font);padding:var(--space-md);border:1px solid var(--border-visible);border-radius:var(--radius-md);gap:var(--space-sm);transition:border-color var(--transition-base);flex-direction:column;display:flex}.project:hover{border-color:var(--border-hover)}.project-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.project-title-group{align-items:center;gap:.6rem;min-width:0;display:flex}.project-title{font-family:var(--font);color:var(--text-primary);min-width:0;font-size:.9rem;font-weight:400}.project-year{font-family:var(--font);color:var(--text-ghost);flex-shrink:0;font-size:.68rem;font-weight:300}.project p{font-family:var(--font);color:var(--text-muted);flex:1;margin:0;font-size:.8rem;font-weight:300;line-height:1.7}.project-footer{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:auto;display:flex}.project-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.project-tags{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.project-tags span{font-family:var(--font);color:var(--text-subtle);border:1px solid var(--border-visible);border-radius:var(--radius-sm);overflow-wrap:anywhere;max-width:100%;padding:.18em .5em;font-size:.65rem;font-weight:300}.project-read{font-family:var(--font);color:var(--text-faint);white-space:nowrap;transition:color var(--transition-base), transform .28s cubic-bezier(.16, 1, .3, 1);flex-shrink:0;align-items:center;gap:.3rem;font-size:.72rem;font-weight:300;text-decoration:none;display:inline-flex;position:relative}.project-read:after{content:"";opacity:0;height:1px;transition:opacity var(--transition-base);background:currentColor;position:absolute;bottom:-.18rem;left:0;right:0}.project-read svg{transition:transform .28s cubic-bezier(.16,1,.3,1)}.project-read:hover{color:var(--text-primary);transform:translateY(-1px)}.project-read:hover:after{opacity:.7}.project-read:hover svg{transform:translate(.18rem)}.project-read:active{transform:translateY(0)}.project-github{color:var(--text-subtle);flex-shrink:0;gap:.3rem;font-size:.68rem}.project-github:hover{color:var(--text-primary)}.project-github svg,.work-proj-actions .project-github svg{width:16px;height:16px}.project-actions .project-github,.work-proj-actions .project-github{letter-spacing:0}.work-proj-list{flex-direction:column;display:flex}.work-proj-item{align-items:flex-start;gap:var(--space-lg);border-bottom:1px solid var(--border);cursor:pointer;transition:border-color var(--transition-base), color var(--transition-base);border-left:2px solid #0000;grid-template-columns:minmax(0,1fr) max-content;padding:.85rem 0 .85rem .6rem;text-decoration:none;display:grid;position:relative}.work-proj-item:first-child{padding-top:0}.work-proj-item:last-child{border-bottom:none;padding-bottom:0}.work-proj-item:hover{border-left-color:var(--text-faint)}.work-proj-item:hover .work-proj-name{color:#fff}.work-proj-item:hover .work-proj-desc{color:var(--text-muted)}.work-proj-hit{z-index:1;position:absolute;inset:0}.work-proj-main{z-index:2;pointer-events:none;flex-direction:column;gap:.2rem;min-width:0;display:flex;position:relative}.work-proj-heading{align-items:baseline;gap:var(--space-md);min-width:0;display:flex}.work-proj-name{color:var(--text-primary);transition:color var(--transition-base);font-size:.88rem;font-weight:400;text-decoration:none}.work-proj-name:hover{color:#fff}.work-proj-desc{color:var(--text-subtle);font-size:.78rem;font-weight:300;line-height:1.5}.work-proj-actions{z-index:2;pointer-events:none;flex-direction:row;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:relative}.work-proj-actions a{pointer-events:auto}.work-proj-year{color:var(--text-faint);padding-top:.05rem;font-size:.7rem;font-weight:300}.work-proj-list-muted .work-proj-item{cursor:default}.work-proj-list-muted .work-proj-item:hover{border-left-color:#0000}.work-proj-list-muted .work-proj-item:hover .work-proj-name{color:var(--text-primary)}.work-proj-list-muted .work-proj-item:hover .work-proj-desc{color:var(--text-subtle)}.work-section{margin-bottom:var(--space-2xl)}@media (width<=760px){.project-footer{flex-direction:column;align-items:flex-start}.project-actions{justify-content:flex-start}}@media (width<=520px){.work-proj-item{gap:var(--space-sm);grid-template-columns:1fr}.work-proj-heading{align-items:baseline;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.work-proj-read{justify-self:end}.work-proj-actions{justify-content:space-between}}.work-note{color:var(--text-faint);margin-bottom:var(--space-lg);font-size:.8rem}.research-list{flex-direction:column;gap:0;display:flex}.research-item{border-bottom:1px solid var(--border);transition:background var(--transition-fast);justify-content:space-between;align-items:baseline;padding:.65rem 0;text-decoration:none;display:flex}.research-item:first-child{border-top:1px solid var(--border)}.research-item:hover{background:var(--bg-raised)}.research-title{color:var(--text-primary);font-size:.85rem;font-weight:300}.research-date{color:var(--text-faint);margin-left:var(--space-md);flex-shrink:0;font-size:.7rem;font-weight:300}.work-view-all{margin-top:var(--space-md);color:var(--text-faint);transition:color var(--transition-base);font-size:.75rem;font-weight:300;text-decoration:none;display:inline-block}.work-view-all:hover{color:var(--text-primary)}.work-contact{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.work-contact p{color:var(--text-subtle);margin-bottom:var(--space-md);text-align:center;font-size:.88rem;font-weight:300}.work-contact-links{gap:var(--space-sm);flex-direction:column;display:flex}.work-contact-link{align-items:center;gap:var(--space-md);padding:.75rem var(--space-md);border:1px solid var(--border-visible);border-radius:var(--radius-md);transition:border-color var(--transition-base);text-decoration:none;display:flex}.work-contact-link:hover{border-color:var(--border-hover)}.work-contact-link:hover .work-contact-arrow{color:var(--text-primary);transform:translate(3px)}.work-contact-ch-label{color:var(--text-faint);min-width:4rem;font-size:.7rem;font-weight:400}.work-contact-value{color:var(--text-primary);flex:1;font-size:.85rem;font-weight:300}.work-contact-arrow{color:var(--text-ghost);transition:color var(--transition-base), transform var(--transition-base);font-size:.85rem}.about{width:100%;max-width:760px;padding:var(--space-2xl) var(--space-xl);margin:0 auto;animation:.72s cubic-bezier(.22,1,.36,1) both about-page-load}@keyframes about-page-load{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.about-scroll-ready .about-scroll-reveal{opacity:0;clip-path:inset(0 0 24%);filter:blur(10px);will-change:opacity, clip-path, transform, filter;transition:opacity .88s cubic-bezier(.16,1,.3,1),clip-path .88s cubic-bezier(.16,1,.3,1),transform .88s cubic-bezier(.16,1,.3,1),filter .88s cubic-bezier(.16,1,.3,1);transform:translateY(46px)scale(.982)}.about-scroll-ready .about-reveal-hero{clip-path:none;transform:translateY(34px)scale(.988)}.about-scroll-ready .about-scroll-reveal.is-visible{opacity:1;clip-path:inset(0);filter:blur();transform:translateY(0)scale(1)}.about-scroll-ready .about-scroll-reveal .section-label,.about-scroll-ready .about-scroll-reveal .about-body,.about-scroll-ready .about-scroll-reveal .about-bio,.about-scroll-ready .about-scroll-reveal .about-portrait,.about-scroll-ready .about-scroll-reveal .about-lead,.about-scroll-ready .about-scroll-reveal .about-cp-card,.about-scroll-ready .about-scroll-reveal .about-ncl-row,.about-scroll-ready .about-scroll-reveal .about-work-item,.about-scroll-ready .about-scroll-reveal .about-tl-item{opacity:0;transform:translateY(18px)}.about-scroll-ready .about-scroll-reveal .about-cta-buttons>*{opacity:0;transform:translate(-10px)scale(.985)}.about-scroll-ready .about-scroll-reveal .about-cta-buttons>:nth-child(2){transform:translate(10px)scale(.985)}.about-scroll-ready .about-reveal-hero h1{opacity:0;transform:translateY(14px)}.about-scroll-ready .about-reveal-hero .about-portrait{filter:grayscale(.28)saturate(.72)contrast(.92)brightness(.78)blur(8px);transform:translate(18px)translateY(8px)scale(.94)}.about-scroll-ready .about-scroll-reveal.is-visible .section-label,.about-scroll-ready .about-scroll-reveal.is-visible .about-body,.about-scroll-ready .about-scroll-reveal.is-visible .about-bio,.about-scroll-ready .about-scroll-reveal.is-visible .about-portrait,.about-scroll-ready .about-scroll-reveal.is-visible .about-lead,.about-scroll-ready .about-scroll-reveal.is-visible .about-cp-card,.about-scroll-ready .about-scroll-reveal.is-visible .about-ncl-row,.about-scroll-ready .about-scroll-reveal.is-visible .about-work-item,.about-scroll-ready .about-scroll-reveal.is-visible .about-tl-item{animation:.72s cubic-bezier(.16,1,.3,1) forwards home-child-rise}.about-scroll-ready .about-reveal-hero.is-visible h1{animation:.68s cubic-bezier(.16,1,.3,1) 60ms forwards home-child-rise}.about-scroll-ready .about-reveal-hero.is-visible .about-portrait{animation:.9s cubic-bezier(.16,1,.3,1) .18s forwards about-portrait-in}.about-scroll-ready .about-scroll-reveal.is-visible .about-cta-buttons>*{animation:.58s cubic-bezier(.16,1,.3,1) forwards about-cta-button-in}@keyframes about-portrait-in{to{opacity:1;filter:grayscale(.12)saturate(.82)contrast(.96)brightness(.92);transform:translate(0)translateY(0)scale(1)}}@keyframes about-cta-button-in{to{opacity:1;transform:translate(0)scale(1)}}.about-scroll-ready .about-scroll-reveal.is-visible .section-label,.about-scroll-ready .about-scroll-reveal.is-visible .about-lead{animation-delay:80ms}.about-scroll-ready .about-scroll-reveal.is-visible .about-bio,.about-scroll-ready .about-scroll-reveal.is-visible .about-body:first-of-type,.about-scroll-ready .about-scroll-reveal.is-visible .about-cp-card:first-child,.about-scroll-ready .about-scroll-reveal.is-visible .about-ncl-row:first-child,.about-scroll-ready .about-scroll-reveal.is-visible .about-work-item:first-child,.about-scroll-ready .about-scroll-reveal.is-visible .about-tl-item:first-child,.about-scroll-ready .about-scroll-reveal.is-visible .about-cta-buttons>:first-child{animation-delay:.16s}.about-scroll-ready .about-scroll-reveal.is-visible .about-body:nth-of-type(2),.about-scroll-ready .about-scroll-reveal.is-visible .about-cp-card:nth-child(2),.about-scroll-ready .about-scroll-reveal.is-visible .about-ncl-row:nth-child(2),.about-scroll-ready .about-scroll-reveal.is-visible .about-work-item:nth-child(2),.about-scroll-ready .about-scroll-reveal.is-visible .about-tl-item:nth-child(2),.about-scroll-ready .about-scroll-reveal.is-visible .about-cta-buttons>:nth-child(2){animation-delay:.26s}.about-scroll-ready .about-scroll-reveal.is-visible .about-cp-card:nth-child(3),.about-scroll-ready .about-scroll-reveal.is-visible .about-ncl-row:nth-child(3),.about-scroll-ready .about-scroll-reveal.is-visible .about-work-item:nth-child(3),.about-scroll-ready .about-scroll-reveal.is-visible .about-tl-item:nth-child(3){animation-delay:.36s}@media (width<=640px){.about-scroll-ready .about-reveal-hero .about-portrait{transform:translateY(16px)scale(.94)}}@media (prefers-reduced-motion:reduce){.about,.about-scroll-ready .about-scroll-reveal,.about-scroll-ready .about-reveal-hero h1,.about-scroll-ready .about-scroll-reveal .section-label,.about-scroll-ready .about-scroll-reveal .about-body,.about-scroll-ready .about-scroll-reveal .about-bio,.about-scroll-ready .about-scroll-reveal .about-portrait,.about-scroll-ready .about-scroll-reveal .about-lead,.about-scroll-ready .about-scroll-reveal .about-cp-card,.about-scroll-ready .about-scroll-reveal .about-ncl-row,.about-scroll-ready .about-scroll-reveal .about-work-item,.about-scroll-ready .about-scroll-reveal .about-tl-item,.about-scroll-ready .about-scroll-reveal .about-cta-buttons>*{opacity:1;clip-path:none;filter:none;transition:none;animation:none;transform:none}}.about-opener{margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.about-opener h1{margin-bottom:var(--space-lg);font-size:1.5rem}.about-lead{color:#f0f0f0;margin-bottom:var(--space-sm);font-size:1.05rem;font-weight:400;line-height:1.5}.about-bio{color:var(--text-subtle);font-size:.88rem;font-weight:300;line-height:1.75}.about-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.about-section-last{border-bottom:none;margin-bottom:0;padding-bottom:0}.about-body{color:var(--text-subtle);margin-bottom:var(--space-md);font-size:.88rem;font-weight:300;line-height:1.75}.about-stats{gap:var(--space-md);display:flex}.about-stat{padding:var(--space-md) var(--space-lg);border:1px solid var(--border-visible);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:.2rem;display:flex}.about-stat-number{color:#f0f0f0;font-size:1.4rem;font-weight:500;line-height:1}.about-stat-label{color:var(--text-subtle);font-size:.65rem;font-weight:300;line-height:1.3}@media (width<=520px){.about-stats{flex-direction:column}}.about-timeline{flex-direction:column;gap:0;display:flex}.about-tl-item{gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--border);display:flex}.about-tl-item:first-child{padding-top:0}.about-tl-item:last-child{border-bottom:none;padding-bottom:0}.about-tl-period{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:6.5rem;padding-top:.15rem;font-size:.65rem;font-weight:400}.about-tl-content{flex-direction:column;gap:.15rem;display:flex}.about-tl-title{color:var(--text-primary);font-size:.88rem;font-weight:400}.about-tl-content p{color:var(--text-subtle);margin:0;font-size:.8rem;font-weight:300;line-height:1.55}.about-tl-current .about-tl-title{color:#f0f0f0}@media (width<=520px){.about-tl-item{gap:var(--space-xs);flex-direction:column}}.about-now{margin:0;padding:0;list-style:none}.about-now li{color:var(--text-subtle);padding:.35rem 0;padding-left:var(--space-md);border-left:1px solid var(--border-visible);font-size:.85rem;font-weight:300;line-height:1.5}.about-now li a{color:var(--text-muted);text-underline-offset:2px;transition:color var(--transition-base);text-decoration:underline}.about-now li a:hover{color:var(--text-primary)}.about-cp-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=520px){.about-cp-grid{grid-template-columns:1fr}.about-cp-card{text-align:center;padding:var(--space-lg);align-items:center}.about-cp-ranks{justify-content:center;gap:var(--space-2xl)}.about-cp-rank{align-items:center}}.about-cp-card{padding:var(--space-md) var(--space-lg);border:1px solid var(--border-visible);border-radius:var(--radius-md);text-align:center;align-items:center;gap:var(--space-md);transition:background var(--transition-base), border-color var(--transition-base);flex-direction:column;display:flex}.about-cp-card:hover{background:var(--bg-raised);border-color:var(--text-faint)}.about-cp-year{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-base);font-size:.65rem;font-weight:400}.about-cp-card:hover .about-cp-year{color:var(--text-muted)}.about-cp-ranks{justify-content:center;gap:var(--space-lg);display:flex}.about-cp-rank{flex-direction:column;align-items:center;gap:.15rem;display:flex}.about-cp-card:hover .about-stat-number{color:#fff}.about-inline-link{color:var(--text-primary);text-underline-offset:2px;transition:color var(--transition-base);text-decoration:underline}.about-inline-link:hover{color:#fff}.about-cta-section{padding-top:var(--space-xl);border-top:1px solid var(--border)}.about-cta-section p{color:var(--text-subtle);margin-bottom:var(--space-md);font-size:.88rem;font-weight:300}.cta-full{text-align:center;width:100%;display:block}.not-found{text-align:center;animation:fade-up var(--transition-slow) ease both}.not-found h1{color:var(--text-ghost);margin-bottom:var(--space-sm);font-size:4rem;font-weight:300}.not-found p{color:var(--text-subtle);margin-bottom:var(--space-lg);font-size:.9rem;font-weight:300}.not-found-back{color:var(--text-faint);transition:color var(--transition-base), gap var(--transition-base);align-items:center;gap:.4rem;font-size:.8rem;font-weight:300;text-decoration:none;display:inline-flex}.not-found-back:hover{color:var(--text-primary);gap:.6rem}.site-footer{padding:var(--space-xl) var(--space-2xl);border-top:1px solid var(--border);margin-top:var(--space-3xl);justify-content:space-between;align-items:center;display:flex}.site-footer-home{margin-top:0}.site-footer span{color:var(--text-ghost);font-size:.65rem;font-weight:300}.site-footer-links{gap:var(--space-md);display:flex}.site-footer-links a{color:var(--text-ghost);transition:color var(--transition-base);font-size:.65rem;font-weight:300;text-decoration:none}.site-footer-links a:hover{color:var(--text-muted)}.contact-intro{margin-bottom:var(--space-xl)}.contact-page{max-width:760px}.contact-context{color:var(--text-subtle);margin-bottom:var(--space-xl);font-size:.84rem;font-weight:300;line-height:1.7}.contact-grid{margin-bottom:var(--space-xl);flex-direction:column;gap:0;display:flex}.contact-card{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border-subtle);min-height:3.15rem;transition:border-color var(--transition-base), color var(--transition-base);border-left:2px solid #0000;grid-template-columns:4.5rem minmax(0,1fr) 14px;padding:0 0 0 .6rem;text-decoration:none;display:grid}.contact-card:first-child{min-height:3.15rem}.contact-card:last-child{border-bottom:none}.contact-card:hover{border-left-color:var(--text-faint)}.contact-card:hover .contact-arrow{color:var(--text-primary);transform:translate(3px)}.contact-label{color:var(--text-subtle);font-size:.75rem;font-weight:400;line-height:1}.contact-value{color:var(--text-primary);font-size:.85rem;font-weight:300;line-height:1.2}.contact-arrow{color:var(--text-ghost);transition:color var(--transition-base), transform var(--transition-base);justify-self:end;font-size:.85rem}.pgp-section{padding-top:var(--space-xl);border-top:1px solid var(--border-visible);margin-bottom:var(--space-xl)}.pgp-section h2{color:#f0f0f0;margin-bottom:var(--space-sm);font-size:1.1rem;font-weight:400}.pgp-section>p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.85rem;font-weight:300}.pgp-fingerprint{align-items:center;gap:var(--space-md);padding:var(--space-md) 1.25rem;background:var(--bg-raised);border-radius:var(--radius-md);margin-bottom:var(--space-md);display:flex;position:relative}.pgp-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:.68rem;font-weight:400}.pgp-fingerprint code{font-family:var(--font);color:var(--text-muted);letter-spacing:.05em;overflow-wrap:anywhere;min-width:0;font-size:.75rem;font-weight:300}.pgp-copy{width:1rem;height:1rem;color:var(--text-faint);cursor:pointer;transition:color var(--transition-base), transform var(--transition-base);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;line-height:0;display:inline-flex}.pgp-copy:hover,.pgp-copy.copied{color:var(--text-primary)}.pgp-copy.copied{transform:scale(1.08)}.pgp-copy-icon{width:.86rem;height:.98rem;display:block}.pgp-copy-toast{color:var(--text-primary);letter-spacing:.02em;opacity:0;pointer-events:none;font-size:.68rem;font-weight:300;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% - .12rem);right:.85rem;transform:translateY(.25rem)}.pgp-copy-toast.is-visible{opacity:1;transform:translateY(0)}@media (width<=520px){.pgp-copy-toast{white-space:nowrap;bottom:calc(100% + .05rem);right:.75rem}.contact-card{grid-template-columns:3.75rem minmax(0,1fr) 14px}.contact-value{overflow-wrap:anywhere}}@media (width<=640px){.content-scroll-ready .contact-page .content-scroll-reveal,.content-scroll-ready .contact-page .content-scroll-reveal .contact-card,.content-scroll-ready .contact-page .content-scroll-reveal .pgp-fingerprint{opacity:1;clip-path:none;filter:none;will-change:auto;transition:none;animation:none;transform:none}}:focus-visible{outline:1px solid var(--text-subtle);outline-offset:2px}@media print{body{color:#111;background:#fff;padding-top:0}nav,.post-sidebar,.post-sidebar-right,.site-footer,.post-end{display:none}.post-layout{max-width:100%}.post-content{max-width:100%;padding:0}.post-content a{color:#111}.code-block{border-color:#ccc}.code-block-header{background:#f5f5f5;border-color:#ccc}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
