.loader{z-index:var(--z-loader);color:#edecea;clip-path:inset(0%);will-change:clip-path;background:#0c0c0e;align-items:flex-end;display:flex;position:fixed;inset:0}.loader__inner{width:100%;max-width:var(--shell);padding:0 var(--gutter) clamp(2rem, 6vh, 4rem);margin-inline:auto}.loader__name{letter-spacing:-.012em;text-transform:uppercase;color:#edecea;font-size:clamp(2.1rem,7vw,5.5rem);line-height:.96}.loader__foot{align-items:center;gap:1.25rem;margin-top:clamp(1.5rem,4vh,2.5rem);display:flex}.loader__track{background:#edecea33;flex:1;height:1px;display:block;position:relative;overflow:hidden}.loader__bar{transform-origin:0;background:#edecea;position:absolute;inset:0;transform:scaleX(0)}.loader__count{color:#edeceaa8;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.loader__foot{display:none}}.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button{cursor:none}.cursor{z-index:var(--z-cursor);border:1px solid var(--ink);pointer-events:none;visibility:hidden;opacity:0;mix-blend-mode:difference;filter:invert();width:10px;height:10px;transition:width .48s var(--ease-out), height .48s var(--ease-out), margin .48s var(--ease-out), background-color .48s var(--ease-out), border-color .48s var(--ease-out);background:0 0;border-radius:50%;margin:-5px 0 0 -5px;position:fixed;top:0;left:0}.cursor[data-mode=link]{background:var(--ink);border-color:var(--ink);width:30px;height:30px;margin:-15px 0 0 -15px}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor{display:none}.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button{cursor:auto}}.nav{z-index:var(--z-nav);color:var(--ink);transition:transform .52s var(--ease-out), background-color .48s var(--ease-out), color .48s var(--ease-out), border-color .48s var(--ease-out);will-change:transform;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0;transform:translate(0,0)}.nav.is-hidden{transform:translateY(-100%)}.nav:focus-within{transform:translate(0,0)}@media (prefers-reduced-motion:reduce){.nav.is-hidden{transform:none}}.nav.is-compact{background:color-mix(in srgb, var(--paper) 93%, transparent);-webkit-backdrop-filter:saturate(150%)blur(14px);border-bottom-color:var(--rule)}.nav.is-over-ink{background:color-mix(in srgb, var(--paper) 90%, transparent)}.nav__inner{height:76px;transition:height .48s var(--ease-out);align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}.nav.is-compact .nav__inner{height:58px}.nav__logo{font-family:var(--font-sans);font-size:var(--fs-meta);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;flex:none;margin-right:auto;font-weight:600}.nav__logo-name{padding-bottom:3px;display:inline-block;position:relative}.nav__logo-name:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur) var(--ease-out);background:currentColor;position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav__logo:hover .nav__logo-name:after,.nav__logo:focus-visible .nav__logo-name:after{transform-origin:0;transform:scaleX(1)}.nav__links ul{align-items:center;gap:clamp(1.1rem,2.2vw,2rem);margin:0;padding:0;list-style:none;display:flex}.nav__link{font-family:var(--font-sans);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;white-space:nowrap;color:var(--ink-2);transition:color var(--dur-fast) var(--ease-out);padding:.4rem 0;font-weight:500;display:block;position:relative}.nav__link:hover{color:var(--ink)}.nav__link:after{content:"";background:var(--accent);width:3px;height:3px;transition:transform var(--dur) var(--ease-out);border-radius:50%;position:absolute;bottom:-1px;left:50%;transform:translate(-50%,4px)scale(0)}.nav__link[aria-current=true]{color:var(--ink)}.nav__link[aria-current=true]:after{transform:translate(-50%)scale(1)}.nav__cta{border:1px solid var(--rule);font-family:var(--font-sans);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;white-space:nowrap;transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);flex:none;align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:500;display:inline-flex}.nav__cta:active{transform:translateY(1px)}.nav__cta svg{width:13px;height:13px;transition:transform var(--dur) var(--ease-out)}.nav__cta:hover,.nav__cta:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper)}.nav__cta:hover svg{transform:translate(2px,-2px)}.nav__burger{cursor:pointer;background:0 0;border:0;flex:none;padding:.6rem 0;display:none}.nav__burger-lines{width:30px;display:block}.nav__burger-lines span{height:1px;transition:transform var(--dur) var(--ease-out);background:currentColor;display:block}.nav__burger-lines span+span{width:18px;margin-top:7px;margin-left:auto}.nav__burger:hover .nav__burger-lines span+span{width:30px}@media (width<=1023px){.nav__links,.nav__cta{display:none}.nav__burger{display:block}.nav__inner{height:64px}.nav.is-compact .nav__inner{height:54px}}.sheet{z-index:var(--z-menu);background:var(--paper);color:var(--ink);clip-path:inset(0% 0% 100%);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet__bar{flex:none;justify-content:space-between;align-items:center;height:64px;display:flex}.sheet__close{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;margin-right:-12px;display:grid}.sheet__close svg{stroke-width:1.25px;width:22px;height:22px;transition:transform var(--dur) var(--ease-out)}.sheet__close:hover svg{transform:rotate(90deg)}.sheet__nav{flex:1;align-items:center;padding-block:clamp(2rem,8vh,5rem);display:flex}.sheet__nav ul{width:100%;margin:0;padding:0;list-style:none}.sheet__nav li+li{border-top:1px solid var(--rule-soft)}.sheet__nav a{padding-block:clamp(.5rem,1.6vh,.9rem);display:block;overflow:hidden}.sheet__nav a>span{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);transition:transform var(--dur) var(--ease-out);align-items:baseline;gap:1rem;font-size:clamp(1.9rem,9vw,3.1rem);line-height:1.1;display:flex}.sheet__nav a:hover>span{transform:translate(10px)}.sheet__idx{color:var(--ink-3);flex:none;font-style:normal}.sheet__foot{border-top:1px solid var(--rule-soft);flex-wrap:wrap;flex:none;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1.25rem;padding-bottom:clamp(1.5rem,5vh,2.5rem);display:flex}.portrait{width:100%;margin:0}.portrait__window{aspect-ratio:4/5;background:var(--paper-raised);position:relative;overflow:hidden}.portrait__img{object-fit:cover;filter:grayscale()contrast(1.07)brightness(1.02);width:100%;height:100%;transition:filter .9s var(--ease-out), transform 1.2s var(--ease-out);will-change:transform;transform:scale(1.06)}.portrait:hover .portrait__img{filter:grayscale(.82)contrast(1.04)brightness(1.03);transform:scale(1.1)}.portrait__window:not([data-empty]):after{content:"";pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,#0000 46%,#10101229 100%);position:absolute;inset:0}.portrait__window[data-empty]{background:var(--paper-sunk)}.portrait__empty{background:linear-gradient(#1010120d,#1010121c);place-items:center;display:grid;position:absolute;inset:0}.portrait__empty:before,.portrait__empty:after{content:"";border:1px solid var(--ink);opacity:.3;width:14px;height:14px;position:absolute}.portrait__empty:before{border-bottom:0;border-right:0;top:14px;left:14px}.portrait__empty:after{border-top:0;border-left:0;bottom:14px;right:14px}.portrait__monogram{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:.02em;color:var(--ink);opacity:.22;-webkit-user-select:none;user-select:none;font-size:clamp(4rem,11vw,7.5rem);line-height:1}.portrait__slug{position:absolute;bottom:.85rem;left:1rem}.portrait__caption{align-items:center;gap:.6rem;margin-top:.85rem;display:flex}.portrait__caption:before{content:"";background:var(--rule);flex:none;width:clamp(18px,3vw,34px);height:1px}@media (prefers-reduced-motion:reduce){.portrait__img,.portrait:hover .portrait__img{transform:scale(1.02)}}.js-anim [data-hero-fade]{opacity:0}@media (prefers-reduced-motion:reduce){.js-anim [data-hero-fade]{opacity:1}}.hero{flex-direction:column;justify-content:space-between;min-height:100dvh;padding-top:clamp(96px,12vh,132px);padding-bottom:clamp(1.5rem,4vh,2.5rem);display:flex;position:relative}.hero__grid{align-content:center;align-items:start;column-gap:var(--grid-gap);flex:1;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"name name name name name name name.por por por por""role role role role role. . .por por por por""line line line line line. . .por por por por";row-gap:clamp(1.25rem,3vh,2.25rem);display:grid}.hero__name{text-transform:uppercase;letter-spacing:-.03em;word-spacing:-.03em;grid-area:name;line-height:.94}.hero__role{font-family:var(--font-sans);letter-spacing:var(--track-meta);text-transform:uppercase;color:var(--ink);flex-wrap:wrap;grid-area:role;gap:0 clamp(1rem,2.4vw,2.25rem);font-size:clamp(.7rem,.95vw,.8125rem);font-weight:500;display:flex}.hero__role .mask+.mask{position:relative}.hero__role .mask+.mask:before{content:"";background:var(--rule);width:1px;height:11px;position:absolute;top:50%;left:clamp(-1.1rem,-1.2vw,-.5rem);transform:translateY(-50%)}.hero__line{color:var(--ink-2);max-width:30ch;font-family:var(--font-display);grid-area:line;font-size:clamp(1.05rem,1.65vw,1.45rem);line-height:1.38}.hero__portrait{will-change:transform;grid-area:por;align-self:center;width:100%;max-width:min(100%,420px);margin-left:auto}.hero__colophon{flex:none}.hero__meta{gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding-top:.9rem;display:grid}.hero__meta-item{min-width:0}.hero__meta dt{margin-bottom:.3rem}.hero__meta-value{font-family:var(--font-sans);font-size:var(--fs-small);color:var(--ink);margin:0;font-weight:500;line-height:1.35}.hero__meta-item:last-child{text-align:right}.hero__meta-item:nth-child(2){text-align:center}@media (width<=1023px){.hero__grid{grid-template-areas:"name name name name name name name name por por por por""role role role role role role role.por por por por""line line line line line line line.por por por por"}.hero__portrait{max-width:320px}}@media (width<=767px){.hero{min-height:auto;padding-top:clamp(88px,16vh,112px);padding-bottom:clamp(2rem,6vh,3rem)}.hero__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""role""por""line";row-gap:clamp(1.1rem,3.5vh,1.75rem)}.hero__name{line-height:.96}.hero__role{border-top:1px solid var(--rule);padding-top:.9rem}.hero__portrait{max-width:100%;margin-top:.5rem;margin-left:0}.hero__portrait .portrait__window{aspect-ratio:1}.hero__line{max-width:none}.hero__meta{grid-template-columns:minmax(0,1fr);gap:0}.hero__meta-item{justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.6rem;display:flex;text-align:left!important}.hero__meta-item+.hero__meta-item{border-top:1px solid var(--rule-soft)}.hero__meta dt{margin-bottom:0}}@media (width<=380px){.hero__role{letter-spacing:.12em;font-size:.65rem}}.marquee{margin-top:clamp(1rem,4vh,2.5rem);position:relative}.marquee__viewport{padding-block:clamp(.85rem,2vh,1.4rem);overflow:hidden}.marquee__track{will-change:transform;width:max-content;display:flex}.marquee__item{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);text-transform:uppercase;white-space:nowrap;color:var(--ink);flex:none;align-items:center;padding-inline:clamp(1.1rem,3vw,2.5rem);font-size:clamp(1.25rem,2.8vw,2.25rem);line-height:1.2;display:flex}.marquee__item:before{content:"";background:var(--rule);flex:none;width:1px;height:.85em;margin-right:clamp(1.1rem,3vw,2.5rem)}@media (prefers-reduced-motion:reduce){.marquee__viewport{overflow:visible}.marquee__track{flex-wrap:wrap;justify-content:center;row-gap:.25rem;width:auto}.marquee__item:nth-child(n+6){display:none}}.about__grid{grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(1.5rem,4vw,4rem);display:grid}.about__prose{max-width:58ch}.about__prose p{color:var(--ink-2);font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.7}.about__prose p+p{margin-top:1.4em}.about__lede{font-family:var(--font-display);max-width:29ch;color:var(--ink)!important;font-size:clamp(1.15rem,2vw,1.7rem)!important;line-height:1.42!important}.about__facts{gap:var(--grid-gap);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(3rem,7vh,5rem) 0 0;display:grid}.about__fact{border-top:1px solid var(--rule);min-width:0;padding-top:.85rem}.about__fact dt{margin-bottom:.4rem}.about__fact dd{font-size:var(--fs-small);color:var(--ink);text-wrap:balance;margin:0;font-weight:500;line-height:1.4}@media (width<=1023px){.about__grid{grid-template-columns:minmax(0,1fr)}.about__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.about__facts{grid-template-columns:minmax(0,1fr);gap:0}.about__fact{border-top-color:var(--rule-soft);justify-content:space-between;align-items:baseline;gap:1.25rem;padding-block:.8rem;display:flex}.about__fact:first-child{border-top-color:var(--rule)}.about__fact dt{flex:none;margin-bottom:0}.about__fact dd{text-align:right}}.three{pointer-events:none;color:var(--ink);position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 78% at 16% 60%,#000 0% 30%,#0000 72%);mask-image:radial-gradient(90% 78% at 16% 60%,#000 0% 30%,#0000 72%)}.three canvas{width:100%!important;height:100%!important}@media (width<=767px){.three{height:min(52vh,420px);inset:0 0 auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 28% 60%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 28% 60%,#0000 100%)}}.security{background:var(--paper);color:var(--ink);margin-top:clamp(4rem,10vh,7rem);padding-block:clamp(6.5rem,17vh,13rem);position:relative;overflow:hidden}.security__inner{position:relative}.security__scan{pointer-events:none;opacity:0;animation:11s cubic-bezier(.45,0,.55,1) infinite security-scan;position:absolute;inset:0}.security__scan:before{content:"";background:linear-gradient(to right, transparent, var(--ink) 18%, var(--ink) 82%, transparent);opacity:.2;height:1px;position:absolute;top:0;left:0;right:0}@keyframes security-scan{0%{opacity:0;transform:translateY(0)}9%{opacity:1}86%{opacity:1}to{opacity:0;transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.security__scan{display:none}}.security__head{text-transform:uppercase;max-width:14ch;line-height:.95}.security__pivot>span{text-transform:lowercase;padding-bottom:.08em;padding-left:clamp(2rem,11vw,9rem);font-style:italic;line-height:1.12;display:block}.security__body{max-width:52ch;color:var(--ink-2);margin-top:clamp(2rem,5vh,3.25rem);margin-left:auto;font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.7}.security__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,6vw,5rem);margin:clamp(3.5rem,9vh,6rem) 0 0;padding:0;list-style:none;display:grid}.security__item{border-top:1px solid var(--rule);padding-block:clamp(1rem,2.4vh,1.5rem)}.security__item-title{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0;font-size:.75rem;font-weight:500;line-height:1.4}.security__item-note{font-size:var(--fs-small);color:var(--ink-3);max-width:40ch;margin:.55rem 0 0;line-height:1.6}@media (width<=767px){.security{padding-block:clamp(4.5rem,12vh,7rem)}.security__head{max-width:none}.security__pivot>span{padding-left:clamp(1.25rem,12vw,4rem)}.security__body{margin-left:0}.security__list{grid-template-columns:minmax(0,1fr)}}.skills__rail{margin-bottom:clamp(2rem,5vh,3.5rem)}.skills__row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1rem,4vw,4rem);padding-block:clamp(1.75rem,5vh,3rem);display:grid}.skills__rows>:last-child{border-bottom:1px solid var(--rule)}.skills__title{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);margin:0;font-size:clamp(1.6rem,3.4vw,2.7rem);line-height:1.05}.skills__note{font-size:var(--fs-small);color:var(--ink-3);margin:.5rem 0 0}.skills__items{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.15rem clamp(1.5rem,4vw,3rem);margin:0;padding:0;list-style:none;display:grid}.skills__items li{color:var(--ink);padding:.45rem 0 .45rem 1.4rem;font-size:clamp(.95rem,1.1vw,1.0625rem);line-height:1.45;position:relative}.skills__items li:before{content:"";background:var(--rule);width:.7rem;height:1px;transition:width var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out);position:absolute;top:1.1em;left:0}.skills__items li:hover:before{background:var(--ink);width:1.05rem}@media (width<=1023px){.skills__row{grid-template-columns:minmax(0,1fr);gap:1.25rem}}@media (width<=560px){.skills__items{grid-template-columns:minmax(0,1fr)}}.studio{padding-block:clamp(5rem,14vh,10rem);overflow:hidden}.studio__mark{opacity:.92;width:clamp(64px,8vw,96px);transition:opacity .3s var(--ease-out);margin:0 auto clamp(2rem,5vh,3rem);display:block}.studio__mark:hover,.studio__mark:focus-visible{opacity:1}.studio__mark-img{filter:invert();width:100%;height:auto;display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .studio__mark-img{filter:none}}.studio__lockup{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);text-align:center;justify-items:center;margin:0;display:grid}.studio__line{text-transform:uppercase;white-space:nowrap;will-change:transform;font-size:clamp(1.9rem,7.2vw,6rem);line-height:.98;display:block}.studio__line--mark{font-family:var(--font-sans);letter-spacing:-.03em;font-size:clamp(1.7rem,6.4vw,5.25rem);font-weight:700}.studio__at{color:var(--ink-3);padding-block:clamp(.15rem,.8vh,.6rem);font-size:clamp(1.5rem,4.2vw,3rem);font-style:italic;line-height:1.25;display:block}.studio__foot{margin-top:clamp(3rem,8vh,5.5rem)}.studio__body{max-width:44ch;color:var(--ink-2);margin:1.25rem 0 0 auto;font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.65}@media (width<=767px){.studio__body{margin-left:0}}.journey__rail{margin-bottom:clamp(2rem,5vh,3.5rem)}.journey__track{position:relative}.journey__spine{background:var(--ink);opacity:.5;transform-origin:top;will-change:transform;width:1px;position:absolute;top:0;bottom:0;left:0}.js-anim .journey__spine{transform:scaleY(0)}.journey__list{margin:0;padding:0;list-style:none}.journey__entry{--indent:min(calc(var(--step) * 3.4vw), 18vw);margin-left:var(--indent);max-width:62ch;padding:clamp(1.25rem,3.5vh,2rem) 0 clamp(1.25rem,3.5vh,2rem) clamp(1.25rem,3vw,2.5rem);position:relative}.journey__rule{top:0;left:calc(-1 * var(--indent));width:calc(100% + var(--indent));background:var(--rule);transform-origin:0;will-change:transform;height:1px;position:absolute}.js-anim .journey__rule{transform:scaleX(0)}.journey__marker{margin-bottom:.75rem}.journey__title{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);margin:0;font-size:clamp(1.3rem,2.6vw,2.05rem);line-height:1.12}.journey__body{font-size:var(--fs-body);color:var(--ink-2);max-width:52ch;margin:.7rem 0 0;line-height:1.65}@media (width<=767px){.journey__entry{--indent:0px;padding-left:1rem}}@media (prefers-reduced-motion:reduce){.js-anim .journey__spine,.js-anim .journey__rule{transform:none}}.contact{padding-top:clamp(5rem,14vh,10rem);padding-bottom:clamp(3.5rem,9vh,6rem)}.contact__head{letter-spacing:-.03em;max-width:13ch;font-size:clamp(2.5rem,9.5vw,8.5rem);line-height:.95}.contact__head .mask:nth-child(2)>span{padding-left:clamp(1rem,5vw,4.5rem)}.contact__head .mask:nth-child(3)>span{padding-left:clamp(2rem,10vw,9rem)}.contact__foot{margin-top:clamp(3rem,8vh,5.5rem)}.contact__cols{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:clamp(2rem,5vw,4rem);padding-top:clamp(1.5rem,4vh,2.5rem);display:grid}.contact__line{font-family:var(--font-display);color:var(--ink-2);max-width:30ch;margin:0;font-size:clamp(1.05rem,1.8vw,1.55rem);line-height:1.4}.contact__where{gap:.3rem;margin-top:clamp(2rem,5vh,3rem);font-style:normal;display:grid}.contact__name{font-size:var(--fs-small);letter-spacing:var(--track-meta);text-transform:uppercase;font-weight:500}.contact__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.magnet{margin:-.85rem;padding:.85rem;display:inline-block}.magnet__inner{will-change:transform;display:inline-block}@media (width<=900px){.contact__cols{grid-template-columns:minmax(0,1fr);gap:2.5rem}.contact__actions{justify-content:flex-start}}@media (width<=560px){.contact__head{max-width:none}.contact__actions{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.magnet,.magnet__inner{display:block}.contact__actions .action{justify-content:space-between;width:100%}}.footer{padding-bottom:clamp(1.75rem,5vh,3rem)}.footer__grid{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,2fr) minmax(0,2fr);align-items:start;gap:clamp(1.5rem,3vw,3rem);padding-top:clamp(1.5rem,4vh,2.5rem);display:grid}.footer__name{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);text-transform:uppercase;margin:0;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.05}.footer__roles,.footer__links{font-size:var(--fs-small);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.footer__roles{color:var(--ink-3)}.footer__links li{line-height:1.5}.footer__link{align-items:center;gap:.4rem;display:inline-flex}.footer__link-icon{flex:none}.footer__copy{text-align:right;justify-self:end;margin:0}@media (width<=900px){.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}.footer__name{grid-column:1/-1}.footer__copy{text-align:left;justify-self:start}}@media (width<=480px){.footer__grid{grid-template-columns:minmax(0,1fr)}.footer__copy{padding-top:.5rem}}:root{--paper:#f2f1ee;--paper-sunk:#e6e4e0;--paper-raised:#f8f7f5;--ink:#101012;--ink-2:#4d4d55;--ink-3:#66666f;--rule:#10101224;--rule-soft:#10101212;--accent:#514bc3;--accent-quiet:#514bc324;--font-display:"General Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-sans:"General Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-display:clamp(2.4rem, 7.9vw, 7.125rem);--fs-h1:clamp(2.1rem, 5.9vw, 4.75rem);--fs-h2:clamp(1.7rem, 4vw, 3.2rem);--fs-h3:clamp(1.4rem, 2.6vw, 2.2rem);--fs-lead:clamp(1.05rem, 1.7vw, 1.45rem);--fs-body:clamp(.95rem, 1.02vw, 1.03125rem);--fs-small:.8125rem;--fs-meta:.6875rem;--track-meta:.15em;--track-tight:-.025em;--weight-display:600;--gutter:clamp(1.25rem, 4.2vw, 4rem);--shell:1440px;--section-y:clamp(5.5rem, 13vh, 11rem);--grid-gap:clamp(1rem, 2.1vw, 2rem);--radius:0px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--dur-fast:.24s;--dur:.56s;--dur-slow:.9s;--reveal-shift:48px;--z-nav:60;--z-menu:70;--z-grain:80;--z-cursor:90;--z-loader:100}@media (width<=1023px){:root{--reveal-shift:32px}}@media (width<=767px){:root{--reveal-shift:20px}}.u-ink{--paper:#0c0c0e;--paper-sunk:#17171a;--paper-raised:#131316;--ink:#edecea;--ink-2:#9a9aa3;--ink-3:#86868f;--rule:#edecea29;--rule-soft:#edecea14;--accent:#9a95f2;--accent-quiet:#9a95f22e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0c0c0e;--paper-sunk:#17171a;--paper-raised:#131316;--ink:#edecea;--ink-2:#9a9aa3;--ink-3:#86868f;--rule:#edecea29;--rule-soft:#edecea14;--accent:#9a95f2;--accent-quiet:#9a95f22e}:root:not([data-theme=light]) .u-ink{--paper:#f2f1ee;--paper-sunk:#e6e4e0;--paper-raised:#f8f7f5;--ink:#101012;--ink-2:#4d4d55;--ink-3:#66666f;--rule:#10101224;--rule-soft:#10101212;--accent:#514bc3;--accent-quiet:#514bc324}}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:General Sans;font-style:normal;font-weight:200 700;font-display:swap;src:url(/fonts/general-sans-var-normal.woff2)format("woff2-variations")}@font-face{font-family:General Sans;font-style:italic;font-weight:200 700;font-display:swap;src:url(/fonts/general-sans-var-italic.woff2)format("woff2-variations")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body,h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);font-weight:400;line-height:1.6;overflow-x:clip}img,picture,svg,canvas{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:focus:not(:focus-visible){outline:none}::selection{background:var(--ink);color:var(--paper)}.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.grid12{gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--section-y);position:relative}.bleed{background:var(--paper);color:var(--ink)}.rule{background:var(--rule);border:0;width:100%;height:1px}.rail{align-self:start}.about__grid .rail{position:sticky;top:calc(58px + 2rem)}.rail__label{color:var(--ink-3);margin:.85rem 0 0}@media (width<=1023px){.about__grid .rail{position:static}.rail{margin-bottom:.5rem}.rail__label{margin-top:.7rem}}.t-display,.t-h1,.t-h2{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-tight);padding-bottom:.06em;line-height:1.04}.t-display{font-size:var(--fs-display)}.t-h1{font-size:var(--fs-h1)}.t-h2{font-size:var(--fs-h2);line-height:1.06}.t-h3{font-family:var(--font-sans);font-size:var(--fs-h3);letter-spacing:var(--track-tight);font-weight:500;line-height:1.18}.t-lead{font-size:var(--fs-lead);max-width:34ch;font-weight:400;line-height:1.5}.t-prose{font-size:var(--fs-body);max-width:62ch;color:var(--ink-2);line-height:1.68}.t-em{font-style:italic;font-weight:400}.t-meta{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;color:var(--ink-3);font-weight:400;line-height:1.4}.t-label{font-family:var(--font-sans);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;font-weight:500}.link-rule{padding-bottom:2px;display:inline-block;position:relative}.link-rule:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--dur) var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.link-rule:hover:after,.link-rule:focus-visible:after{transform:scaleX(1)}.action{border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;white-space:nowrap;cursor:pointer;isolation:isolate;transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);background:0 0;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.action:before{content:"";z-index:-1;background:var(--ink);transition:transform var(--dur) var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.action:hover,.action:focus-visible{color:var(--paper);border-color:var(--ink)}.action:hover:before,.action:focus-visible:before{transform:translateY(0)}.action:active{transform:translateY(1px)}.action svg{flex:none;width:15px;height:15px}.action--solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.action--solid:before{background:var(--paper)}.action--solid:hover,.action--solid:focus-visible{color:var(--ink)}.js-anim [data-reveal=up]{opacity:0;transform:translate3d(0, var(--reveal-shift), 0)}.js-anim [data-reveal=fade]{opacity:0}.js-anim [data-reveal=rise]{opacity:0;transform:translate3d(0, var(--reveal-shift), 0) scale(.985)}.mask{display:block;overflow:hidden}.mask>span{display:block}.js-anim .mask>span{transform:translateY(105%)}.grain{z-index:var(--z-grain);pointer-events:none;opacity:.17;mix-blend-mode:multiply;background-size:170px 170px;position:fixed;inset:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grain{mix-blend-mode:screen;opacity:.1}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:var(--z-loader);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;transition:transform var(--dur-fast) var(--ease-out);padding:.75rem 1.1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js-anim [data-reveal],.js-anim .mask>span{opacity:1!important;transform:none!important}.grain{display:none}}
