@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-mono-v20-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-mono-v20-400-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(../fonts/ibm-plex-mono-v20-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(../fonts/ibm-plex-mono-v20-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400 700;src:url(../fonts/space-grotesk-v22-400-700-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400 700;src:url(../fonts/space-grotesk-v22-400-700-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--accent:#f2f2ef;--bg:#070707;--text-primary:#f2f2ef}html{scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased}body{background:#070707;color:#f2f2ef;font-family:Space Grotesk,sans-serif;font-size:15px;line-height:1.7}::-moz-selection{background:#fff;color:#000}::selection{background:#fff;color:#000}a{color:inherit;text-decoration:none}button,input,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid currentColor;outline-offset:5px}:where(a,button,summary):focus-visible{outline:none;text-shadow:0 0 12px hsla(0,0%,100%,.376)}h1,h2,h3,h4{font-weight:500;letter-spacing:-.055em;line-height:1.05}.footer,main{position:relative;z-index:1}.container{margin-inline:auto;width:min(1376px,100% - clamp(160px,16vw,320px))}section{padding-block:clamp(80px,10vw,160px)}.label,.mono,.section-num{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.section-label-wrap{align-items:center;display:flex;gap:15px;margin-bottom:40px}.label{color:#b4b4b4}.section-num{color:#919191}.section-title{font-size:clamp(42px,7vw,110px)}.btn{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.22);display:inline-flex;font-size:13px;gap:28px;justify-content:center;min-height:52px;padding:15px 24px;position:relative;transition:color .25s,text-shadow .25s}.btn-primary{background:#eee;border-color:#eee;color:#080808;--hover-ink:#080808;--hover-glow:0 0 10px #00000040}.cv-option,.line-control{position:relative}.btn:after,.cv-option:after,.line-control:after{background:currentColor;bottom:6px;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}.btn:after,.cv-option:after{bottom:9px;left:16px;right:16px}.btn:not(:disabled):is(:hover,:focus-visible),.cv-option:is(:hover,:focus-visible),.line-control:is(:hover,:focus-visible){color:var(--hover-ink,#fff);text-shadow:var(--hover-glow,0 0 14px hsla(0,0%,100%,.439))}.btn:not(:disabled):is(:hover,:focus-visible):after,.cv-option:is(:hover,:focus-visible):after,.line-control:is(:hover,:focus-visible):after{transform:scaleX(1)}.arrow-link,.text-link{align-items:center;display:inline-flex;position:relative;transition:color .25s,text-shadow .25s}.text-link{background:none;border:0;border-bottom:1px solid hsla(0,0%,100%,.22);font-size:13px;gap:25px;padding:12px 0}.arrow-link{gap:.6em;padding-block:4px}.arrow-link:after,.text-link:after{background:currentColor;content:"";height:1px;inset:auto 0 -1px;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}.arrow-link:is(:hover,:focus-visible),.text-link:is(:hover,:focus-visible){color:var(--hover-ink,#fff);text-shadow:var(--hover-glow,0 0 14px hsla(0,0%,100%,.439))}.arrow-link:is(:hover,:focus-visible):after,.text-link:is(:hover,:focus-visible):after{transform:scaleX(1)}.link-arrow,.text-link>span:last-child{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}.arrow-link:is(:hover,:focus-visible) .link-arrow,.text-link:is(:hover,:focus-visible)>span:last-child{transform:translate(4px,-4px)}.arrow-link:is(:hover,:focus-visible) .link-arrow--up{transform:translateY(-4px)}.btn:not(:disabled):is(:hover,:focus-visible) .link-arrow,.line-control:not(:disabled):is(:hover,:focus-visible) .link-arrow{transform:translate(4px)}.line-control:not(:disabled):is(:hover,:focus-visible) .link-arrow--left{transform:translate(-4px)}.arrow{font-size:22px}.skill-pill{border:1px solid hsla(0,0%,100%,.22);color:#b4b4b4;font-family:IBM Plex Mono,monospace;font-size:10px;padding:6px 11px}.form-input{background:transparent;border:0;border-bottom:1px solid hsla(0,0%,100%,.22);border-radius:0;font-size:14px;padding:13px 0;width:100%}.form-input::-moz-placeholder{color:#919191}.form-input::placeholder{color:#919191}.form-input:is(:focus,:focus-visible){outline:none}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{background:#fff;color:#000;left:10px;padding:12px;position:fixed;top:10px;transform:translateY(-200%);z-index:1000}.skip-link:focus{transform:none}dialog{color:#f2f2ef}dialog:not(.full-menu){border-radius:20px}dialog::backdrop{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#000c}html:has(dialog[open]){overflow:hidden}.sheet-handle{display:none}@media(max-width:800px){dialog[open]:is(.project-dialog,.cv-dialog,.contact-feedback-dialog){background:#111;border-color:#fff3;border-radius:24px 24px 0 0;border-width:1px 0 0;inset:auto 0 0;margin:0;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)));max-width:none;overflow:hidden;position:fixed;width:100%}dialog:not(.full-menu)::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.sheet-handle{align-items:center;background:none;border:0;cursor:grab;display:flex;flex-shrink:0;height:44px;justify-content:center;touch-action:none;width:100%}.sheet-handle:before{background:#777;border-radius:2px;content:"";height:3px;width:36px}.sheet-handle:focus-visible:before{background:#eee}.sheet-handle:active{cursor:grabbing}}@media(max-width:800px)and (prefers-reduced-motion:no-preference){dialog[open]:is(.project-dialog,.cv-dialog,.contact-feedback-dialog){animation:sheet-enter .42s cubic-bezier(.16,1,.3,1) backwards}}@keyframes sheet-enter{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}.motion-ready .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.motion-ready .reveal:not(.reveal-initial){animation:content-arrive linear both;animation-range:entry 0 cover 32%;animation-timeline:view(block);transition:none}.motion-ready .reveal--left:not(.reveal-initial){animation-name:content-arrive-left}.motion-ready .reveal--right:not(.reveal-initial){animation-name:content-arrive-right}}@media(prefers-reduced-motion:no-preference)and (min-width:801px){.motion-ready .reveal-lane-1:not(.reveal-initial){animation-range-end:cover 38%}.motion-ready .reveal-lane-2:not(.reveal-initial){animation-range-end:cover 44%}}@media(prefers-reduced-motion:no-preference){.motion-ready .reveal:focus-within{animation:none;opacity:1;transform:none}}}@keyframes content-arrive{0%{opacity:0;transform:translate3d(0,56px,0)}to{opacity:1;transform:none}}@keyframes content-arrive-left{0%{opacity:0;transform:translate3d(-36px,36px,0)}to{opacity:1;transform:none}}@keyframes content-arrive-right{0%{opacity:0;transform:translate3d(36px,36px,0)}to{opacity:1;transform:none}}@media(max-width:800px){.footer,main{z-index:auto}.container{margin-inline:auto;position:relative;width:calc(100% - 40px);z-index:2}section{padding-block:72px}.section-label-wrap{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-delay:0s!important;transition-duration:.01ms!important}.motion-ready .reveal{opacity:1;transform:none}}.error-screen[data-v-3d289f06]{background:#070707;color:#f2f2ef;display:flex;flex-direction:column;min-height:100svh}.error-footer[data-v-3d289f06],.error-header[data-v-3d289f06]{align-items:center;display:flex;justify-content:space-between;margin-inline:auto;width:min(1376px,calc(100% - 96px))}.error-header[data-v-3d289f06]{border-bottom:1px solid #ffffff18;padding-block:28px}.error-logo[data-v-3d289f06]{align-items:center;display:flex;font-size:20px;font-weight:600;gap:24px;letter-spacing:-.07em}.error-logo span[data-v-3d289f06]{font-size:25px;font-weight:400}.error-header-label[data-v-3d289f06]{color:#999;font-size:9px}.error-main[data-v-3d289f06]{align-items:center;display:grid;flex:1;gap:40px;grid-template-columns:1fr 1.3fr;margin-inline:auto;padding-block:48px 64px;width:min(1280px,calc(100% - 128px))}.error-copy[data-v-3d289f06]{min-width:0}.error-kind[data-v-3d289f06]{color:#999;font-size:9px}.error-code[data-v-3d289f06]{font-size:clamp(140px,17vw,240px);font-weight:500;letter-spacing:-.1em;line-height:1;margin-block:12px 24px}.error-code>span[data-v-3d289f06]{color:transparent;-webkit-text-stroke:1px #eee}.error-title[data-v-3d289f06]{font-size:clamp(28px,3vw,44px);letter-spacing:-.055em;line-height:1.12;max-width:460px}.error-description[data-v-3d289f06]{color:#aaa;font-size:14px;line-height:1.8;margin-top:24px;max-width:360px}.error-actions[data-v-3d289f06]{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:28px}.error-actions a[data-v-3d289f06]{font-size:12px;min-height:44px}.error-art[data-v-3d289f06]{min-width:0;position:relative}.error-art img[data-v-3d289f06]{display:block;height:auto;width:100%}.error-route[data-v-3d289f06]{height:100%;inset:0;opacity:.3;pointer-events:none;position:absolute;stroke:#ddd;stroke-width:1;width:100%}.error-route path[data-v-3d289f06]{stroke-dasharray:1}.error-route circle[data-v-3d289f06]{fill:#070707}.error-art figcaption[data-v-3d289f06]{color:#777;display:flex;gap:12px;justify-content:space-between;margin-top:8px;padding-top:16px}.error-art figcaption[data-v-3d289f06],.error-footer[data-v-3d289f06]{border-top:1px solid #ffffff18;font-size:8px}.error-footer[data-v-3d289f06]{color:#888;padding-block:22px}.error-footer a[data-v-3d289f06]{align-items:center;min-height:44px}@media(prefers-reduced-motion:no-preference){.error-art img[data-v-3d289f06]{animation:error-art-arrive-3d289f06 .7s cubic-bezier(.16,1,.3,1) both}.error-route path[data-v-3d289f06]{animation:error-route-draw-3d289f06 .65s ease-out .1s both}}@keyframes error-art-arrive-3d289f06{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}@keyframes error-route-draw-3d289f06{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@media(max-width:800px){.error-footer[data-v-3d289f06],.error-header[data-v-3d289f06]{width:calc(100% - 40px)}.error-header[data-v-3d289f06]{padding-block:18px}.error-header-label[data-v-3d289f06]{font-size:8px}.error-main[data-v-3d289f06]{gap:32px;grid-template-columns:1fr;padding-block:30px 40px;width:calc(100% - 40px)}.error-code[data-v-3d289f06]{font-size:clamp(112px,27vw,190px);margin-block:8px 18px}.error-title[data-v-3d289f06]{font-size:clamp(28px,7vw,42px);max-width:400px}.error-description[data-v-3d289f06]{margin-top:18px}.error-art[data-v-3d289f06]{margin-inline:auto;max-width:580px;width:100%}.error-art figcaption[data-v-3d289f06]{margin-top:0}}
