.home-hero{isolation:isolate;position:relative;overflow:clip}.home-hero:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle, color-mix(in oklab, var(--primary) var(--dot-mix,22%), transparent) 1px, transparent 1.6px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 70% at 72% 40%,#000,#0000 78%);mask-image:radial-gradient(75% 70% at 72% 40%,#000,#0000 78%)}.home-hero:after{content:"";z-index:-2;pointer-events:none;background:linear-gradient(180deg, color-mix(in oklab, var(--surface) 70%, transparent), transparent 55%);position:absolute;inset:0}:root:not([data-theme=dark]) .home-hero{--dot-mix:32%}:root[data-theme=dark] .home-hero:after{background:linear-gradient(180deg, color-mix(in oklab, var(--primary) 7%, transparent), transparent 55%)}.home-hero-inner{width:100%;max-width:88rem;padding:1.75rem max(1rem, env(safe-area-inset-right)) .5rem max(1rem, env(safe-area-inset-left));align-items:center;gap:1.25rem;margin-inline:auto;display:grid}@media (min-width:640px){.home-hero-inner{gap:2.5rem;padding:3rem 1.5rem 1rem}}@media (min-width:1024px){.home-hero-inner{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:2rem;min-height:min(100svh - 4rem,60rem);padding:2rem 2rem 4rem}}.home-hero-copy{min-width:0}.home-hero-eyebrow{color:var(--text-body);align-items:center;gap:.75rem;font-size:.9375rem;font-weight:600;line-height:1.4;display:flex}.home-hero-eyebrow:before{content:"";background:var(--primary);width:1.75rem;height:1px}.home-name{letter-spacing:-.055em;color:var(--text-strong);flex-direction:column;margin-top:1.5rem;margin-left:-.04em;font-size:clamp(4.25rem,20vw,6.5rem);font-weight:700;line-height:.9;display:flex}@media (min-width:1024px){.home-name{font-size:clamp(6rem,9.6vw,9.75rem)}}.home-name-line{width:fit-content;margin:-.24em -.06em;padding:.24em .06em;display:block;overflow:clip}.home-name-in{margin-bottom:-.24em;padding-bottom:.24em;display:block}@supports ((-webkit-background-clip:text) or (background-clip:text)){.home-name-in{-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.home-name-1{background-image:linear-gradient(180deg, var(--name-top) 20%, var(--name-mid) 110%)}.home-name-2{background-image:linear-gradient(180deg, var(--name-mid) 0%, var(--name-bottom) 80%)}}@media (forced-colors:active){.home-name-in{-webkit-text-fill-color:currentColor;color:canvastext;background:0 0}}.home-hero-lead{letter-spacing:-.01em;max-width:40ch;color:var(--text-body);text-wrap:pretty;margin-top:1.75rem;font-size:clamp(1.1875rem,1rem + .6vw,1.4375rem);line-height:1.5}.home-hero-cta{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.home-hero-art{flex-direction:column;align-items:center;width:100%;max-width:26rem;margin-inline:auto;display:flex;position:relative}@media (min-width:1024px){.home-hero-art{max-width:35rem;margin-right:0}}.home-hero-art:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, var(--primary-soft) 42%, transparent) 0%, transparent 66%);border-radius:50%;position:absolute;inset:6% 6% 10%}:root[data-theme=dark] .home-hero-art:before{background:radial-gradient(circle, color-mix(in oklab, var(--primary) 34%, transparent) 0%, transparent 66%)}.home-globe-box{aspect-ratio:1;width:100%}.home-globe-canvas{cursor:grab;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .6s var(--ease-brand);display:block}.home-globe-canvas[data-ready]{opacity:1}.home-globe-canvas[data-dragging]{cursor:grabbing}.home-globe-hint{font-size:var(--text-small);color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:flex-end;gap:.4rem;margin-top:.5rem;font-weight:500;display:inline-flex}@keyframes home-line-rise{0%{transform:translateY(105%)}}@keyframes home-fade-in{0%{opacity:.01;transform:translateY(10px)}}@media (prefers-reduced-motion:no-preference){.home-name-in{animation:home-line-rise .9s var(--ease-brand) both}.home-name-2{animation-delay:90ms}.home-rise{animation:home-fade-in .7s var(--ease-brand) .3s both}.home-hero-eyebrow.home-rise{animation-delay:0s}:root[data-intro] .home-name-1{animation-delay:1.5s}:root[data-intro] .home-name-2{animation-delay:1.59s}:root[data-intro] .home-rise{animation-delay:1.76s}}@keyframes home-hero-leave{to{opacity:.2;transform:translateY(-10%)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference) and (min-width:1024px){.home-hero{view-timeline-name:--home-hero}.home-hero-copy,.home-hero-art{animation:linear both home-hero-leave;animation-timeline:--home-hero;animation-range:exit 10% exit 90%}}}.home-stack{gap:1.25rem;display:grid}.home-stack-card{transform-origin:50% 0;isolation:isolate;position:relative}.home-stack-card:after{content:"";border-radius:inherit;background:var(--page-bg);opacity:0;pointer-events:none;position:absolute;inset:-1px}.home-stack-card>:not(.home-stack-media,.tint-card-glow){z-index:1;position:relative}.home-stack-media{align-self:start;padding-bottom:7%;position:relative}.home-stack-phone{border-radius:var(--radius-button);width:22%;position:absolute;bottom:0;right:4%}@keyframes home-stack-recede{to{transform:scale(.94)}}@keyframes home-stack-dim{to{opacity:.6}}@supports (animation-timeline:view()) and (timeline-scope:--a){@media (prefers-reduced-motion:no-preference) and (min-width:1024px) and (min-height:700px){.home-stack{timeline-scope:--home-stack-2, --home-stack-3;gap:12vh}.home-stack-item{position:sticky;top:6rem}.home-stack-item:nth-child(2){view-timeline-name:--home-stack-2;top:6.75rem}.home-stack-item:nth-child(3){view-timeline-name:--home-stack-3;top:7.5rem}.home-stack-item:first-child .home-stack-card,.home-stack-item:nth-child(2) .home-stack-card{animation:linear both home-stack-recede;animation-range:entry}.home-stack-item:first-child .home-stack-card:after,.home-stack-item:nth-child(2) .home-stack-card:after{animation:linear both home-stack-dim;animation-range:entry 60%}.home-stack-item:first-child .home-stack-card,.home-stack-item:first-child .home-stack-card:after{animation-timeline:--home-stack-2}.home-stack-item:nth-child(2) .home-stack-card,.home-stack-item:nth-child(2) .home-stack-card:after{animation-timeline:--home-stack-3}}}@keyframes home-about-in{0%{opacity:.01;transform:translateY(1rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.home-about-p{animation:home-about-in var(--ease-brand) both;animation-timeline:view();animation-range:entry entry 70%}}}.home-marquee{border-radius:4px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.home-marquee-track{width:max-content;display:flex}.home-marquee:focus-visible{outline-offset:-2px;-webkit-mask-image:none;mask-image:none}.home-marquee :focus-visible{outline-offset:-2px}.home-marquee-list{padding-right:clamp(1rem,2.5vw,1.75rem);color:var(--text-body);align-items:center;gap:clamp(1rem,2.5vw,1.75rem);padding-block:.75rem;display:flex}.home-stack-tile{flex-direction:column;align-items:center;gap:.6rem;display:flex}.home-stack-logo{aspect-ratio:1;background:var(--surface);width:clamp(4.5rem,8vw,6rem);box-shadow:inset 0 0 0 1px var(--line);color:var(--text-strong);transition:translate .4s var(--ease-brand), color .38s var(--ease-brand), box-shadow .38s var(--ease-brand);border-radius:1.25rem;place-items:center;display:grid}.home-stack-logo svg{width:46%;height:46%}.home-stack-tile{position:relative}.home-stack-name{font-size:var(--text-small);color:var(--text-muted);white-space:nowrap;font-weight:500}@media (hover:hover) and (pointer:fine){.home-stack-tile:hover .home-stack-logo{color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 40%, transparent), 0 18px 36px -18px color-mix(in oklab, var(--primary) 60%, transparent);translate:0 -6px}}@keyframes home-marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:no-preference){.home-marquee-track{animation:42s linear infinite home-marquee}.home-marquee:hover .home-marquee-track,.home-marquee:focus-visible .home-marquee-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.home-marquee{-webkit-mask-image:none;mask-image:none}.home-marquee-track{justify-content:center;width:auto}.home-marquee-list{flex-wrap:wrap;justify-content:center;row-gap:1.5rem;padding-right:0}.home-marquee-list[aria-hidden=true]{display:none}}.home-mask{margin:-.24em -.06em -.16em;padding:.24em .06em .16em;display:block;overflow:clip}.home-mask-in{display:inline-block}@keyframes home-mask-up{0%{transform:translateY(108%)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.home-mask-in{animation:home-mask-up var(--ease-brand) both;animation-timeline:view();animation-range:entry 10% cover 32%}}}.home-about{isolation:isolate;--about-tone:var(--surface-sunken);position:relative}:root[data-theme=dark] .home-about{--about-tone:color-mix(in oklab, var(--page-bg) 90%, var(--primary) 10%)}.home-about:before{content:"";z-index:-1;background:var(--about-tone);pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 8rem calc(100% - 8rem),#0000);mask-image:linear-gradient(#0000,#000 8rem calc(100% - 8rem),#0000)}@keyframes home-about-tone{0%{opacity:0}22%,84%{opacity:1}to{opacity:0}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.home-about{view-timeline-name:--home-about}.home-about:before{animation:linear both home-about-tone;animation-timeline:--home-about;animation-range:cover}}}.home-title{font-family:var(--font-display);letter-spacing:-.05em;color:var(--text-strong);text-wrap:balance;font-size:clamp(2.75rem,1.6rem + 5vw,6rem);font-weight:700;line-height:.96}.home-title-xl{font-size:clamp(3.25rem,1.5rem + 8vw,9rem);line-height:.92}.home-title-accent{color:var(--primary-ink)}.home-post{gap:.6rem;padding-block:1.5rem;display:grid}@media (min-width:768px){.home-post{grid-template-columns:9.5rem minmax(0,1fr) auto;align-items:center;gap:2rem;padding-block:1.75rem}}.home-post-meta{font-size:var(--text-small);font-variant-numeric:tabular-nums;color:var(--text-muted);flex-wrap:wrap;gap:.4rem;font-weight:500;display:flex}@media (min-width:768px){.home-post-meta{flex-direction:column;gap:.15rem}.home-post-meta>[aria-hidden]{display:none}}.home-post-main{gap:.4rem;min-width:0;display:grid}.home-post-title{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(1.375rem,1rem + 1.4vw,2rem);font-weight:700;line-height:1.15}.home-post-excerpt{-webkit-line-clamp:2;max-width:60ch;color:var(--text-body);-webkit-box-orient:vertical;font-size:1rem;line-height:1.55;display:-webkit-box;overflow:hidden}@media (min-width:768px){.home-post-excerpt{-webkit-line-clamp:1;max-width:75ch}}.home-post-side{align-items:center;gap:.75rem;display:flex}.home-post-tag{border:1px solid var(--line);background:var(--surface);font-size:var(--text-small);color:var(--text-body);border-radius:999px;padding:.3rem .75rem;font-weight:500}.home-post-arrow{display:none}@media (min-width:768px){.home-post-arrow{border:1px solid var(--line);width:2.5rem;height:2.5rem;color:var(--text-body);transition:background-color .38s var(--ease-brand), border-color .38s var(--ease-brand), color .38s var(--ease-brand), translate .3s var(--ease-brand);border-radius:999px;place-items:center;display:inline-grid}.home-post:hover .home-post-arrow{border-color:var(--primary);background:var(--primary);color:var(--on-primary);translate:.15rem -.15rem}}.home-title-sm{font-size:clamp(2.25rem,1.4rem + 3.4vw,4rem)}.home-xp{gap:1rem;display:grid}@media (min-width:1024px){.home-xp{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.25rem}}.home-xp-card{border-radius:var(--radius-card);flex-direction:column;gap:1.75rem;padding:clamp(1.25rem,3vw,2.25rem);display:flex}@media (max-width:639.98px){.home-xp-card{gap:1.4rem}.home-xp-icon{border-radius:.75rem;width:2.5rem;height:2.5rem}.home-xp-roles{gap:1.25rem;padding-left:1.25rem}.home-xp-roles>li:before{left:calc(-1.25rem - 4px)}}.home-xp-card-head{align-items:center;gap:1rem;display:flex}.home-xp-icon{background:var(--tint-ink);width:3rem;height:3rem;color:var(--on-brand);border-radius:.875rem;flex:none;place-items:center;display:inline-grid}.home-xp-icon svg{width:1.375rem;height:1.375rem}.home-xp-company{letter-spacing:-.03em;color:var(--text-strong);font-size:clamp(1.25rem,1.05rem + .8vw,1.625rem);font-weight:700;line-height:1.15}.home-xp-tag,.home-xp-tag{margin-top:.2rem}.home-xp-roles{gap:1.4rem;padding-left:1.5rem;display:grid;position:relative}.home-xp-roles:before{content:"";background:linear-gradient(var(--tint), color-mix(in oklab, var(--tint) 15%, transparent));transform-origin:top;border-radius:2px;width:2px;position:absolute;top:.5rem;bottom:.5rem;left:0}.home-xp-roles>li{font-size:1rem;line-height:1.55;position:relative}.home-xp-roles>li:before{content:"";background:var(--page-bg);width:10px;height:10px;box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--tint) 55%, transparent);border-radius:999px;position:absolute;top:.45rem;left:calc(-1.5rem - 4px)}.home-xp-roles>li:first-child:before{background:var(--tint);box-shadow:0 0 0 4px color-mix(in oklab, var(--tint) 22%, transparent)}.home-xp-role{flex-direction:column-reverse;align-items:flex-start;gap:.35rem;font-size:1.0625rem;display:flex}@media (min-width:640px){.home-xp-role{flex-flow:wrap;align-items:center;gap:.35rem .75rem}}.home-xp-project{color:var(--tint-ink);margin-top:.5rem;font-weight:650;display:block}.home-xp-desc{color:var(--text-body);margin-top:.15rem}.home-xp-period{background:color-mix(in oklab, var(--tint) 13%, transparent);font-size:var(--text-small);font-variant-numeric:tabular-nums;color:var(--tint-ink);border-radius:999px;padding:.15rem .6rem;font-weight:500}@keyframes home-xp-line{0%{scale:1 0}}.home-xp-roles>li:first-child:after{content:"";z-index:-1;background:color-mix(in oklab, var(--tint) 14%, transparent);opacity:0;pointer-events:none;border-radius:999px;width:18px;height:18px;position:absolute;top:calc(.45rem - 4px);left:calc(-1.5rem - 8px)}@media (max-width:639.98px){.home-xp-roles>li:first-child:after{left:calc(-1.25rem - 8px)}}@keyframes home-xp-pulse{50%{opacity:1;transform:scale(1.35)}}@media (prefers-reduced-motion:no-preference){.home-xp-roles>li:first-child:after{animation:2.4s ease-in-out infinite home-xp-pulse}@supports (animation-timeline:view()){.home-xp-roles:before{animation:linear both home-xp-line;animation-timeline:view();animation-range:entry 30% cover 45%}}}@keyframes home-about-recede{to{opacity:.12;filter:blur(3px);translate:0 -5vh}}@keyframes home-work-arrive{0%{opacity:.01;filter:blur(6px);scale:.92}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.home-about-recede{animation:linear both home-about-recede;animation-timeline:view();animation-range:exit 55%}.home-work-head{transform-origin:0 100%;animation:linear both home-work-arrive;animation-timeline:view();animation-range:entry cover 30%}}}.home-card-title{font-size:clamp(2rem,1.4rem + 2.2vw,3.25rem)}.home-stack-media{padding-bottom:5%}.home-stack-media>:first-child{overflow:hidden}.home-stack-media>:first-child img{transition:scale .9s var(--ease-brand)}@media (hover:hover) and (pointer:fine){.home-stack-card:hover .home-stack-media>:first-child img{scale:1.035}}@keyframes home-card-shot-in{0%{opacity:.01;translate:0 2.5rem;scale:.96}}@keyframes home-card-phone-in{0%{opacity:.01;translate:3rem 1rem;rotate:4deg}}@keyframes home-card-text-in{0%{opacity:.01;translate:0 1.25rem}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.home-stack-media>:first-child{animation:linear both home-card-shot-in;animation-timeline:view();animation-range:entry entry 80%}.home-stack-phone{animation:linear both home-card-phone-in;animation-timeline:view();animation-range:entry 20% cover 35%}.home-card-text{animation:linear both home-card-text-in;animation-timeline:view();animation-range:entry 10% entry 90%}}}:root[data-theme=dark] .home-xp-card{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--tint) 24%, transparent), inset 0 1px 0 color-mix(in oklab, var(--tint) 55%, transparent), 0 40px 80px -48px color-mix(in oklab, var(--tint) 55%, transparent)}:root[data-theme=dark] .home-xp-icon{background:color-mix(in oklab, var(--tint) 22%, var(--page-bg));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--tint) 45%, transparent), 0 8px 24px -10px color-mix(in oklab, var(--tint) 70%, transparent);color:var(--tint)}:root[data-theme=dark] .home-xp-roles>li:before{background:var(--surface-solid)}:root[data-theme=dark] .home-xp-roles>li:first-child:before{background:var(--tint)}:root[data-theme=dark] .home-xp-period{background:color-mix(in oklab, var(--tint) 18%, transparent);color:color-mix(in oklab, var(--tint) 70%, var(--text-strong))}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.home-xp-card{transition:translate .52s var(--ease-brand), box-shadow .52s var(--ease-brand)}.home-xp-card:hover{translate:0 -3px}}:root[data-theme] .home-own{--own-pad:clamp(1.25rem, 3vw, 2.25rem);--own-tile:clamp(9.5rem, 15vw, 12rem);justify-content:space-between;gap:1.5rem;overflow:clip}.home-own .tint-card-glow{display:none}.home-own-head .home-xp-tag{text-wrap:balance}.home-xp>*{min-width:0}.home-own-reel{min-width:0;margin-inline:calc(-1 * var(--own-pad));gap:.9rem;display:grid;overflow:clip}.home-own-row{width:max-content;display:flex}.home-own-track{gap:.9rem;padding-right:.9rem;display:flex}.home-own-tile{width:var(--own-tile);transition:translate .48s var(--ease-brand), opacity .38s var(--ease-brand);margin:0}.home-own-tile>:first-child{border-color:color-mix(in oklab, var(--tint) 30%, transparent);box-shadow:0 16px 30px -18px color-mix(in oklab, var(--tint) 55%, var(--scrim) 45%);border-radius:.7rem}:root[data-theme=dark] .home-own-tile>:first-child{border-color:color-mix(in oklab, var(--tint) 45%, transparent)}.home-own-tile .cover-art-kicker{display:none}.home-own-tile figcaption{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);margin-top:.5rem;padding-inline:.15rem;font-size:.8125rem;font-weight:600;overflow:hidden}.home-own-stats{gap:clamp(1.5rem,3vw,2.5rem);display:flex}.home-own-stats>div{flex-direction:column-reverse;display:flex}.home-own-stats dd{letter-spacing:-.05em;color:var(--tint-ink);font-size:clamp(2rem,1.5rem + 1.6vw,2.75rem);font-weight:700;line-height:1}.home-own-stats dt{color:var(--text-muted);margin-top:.4rem;font-size:.875rem;font-weight:500}.home-own-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 2rem;display:flex}@keyframes home-own-left{to{translate:-50%}}@keyframes home-own-right{0%{translate:-50%}to{translate:0}}@media (prefers-reduced-motion:no-preference){.home-own-row[data-dir=left]{animation:48s linear infinite home-own-left}.home-own-row[data-dir=right]{animation:54s linear infinite home-own-right}@media (hover:hover) and (pointer:fine){.home-own-reel:hover .home-own-row{animation-play-state:paused}.home-own-reel:hover .home-own-tile{opacity:.55}.home-own-reel .home-own-tile:hover{opacity:1;translate:0 -4px}}}@media (prefers-reduced-motion:reduce){.home-own-reel{overflow-x:auto}.home-own-track+.home-own-track{display:none}}.home-xp-items{gap:.35rem;margin-top:.5rem;display:grid}.home-xp-items li{grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:.75rem;display:grid}.home-xp-items .home-xp-project,.home-xp-items .home-xp-desc{margin-top:0}.home-xp-roles>li.home-xp-extra:before{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--tint) 35%, transparent);outline:1px dashed color-mix(in oklab, var(--tint) 45%, transparent);outline-offset:2px;background:0 0}:root[data-theme] .home-xp-card.tint-card{background:var(--xp-card-bg);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-sm)}:root[data-theme] .home-xp-card{--xp-card-bg:var(--surface)}:root[data-theme=dark] .home-xp-card{--xp-card-bg:color-mix(in oklab, var(--page-bg) 94%, var(--text-strong) 6%)}:root[data-theme] .home-xp-card .tint-card-glow{display:none}:root[data-theme] .home-xp-card .home-xp-icon{background:var(--tint-ink);box-shadow:none;color:var(--on-brand)}:root[data-theme=dark] .home-xp-card .home-xp-icon{background:color-mix(in oklab, var(--tint) 18%, var(--xp-card-bg));color:var(--tint)}.home-own-tile>:first-child{box-shadow:0 10px 24px -16px var(--scrim)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){:root[data-theme] .home-xp-card.tint-card:hover{box-shadow:inset 0 0 0 1px var(--line-strong), var(--shadow-md)}}[data-offscreen] :is(.home-marquee-track,.home-own-row),[data-offscreen] .home-xp-roles>li:first-child:after{animation-play-state:paused}
