:root{--main-bg-color: #ffffff;--surface-color: #ffffff;--font-color: #000000;--muted-color: rgba(0, 0, 0, .65);--link-color: #000000;--hover-item-color: rgba(0, 0, 0, .1);--nav-bg-color: rgba(255, 255, 255, .95);--nav-border-color: rgba(0, 0, 0, .2);--nav-border-strong: rgba(0, 0, 0, .35);--card-bg-color: #ffffff;--card-border-color: rgba(0, 0, 0, .12);--icon-color: #000000;--shadow-color: rgba(0, 0, 0, .12);--hover-surface: rgba(0, 0, 0, .08);--font-size-xxl: 64px;--font-size-xl: 34px;--font-size-lg: 22px;--font-size-md: 17px;--font-size-sm: 14px;--font-size-xs: 12px;--line-height-tight: 1.15;--line-height-normal: 1.55;--line-height-loose: 1.85;--section-gap: 60px;--section-gap-mobile: 48px;--cycle-first-color: #000000;--cycle-second-color: #000000;--cycle-third-color: #000000;--cycle-fourth-color: #000000}:root[data-theme=dark]{--main-bg-color: #0f1113;--surface-color: #0f1113;--font-color: #f2f2f2;--muted-color: rgba(242, 242, 242, .7);--link-color: #f2f2f2;--hover-item-color: rgba(255, 255, 255, .08);--nav-bg-color: rgba(15, 17, 19, .95);--nav-border-color: rgba(255, 255, 255, .18);--nav-border-strong: rgba(255, 255, 255, .32);--card-bg-color: #0f1113;--card-border-color: rgba(255, 255, 255, .12);--icon-color: #f2f2f2;--shadow-color: rgba(0, 0, 0, .6);--hover-surface: rgba(255, 255, 255, .08);--cycle-first-color: #f2f2f2;--cycle-second-color: #f2f2f2;--cycle-third-color: #f2f2f2;--cycle-fourth-color: #f2f2f2}html,body{margin:0;padding:0}body{background-color:var(--main-bg-color);background-image:none;font-family:IBM Plex Sans,sans-serif;font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.Section-title{font-size:var(--font-size-xxl);line-height:var(--line-height-tight);font-weight:700;letter-spacing:.2px;margin:0 0 18px;color:var(--font-color)}.Section-intro{margin:0 0 20px;color:var(--muted-color);font-size:var(--font-size-md);font-weight:500;letter-spacing:.2px;line-height:var(--line-height-loose);text-transform:none;overflow-wrap:break-word}.Button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background-color:var(--font-color);color:var(--surface-color);text-decoration:none;font-weight:600;letter-spacing:.2px;border:1px solid var(--font-color);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.Button:hover{transform:translateY(-1px);box-shadow:0 8px 18px var(--shadow-color)}.Button--ghost{background-color:transparent;color:var(--font-color)}.Button:focus-visible{outline:2px solid var(--font-color);outline-offset:4px}code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace}.NavBar{z-index:100;width:100%;height:56px;flex-direction:column;background:var(--nav-bg-color);display:flex;justify-content:center;align-items:center;color:var(--font-color);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:2px;font-weight:700;line-height:1em;overflow:visible;border-bottom:1px solid var(--nav-border-color);position:fixed;top:0;left:0}.NavBar--shadow{box-shadow:0 8px 20px var(--shadow-color)}.NavBar-link{margin:0;text-decoration:none;overflow:visible;display:inline-block;cursor:pointer;border-radius:10px;transition:all .6s cubic-bezier(.25,.8,.25,1)}.NavBar-link:focus-visible{outline:2px solid var(--link-color);outline-offset:4px}.item:hover{border-radius:10px;background-color:var(--hover-item-color)}.NavBar-inner{width:100%;height:100%;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;padding:0 12px;position:relative;box-sizing:border-box}.NavBar-balance{width:40px;height:40px;justify-self:start}.NavBar-menuToggle{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:transparent;color:var(--font-color);width:40px;height:40px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;border:none;transition:background-color .2s ease;align-items:center;justify-content:center;line-height:0;z-index:2}.NavBar-hitArea{display:none}.NavBar-menuIcon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.NavBar-menuToggle:hover{background-color:var(--hover-item-color)}.NavBar-links{display:flex;align-items:center;gap:28px;justify-content:center;flex-wrap:nowrap;justify-self:center;min-width:0}.item{position:relative;-webkit-user-select:none;user-select:none;padding:16px 18px;white-space:nowrap}.ThemeToggle{position:static;justify-self:end;border:1px solid var(--nav-border-color);background-color:transparent;color:var(--font-color);width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;z-index:3;flex-shrink:0}.ThemeToggle-icon{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ThemeToggle:hover{background-color:var(--hover-item-color);border-color:var(--nav-border-strong);transform:scale(1.03)}.NavBar-menu{position:absolute;top:56px;left:0;width:100%;background-color:var(--surface-color);border-bottom:1px solid var(--nav-border-color);box-shadow:0 12px 24px var(--shadow-color);display:none;flex-direction:column;padding:0;gap:0;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,max-height .2s ease;max-height:0;overflow:hidden}.NavBar-menu--open{opacity:1;transform:translateY(0);max-height:480px}.NavBar-menuItem{text-decoration:none;color:var(--font-color);font-family:inherit;font-size:var(--font-size-sm);font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:0 20px;border-bottom:1px solid var(--nav-border-color);display:flex;align-items:center;justify-content:flex-start;width:100%;height:52px;line-height:1;box-sizing:border-box}.NavBar-menuItem:last-child{border-bottom:none}.NavBar-menuButton{appearance:none;-webkit-appearance:none;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:700;width:100%;padding:0 20px;display:flex;align-items:center;justify-content:flex-start;height:52px;line-height:1;box-sizing:border-box}.NavBar-menuText{display:inline}.ThemeToggle:focus-visible{outline:2px solid var(--font-color);outline-offset:3px}.NavBar a.NavBar-link:hover,a.NavBar-link:active{text-decoration:none;-webkit-user-select:none;user-select:none;color:var(--font-color)}.NavBar a.NavBar-link:link,a.NavBar-link:visited{-webkit-user-select:none;user-select:none;text-decoration:none;color:var(--font-color)}@media all and (min-width:0)and (max-width:480px){.NavBar{height:52px}.NavBar-link{font-size:10px;margin:0;text-decoration:none;overflow:visible;display:inline-block;cursor:pointer;border-radius:10px;transition:all .6s cubic-bezier(.25,.8,.25,1)}.NavBar-inner{display:flex;justify-content:center;padding:0;max-width:100%}.NavBar-hitArea{display:block;position:absolute;top:0;left:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;z-index:1}.NavBar-balance,.NavBar-links,.ThemeToggle{display:none}.NavBar-menuToggle{display:inline-flex}.NavBar-menuToggle:focus-visible{outline:2px solid var(--font-color);outline-offset:3px}.NavBar-menu{top:52px;display:flex}.NavBar-menu--open{display:flex}}@media all and (min-width:481px)and (max-width:900px){.NavBar-inner{padding:0 10px;grid-template-columns:36px 1fr 36px}.NavBar-links{gap:12px}.item{padding:12px 10px}.ThemeToggle,.NavBar-balance{width:36px;height:36px}.ThemeToggle-icon{width:16px;height:16px}.ThemeToggle{display:inline-flex}}@media all and (min-width:901px)and (max-width:1100px){.NavBar-inner{padding:0 12px;grid-template-columns:36px 1fr 36px}.NavBar-links{gap:18px}.item{padding:14px 12px}.ThemeToggle,.NavBar-balance{width:36px;height:36px}.ThemeToggle{display:inline-flex}}.About{padding-top:170px;display:flex;flex-direction:column;align-items:center;text-align:left;font-size:var(--font-size-lg);color:var(--font-color);letter-spacing:.2px;padding-bottom:0}.About-row{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;max-width:980px;align-items:center;padding:0 20px;box-sizing:border-box}@media all and (max-width:1024px){.About-row{padding:0 24px}}.About-bio-column{padding-left:10px;padding-right:15px;padding-top:20px;display:flex;flex-direction:column;gap:18px;flex-basis:100%;flex:2}.About-bio-column--center{padding-left:0;padding-right:0;max-width:720px}.About-hero{font-size:104px;line-height:var(--line-height-tight);font-weight:700;margin:0}.About-lead{font-size:34px;line-height:var(--line-height-normal);font-weight:600;margin:0}.About-body{margin:0}.About-actions{display:flex;gap:32px;flex-wrap:wrap;padding-top:6px;align-items:center}.About-secondary-link{font-weight:600;color:var(--font-color);text-decoration:none;border-bottom:1px solid var(--nav-border-color);padding-bottom:2px;cursor:pointer}.About-secondary-link:focus-visible{outline:2px solid var(--font-color);outline-offset:4px;border-radius:6px}.About-relocate{font-size:12px;line-height:2em;text-transform:uppercase}.About-text-name{display:inline;font-size:34px;line-height:var(--line-height-normal);font-weight:700;animation-duration:10s;animation-timing-function:ease;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:colorcyclepic}.About-link{color:var(--link-color);text-decoration:none}.About-link:focus-visible{outline:2px solid var(--link-color);outline-offset:4px;border-radius:6px}.About-heart{color:var(--link-color);display:inline-block;margin:0 2px}@media all and (max-width:900px){.About{padding-top:110px;padding-bottom:0}.About-hero{font-size:74px}.About-lead,.About-text-name{font-size:28px}}@media all and (max-width:600px){.About-hero{font-size:58px}.About-lead,.About-text-name{font-size:22px}.About-bio-column{padding-left:20px;padding-right:20px}}@media all and (min-width:901px){.About{padding-top:190px;padding-bottom:0}}@keyframes colorcyclepic{0%{color:var(--cycle-first-color);border-color:var(--cycle-first-color)}25%{color:var(--cycle-second-color);border-color:var(--cycle-second-color)}50%{color:var(--cycle-third-color);border-color:var(--cycle-third-color)}75%{color:var(--cycle-fourth-color);border-color:var(--cycle-fourth-color)}to{color:var(--cycle-first-color);border-color:var(--cycle-first-color)}}.Contact{padding-top:var(--section-gap);padding-bottom:var(--section-gap);min-height:10vh;display:flex;flex-direction:column;align-items:flex-start;font-size:var(--font-size-md);color:var(--font-color);letter-spacing:.4px;width:100%;max-width:980px;margin:0 auto;padding-left:20px;padding-right:20px;box-sizing:border-box}@media all and (max-width:1024px){.Contact{padding-left:24px;padding-right:24px}}.Contact-intro{text-align:left;overflow-wrap:anywhere}.Contact-link{color:var(--link-color);text-decoration:none;font-weight:600;border-bottom:1px solid var(--nav-border-color);padding-bottom:2px;width:fit-content}.Contact-link--row{width:100%;padding:14px 0;border-bottom:1px solid var(--nav-border-color);font-size:var(--font-size-md);transition:color .2s ease,background-color .2s ease,padding-left .2s ease,border-color .2s ease}.Contact-link--row:hover{background-color:var(--hover-surface);padding-left:12px;border-color:var(--nav-border-strong)}.Contact-link:focus-visible{outline:2px solid var(--link-color);outline-offset:4px;border-radius:6px}.Contact-links{margin-top:28px;width:100%;max-width:520px;display:flex;flex-direction:column}.Contact-heart{margin-top:60px;align-self:center;font-size:var(--font-size-lg);color:#d11f1f}@media all and (max-width:700px){.Contact{padding-top:var(--section-gap-mobile);padding-bottom:var(--section-gap-mobile)}}.Work{padding-top:var(--section-gap);display:flex;flex-direction:column;align-items:center;padding-left:20px;padding-right:20px;padding-bottom:0}@media all and (max-width:1024px){.Work{padding-left:24px;padding-right:24px}}.Work-section{width:100%;max-width:980px}.Work-intro{text-align:left}.Work-sections{width:100%;max-width:980px;display:flex;flex-direction:column;gap:28px;padding-top:20px}.Work-books{width:100%;max-width:980px;padding-top:var(--section-gap)}.Work-filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}.Work-filter{appearance:none;border:1px solid var(--nav-border-color);background-color:transparent;color:var(--font-color);font-size:var(--font-size-sm);letter-spacing:.4px;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.Work-filter--active,.Work-filter:hover{background-color:var(--font-color);color:var(--surface-color);border-color:var(--font-color)}.Work-filter:focus-visible{outline:2px solid var(--font-color);outline-offset:3px}.Work-group{display:flex;flex-direction:column;gap:10px}.Work-heading{font-size:var(--font-size-lg);letter-spacing:.4px;text-transform:none;margin:0;color:var(--font-color);font-weight:700}.Work-list{display:grid;gap:24px 48px;text-align:left;grid-template-columns:repeat(2,minmax(0,1fr))}.Work-link{color:var(--link-color);text-decoration:none}.Work-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.Work-link:focus-visible{outline:2px solid var(--link-color);outline-offset:4px;border-radius:6px}.Work-card{background-color:transparent;border:none;border-bottom:1px solid var(--nav-border-color);border-radius:0;box-shadow:none;transition:background-color .2s ease,transform .2s ease,border-color .2s ease}.Work-card:hover{background-color:var(--hover-surface);transform:translateY(-2px);border-color:var(--nav-border-strong)}.Work-card .card-body{padding:14px 0}.Work-card-text{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:var(--font-size-md);font-weight:600;line-height:1.6}.Work-meta{font-size:var(--font-size-sm);color:var(--muted-color);letter-spacing:.3px;font-weight:500}.Work-tags{display:inline-flex;flex-wrap:wrap;gap:8px}.Work-tag{font-size:var(--font-size-xs);letter-spacing:1px;color:var(--muted-color);border:1px solid var(--nav-border-color);border-radius:999px;padding:3px 8px;text-transform:uppercase}.Work-description{margin-top:8px;font-size:var(--font-size-sm);color:var(--muted-color);line-height:1.6;font-weight:500}@media all and (max-width:600px){.Work-card:hover{transform:none;background-color:transparent}.Work{padding-top:var(--section-gap-mobile);padding-bottom:0}.Work-books{padding-top:var(--section-gap-mobile)}.Section-title{font-size:44px;line-height:1.1;word-break:break-word}.Work-list{grid-template-columns:1fr}}.Work-warning{font-weight:700}
