.cs-root{color:#e8e8e8;background:#050505;flex-direction:column;min-height:100vh;display:flex;position:relative}.cs-canvas{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.cs-header{z-index:20;background:linear-gradient(#050505d9,#05050500);justify-content:space-between;align-items:center;padding:18px 5vw;display:flex;position:fixed;inset:0 0 auto}.cs-mark{color:#fff;letter-spacing:.12em;padding:4px 2px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;text-decoration:none}.cs-mark span{color:#797979}.cs-lang{color:#bdbdbd;letter-spacing:.14em;cursor:pointer;background:0 0;border:1px solid #2c2c2c;border-radius:999px;padding:7px 16px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;transition:color .25s,border-color .25s}.cs-lang:hover{color:#fff;border-color:#5a5a5a}.cs-main{z-index:1;flex:1;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));align-items:center;gap:32px;padding:110px 6vw 60px;display:grid;position:relative}.cs-text{flex-direction:column;gap:18px;max-width:620px;display:flex}.cs-name{color:#fff;letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(46px,7vw,92px);font-weight:600;line-height:1.02}.cs-role{color:#9a9a9a;margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;line-height:1.6}.cs-status{color:#cfcfcf;letter-spacing:.16em;text-transform:uppercase;border:1px solid #2a2a2a;border-radius:999px;align-self:flex-start;align-items:center;gap:12px;margin:6px 0 0;padding:10px 20px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:inline-flex}.cs-dot{background:#e8e8e8;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite cs-pulse}@keyframes cs-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.cs-note{color:#bdbdbd;text-wrap:pretty;max-width:44ch;margin:0;font-size:18px;line-height:1.65}.cs-stage{justify-content:center;align-items:center;display:flex}.cs-phone{aspect-ratio:.558;width:auto;height:min(60vh,121.856vw,609px)}.cs-kb-anchor{pointer-events:none;width:560px;height:313px;position:fixed;top:200vh;left:0}.cs-footer{z-index:1;color:#797979;border-top:1px solid #161616;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:28px 6vw;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:flex;position:relative}@media (width<=768px){.cs-main{padding:100px 6vw 60px}.cs-name,.cs-role,.cs-note,.cs-status{text-shadow:0 0 12px #050505,0 0 26px #050505,0 0 40px #050505}}.fr-consent{z-index:30;color:#dcdcdc;background:#0a0a0a;border:1px solid #2c2c2c;width:min(390px,100vw - 40px);padding:20px;position:fixed;bottom:20px;right:20px}.fr-consent__kicker{color:#797979;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.fr-consent h2{color:#fff;letter-spacing:-.01em;margin:0;font-size:20px}.fr-consent>p:not(.fr-consent__kicker){color:#a8a8a8;margin:10px 0 0;font-size:14px;line-height:1.55}.fr-consent__actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.fr-consent button,.fr-consent__privacy{letter-spacing:.08em;cursor:pointer;min-height:36px;padding:8px 12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.fr-consent__accept{color:#050505;background:#e8e8e8;border:1px solid #e8e8e8}.fr-consent__reject,.fr-consent__privacy{color:#bdbdbd;background:0 0;border:1px solid #3a3a3a}.fr-consent__privacy{align-items:center;display:inline-flex}.fr-consent button:hover,.fr-consent__privacy:hover{color:#fff;border-color:#797979}.fr-consent__accept:hover{color:#050505;background:#fff;border-color:#fff}@media (width<=560px){.fr-consent{width:calc(100vw - 24px);bottom:12px;right:12px}}.privacy-page{color:#e8e8e8;background:#050505;min-height:100vh}.privacy-page__main{max-width:720px;margin:0 auto;padding:132px 6vw 96px}.privacy-page__main:focus{outline:none}.privacy-page h1{color:#fff;letter-spacing:-.02em;text-wrap:balance;max-width:12ch;margin:16px 0 0;font-size:clamp(38px,5vw,60px);font-weight:600;line-height:1.05}.privacy-page__lead{color:#c8c8c8;text-wrap:pretty;max-width:56ch;margin:24px 0 0;font-size:19px;line-height:1.6}.privacy-page section{border-top:1px solid #1f1f1f;margin-top:46px;padding-top:28px}.privacy-page h2{color:#fff;margin:0;font-size:20px;font-weight:500}.privacy-page section p{color:#bdbdbd;max-width:64ch;margin:12px 0 0;font-size:16px;line-height:1.7}.privacy-page button{color:#dcdcdc;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #3a3a3a;margin-top:18px;padding:9px 12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.privacy-page button:hover{color:#fff;border-color:#797979}.privacy-page__back{color:#bdbdbd;letter-spacing:.06em;margin-top:62px;padding:6px 2px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:inline-block}@media (width<=768px){.privacy-page__main{padding:116px 6vw 72px}}.cs-page{color:#e8e8e8;background:#050505;min-height:100vh;position:relative}.cs-page__main{max-width:720px;margin:0 auto;padding:132px 6vw 96px}.cs-page__main:focus{outline:none}.cs-page__back{letter-spacing:.06em;margin:0 0 56px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cs-page__back a{color:#9a9a9a;padding:6px 2px;transition:color .25s}.cs-page__back a:hover{color:#fff}.cs-page__num{color:#797979;letter-spacing:.14em;margin:0 0 14px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cs-page__title{color:#fff;letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.06}.cs-page__meta{color:#8a8a8a;text-wrap:pretty;border-bottom:1px solid #1f1f1f;max-width:60ch;margin:20px 0 0;padding-bottom:44px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.75}.cs-page__block{margin:44px 0 0}.cs-page__label{color:#8a8a8a;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400}.cs-page__block p{color:#bdbdbd;text-wrap:pretty;max-width:68ch;margin:0 0 18px;font-size:17px;line-height:1.75}.cs-page__block p:last-child{margin-bottom:0}.cs-page__why{text-wrap:balance;font-weight:500;color:#dcdcdc!important;max-width:46ch!important;font-size:clamp(18px,2vw,21px)!important;line-height:1.55!important}.cs-page__stack{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;color:#8a8a8a!important;font-size:13px!important;line-height:1.9!important}.cs-page__nav{border-top:1px solid #1f1f1f;justify-content:space-between;gap:24px;margin:72px 0 0;padding-top:36px;display:flex}.cs-page__step{flex-direction:column;gap:8px;max-width:46%;padding:6px 2px;display:flex}.cs-page__step--next{text-align:right;align-items:flex-end}.cs-page__step-label{color:#797979;letter-spacing:.14em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cs-page__step-title{color:#bdbdbd;text-wrap:balance;font-size:16px;line-height:1.35;transition:color .25s}.cs-page__step:hover .cs-page__step-title{color:#fff}.cs-page__cta{margin:64px 0 0}.cs-page__cta a{color:#fff;border-bottom:1px solid #3a3a3a;padding:6px 2px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(16px,2.2vw,22px);transition:border-color .25s;display:inline-block}.cs-page__cta a:hover{border-color:#fff}@media (width<=768px){.cs-page__main{padding:116px 6vw 72px}.cs-page__nav{flex-direction:column;gap:32px}.cs-page__step{max-width:100%}.cs-page__step--next{text-align:left;align-items:flex-start}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;font-family:Space Grotesk,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:#050505;margin:0;padding:0}body{color:#e8e8e8;min-width:320px;overflow-x:hidden}a{color:#e8e8e8;text-decoration:none}a:hover{color:#fff}::selection{color:#000;background:#fff}:focus-visible{outline-offset:3px;outline:2px solid #7a7a7a}@keyframes fr-bounce{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(9px)}}.fr{color:#e8e8e8;background:#050505;min-height:100vh;position:relative}.fr-canvas{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.fr-header{z-index:20;background:linear-gradient(#050505d9,#05050500);justify-content:space-between;align-items:center;padding:18px 5vw;display:flex;position:fixed;inset:0 0 auto}.fr-mark{color:#fff;letter-spacing:.12em;padding:4px 2px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.fr-mark span{color:#797979}.fr-lang{color:#bdbdbd;letter-spacing:.14em;cursor:pointer;background:0 0;border:1px solid #2c2c2c;border-radius:999px;padding:7px 16px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;transition:color .25s,border-color .25s}.fr-lang:hover{color:#fff;border-color:#5a5a5a}.fr-hero,.fr-skills,.fr-ai,.fr-projects,.fr-about,.fr-contact{z-index:1;position:relative}.fr-hero{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));align-items:center;gap:32px;min-height:100vh;padding:110px 6vw 90px;display:grid}.fr-hero__text{flex-direction:column;gap:18px;max-width:620px;display:flex}.fr-kicker{color:#8a8a8a;letter-spacing:.22em;text-transform:uppercase;margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.fr-hero h1{color:#fff;letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(46px,7vw,92px);font-weight:600;line-height:1.02}.fr-hero__role{color:#9a9a9a;margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;line-height:1.6}.fr-hero__lead{color:#bdbdbd;text-wrap:pretty;max-width:46ch;margin:6px 0 0;font-size:18px;line-height:1.65}.fr-hero__stage,.fr-skills__stage{justify-content:center;align-items:center;display:flex}.fr-hero__phone{aspect-ratio:.85;width:auto;height:min(76vh,121.856vw,609px)}.fr-skills__keyboard{aspect-ratio:1.79;width:100%;max-width:660px}.fr-scroll-hint{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.fr-scroll-hint span:first-child{color:#7a7a7a;letter-spacing:.3em;text-transform:uppercase;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.fr-scroll-hint__arrow{color:#9a9a9a;font-size:16px;animation:1.8s ease-in-out infinite fr-bounce}.fr-skills{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));align-items:center;gap:48px;min-height:100vh;padding:12vh 6vw;display:grid}.fr-skills__text{flex-direction:column;gap:26px;max-width:560px;display:flex}.fr-skills h2,.fr-projects h2,.fr-about h2{color:#fff;letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(32px,4vw,54px);font-weight:600;line-height:1.08}.fr-skill-group{flex-direction:column;gap:12px;display:flex}.fr-skill-group__label{color:#8a8a8a;letter-spacing:.18em;text-transform:uppercase;margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fr-skill-group ul{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.fr-skill-group li{color:#cfcfcf;background:#ffffff05;border:1px solid #2a2a2a;border-radius:999px;padding:8px 16px;font-size:14px;transition:color .25s,border-color .25s}.fr-skill-group li:hover{color:#fff;border-color:#5a5a5a}.fr-ai{padding:14vh 6vw}.fr-ai__text{max-width:72ch}.fr-ai__marks{aspect-ratio:2.206;width:min(320px,92%);margin:0 0 40px}.fr-ai .fr-kicker{margin-bottom:16px}.fr-ai h2{color:#fff;letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(32px,4vw,54px);font-weight:600;line-height:1.08}.fr-ai__lead{color:#dcdcdc;text-wrap:balance;max-width:40ch;margin:24px 0 0;font-size:clamp(19px,2vw,24px);font-weight:500;line-height:1.45}.fr-ai__body,.fr-ai__closing{color:#a8a8a8;text-wrap:pretty;max-width:68ch;margin:22px 0 0;font-size:16px;line-height:1.75}.fr-ai__pillars{counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px;margin:52px 0 0;padding:0;list-style:none;display:grid}.fr-pillar{background:#0a0a0a;border:1px solid #1f1f1f;border-top-color:#2e2e2e;flex-direction:column;gap:12px;padding:28px 26px;transition:border-color .3s,transform .3s;display:flex}.fr-pillar:hover{border-color:#4a4a4a;transform:translateY(-4px)}.fr-pillar__num{color:#797979;letter-spacing:.14em;margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fr-pillar h3{color:#fff;text-wrap:balance;margin:0;font-size:17px;font-weight:600;line-height:1.3}.fr-pillar__text{color:#a0a0a0;text-wrap:pretty;margin:0;font-size:14px;line-height:1.65}.fr-ai__closing{border-left:1px solid #2a2a2a;margin-top:44px;padding-left:20px}@media (width>=900px){.fr-ai{grid-template-columns:minmax(0,1fr) clamp(240px,24vw,360px);grid-template-areas:"text marks""pillars pillars""closing closing";column-gap:56px;display:grid}.fr-ai__text{grid-area:text;max-width:none}.fr-ai__marks{grid-area:marks;width:100%;margin:6px 0 0}.fr-ai__pillars{grid-area:pillars}.fr-ai__closing{grid-area:closing}.fr-ai h2{max-width:20ch}}.fr-projects{padding:14vh 6vw}.fr-projects .fr-kicker,.fr-projects h2{margin-bottom:16px}.fr-projects__note{color:#8a8a8a;text-wrap:pretty;max-width:60ch;margin:0 0 48px;font-size:14px;line-height:1.6}.fr-projects__grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;display:grid}.fr-project{background:#0a0a0a;border:1px solid #1f1f1f;flex-direction:column;gap:14px;padding:30px 28px;transition:border-color .3s,transform .3s;display:flex}.fr-project:hover{border-color:#4a4a4a;transform:translateY(-4px)}.fr-project:focus-visible{outline-offset:3px;outline:2px solid #7a7a7a}.fr-project__num{color:#797979;letter-spacing:.14em;margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fr-project h3{color:#fff;text-wrap:balance;margin:0;font-size:22px;font-weight:600}.fr-project__desc{color:#a8a8a8;text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.fr-project__tags{color:#8a8a8a;margin:auto 0 0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fr-about{padding:12vh 6vw}.fr-about__text{max-width:640px}.fr-about .fr-kicker{margin-bottom:16px}.fr-about h2{margin-bottom:28px}.fr-about p:not(.fr-kicker){color:#bdbdbd;text-wrap:pretty;max-width:64ch;margin:0 0 18px;font-size:17px;line-height:1.75}.fr-about p:last-child{margin-bottom:0}.fr-contact{text-align:center;flex-direction:column;align-items:center;gap:26px;padding:16vh 6vw 10vh;display:flex}.fr-contact h2{color:#fff;letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(32px,4.5vw,60px);font-weight:600;line-height:1.08}.fr-contact__note{color:#bdbdbd;text-wrap:pretty;max-width:48ch;margin:-6px 0 0;font-size:17px;line-height:1.65}.fr-contact__email{color:#fff;border-bottom:1px solid #3a3a3a;padding-bottom:6px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(17px,2.6vw,28px);transition:border-color .25s}.fr-contact__email:hover{border-color:#fff}.fr-contact__links{letter-spacing:.1em;gap:28px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:flex}.fr-contact__links a{color:#9a9a9a;padding:6px 2px}.fr-contact__links a:hover{color:#fff}.fr-footer{z-index:1;color:#797979;border-top:1px solid #161616;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:28px 6vw;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:flex;position:relative}.fr--no-field .fr-hero__stage,.fr--no-field .fr-skills__stage,.fr--no-field .fr-ai__marks{display:none}.fr--no-field .fr-hero,.fr--no-field .fr-skills{min-height:0}@media (width>=900px){.fr--no-field .fr-ai{grid-template-columns:minmax(0,1fr);grid-template-areas:"text""pillars""closing"}}@media (width<=768px){.fr-header{background:linear-gradient(#050505f7 0%,#050505ed 72%,#05050500 100%)}.fr-hero{padding:180px 6vw 96px}.fr-hero__text{width:100%}.fr-hero__phone{max-width:100%;height:min(52vh,121.856vw)}.fr-skills{gap:36px;padding:10vh 6vw}.fr-ai{padding:10vh 6vw}.fr-ai__pillars{margin-top:40px}.fr-ai__closing{margin-top:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
