.technologies-module__dXOspa__trigger{color:#fafafa;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;place-items:center;min-width:44px;min-height:44px;display:grid;position:relative}.technologies-module__dXOspa__trigger:focus-visible{outline-offset:6px;outline:2px solid #a1a1aa}.technologies-module__dXOspa__logo,.technologies-module__dXOspa__glow{pointer-events:none;grid-area:1/1;display:block}.technologies-module__dXOspa__logo{filter:grayscale();position:relative}.technologies-module__dXOspa__glow{filter:grayscale()blur(10px)}.technologies-module__dXOspa__tooltip{z-index:50;color:#18181b;transform-origin:var(--radix-tooltip-content-transform-origin);background:#f4f4f5f2;border:1px solid #ffffff80;border-radius:999px;padding:7px 13px;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 3px 12px #0000001a}.technologies-module__dXOspa__label{white-space:nowrap;font-size:12px;font-weight:400;line-height:16px;display:block}
.skills-module__pvZtjq__section{padding-block:96px}.skills-module__pvZtjq__scene{grid-template-columns:240px minmax(0,1fr);align-items:center;column-gap:48px;min-height:448px;margin-top:56px;display:grid}.skills-module__pvZtjq__tile{aspect-ratio:1;background:radial-gradient(ellipse at 20% 80%, var(--skill-color), #212121 85%);pointer-events:none;border-radius:24px;width:240px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff12}.skills-module__pvZtjq__tile canvas{width:100%;height:100%;display:block}.skills-module__pvZtjq__icon{color:#fff;place-items:center;display:grid;position:absolute;inset:0}.skills-module__pvZtjq__icon svg{filter:drop-shadow(0 2px 12px #00000030);width:48px;height:48px}.skills-module__pvZtjq__list{min-width:0}.skills-module__pvZtjq__list li+li{margin-top:4px}.skills-module__pvZtjq__skill{padding-block:4px;color:#e4e4e7;letter-spacing:-.035em;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:44px;padding-right:24px;font-size:clamp(32px,4.2vw,56px);font-weight:400;line-height:1.15;transition:color .2s;display:block}.skills-module__pvZtjq__skill span{display:block}.skills-module__pvZtjq__scene[data-active=true] li:not([data-selected=true]) .skills-module__pvZtjq__skill{color:#72727d}.skills-module__pvZtjq__list li[data-selected=true] .skills-module__pvZtjq__skill{color:#fafafa}.skills-module__pvZtjq__skill:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #b2bfd9}@media (min-width:768px){.skills-module__pvZtjq__section{padding-block:128px}}@media (max-width:1023px){.skills-module__pvZtjq__scene{grid-template-columns:180px minmax(0,1fr);column-gap:32px;min-height:380px}.skills-module__pvZtjq__tile{width:180px}.skills-module__pvZtjq__icon svg{width:40px;height:40px}}@media (max-width:639px){.skills-module__pvZtjq__scene{grid-template-columns:88px minmax(0,1fr);column-gap:20px;min-height:360px;margin-top:40px}.skills-module__pvZtjq__tile{border-radius:16px;width:88px}.skills-module__pvZtjq__icon svg{width:32px;height:32px}.skills-module__pvZtjq__skill{letter-spacing:-.025em;padding-block:7px;font-size:clamp(18px,4.8vw,30px)}}@media (prefers-reduced-motion:reduce){.skills-module__pvZtjq__skill{transition:none}}@media (forced-colors:active){.skills-module__pvZtjq__tile{display:none}.skills-module__pvZtjq__scene{grid-template-columns:1fr}.skills-module__pvZtjq__scene .skills-module__pvZtjq__skill{color:buttontext}.skills-module__pvZtjq__list li[data-selected=true] .skills-module__pvZtjq__skill{color:highlight}}
.process-module__JD5JsG__process{--motion-ease:cubic-bezier(.22, 1, .36, 1);padding-block:96px;position:relative}.process-module__JD5JsG__heading{margin-bottom:56px}.process-module__JD5JsG__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.process-module__JD5JsG__step{min-width:0}.process-module__JD5JsG__stepTop{color:#83868f;font-variant-numeric:tabular-nums;align-items:center;gap:16px;font-size:12px;display:flex}.process-module__JD5JsG__rule{background:#ffffff12;flex:1;height:1px}.process-module__JD5JsG__scene{contain:layout paint;width:100%;margin-block:10px 22px;position:relative}.process-module__JD5JsG__wireframe{stroke:#9ca8bc;stroke-width:.75px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:auto;display:block}.process-module__JD5JsG__secondary{stroke:#677389}.process-module__JD5JsG__confirmation{fill:#09090b;stroke:#b5bfd0}.process-module__JD5JsG__threads{stroke:#aeb9cc;stroke-width:.55px;pointer-events:none;display:none}.process-module__JD5JsG__contour{stroke-width:.9px}@media (prefers-reduced-motion:no-preference){.process-module__JD5JsG__scene[data-started=false] :is(.process-module__JD5JsG__piece,.process-module__JD5JsG__form){opacity:0}.process-module__JD5JsG__threads{opacity:0;display:block}.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__threads{animation:2.4s ease-in-out both process-module__JD5JsG__threads-fade}.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__thread{animation:process-module__JD5JsG__thread-resolve 2.2s var(--motion-ease) var(--thread-delay) both}.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__form{animation:process-module__JD5JsG__form-reveal 3s var(--motion-ease) var(--form-delay) both}.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__contour{stroke-dasharray:1;animation:process-module__JD5JsG__trace 2.8s var(--motion-ease) var(--form-delay) both}.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__piece{animation:process-module__JD5JsG__assemble 2.5s var(--motion-ease) var(--delay,0s) both}.process-module__JD5JsG__piece>:is(rect,path,circle){stroke-dasharray:1}.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__piece>:is(rect,path,circle){animation:process-module__JD5JsG__trace 3s var(--motion-ease) var(--delay,0s) both}@supports (d:path("M0 0")){.process-module__JD5JsG__scene[data-started=true] .process-module__JD5JsG__contour{animation:process-module__JD5JsG__contour-resolve 3s cubic-bezier(.65, 0, .2, 1) var(--form-delay) both, process-module__JD5JsG__trace 2.8s var(--motion-ease) var(--form-delay) both}}.process-module__JD5JsG__scene[data-visible=false] :is(.process-module__JD5JsG__piece,.process-module__JD5JsG__piece>*,.process-module__JD5JsG__form,.process-module__JD5JsG__contour,.process-module__JD5JsG__threads,.process-module__JD5JsG__thread){animation-play-state:paused}.process-module__JD5JsG__scene[data-visible=true] :is(.process-module__JD5JsG__piece,.process-module__JD5JsG__piece>*,.process-module__JD5JsG__form,.process-module__JD5JsG__contour,.process-module__JD5JsG__threads,.process-module__JD5JsG__thread){animation-play-state:running}.process-module__JD5JsG__process[data-page-visible=false] .process-module__JD5JsG__scene :is(.process-module__JD5JsG__piece,.process-module__JD5JsG__piece>*,.process-module__JD5JsG__form,.process-module__JD5JsG__contour,.process-module__JD5JsG__threads,.process-module__JD5JsG__thread){animation-play-state:paused}}@keyframes process-module__JD5JsG__form-reveal{0%{opacity:0}22%,to{opacity:1}}@keyframes process-module__JD5JsG__contour-resolve{0%,12%{d:var(--from-shape)}to{d:var(--to-shape)}}@keyframes process-module__JD5JsG__threads-fade{0%,to{opacity:0}24%,38%{opacity:.52}}@keyframes process-module__JD5JsG__thread-resolve{0%{transform:translate(var(--thread-offset), 12px)}to{transform:translateY(-5px)}}@keyframes process-module__JD5JsG__assemble{0%{opacity:0;transform:translate(var(--from-x), var(--from-y))}to{opacity:1;transform:translate(0)}}@keyframes process-module__JD5JsG__trace{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (min-width:768px){.process-module__JD5JsG__process{padding-block:128px}}@media (max-width:767px){.process-module__JD5JsG__heading{margin-bottom:40px}.process-module__JD5JsG__steps{grid-template-columns:1fr;gap:44px}.process-module__JD5JsG__scene{margin-inline:auto;max-width:380px;margin-bottom:16px}}
.projects-module__HCQgMG__viewSwitch{isolation:isolate;background:#111113;border:1px solid #ffffff10;border-radius:12px;flex-shrink:0;padding:3px;display:flex;position:relative}.projects-module__HCQgMG__viewSwitch:before{content:"";pointer-events:none;background:#27272a;border-radius:8px;width:44px;position:absolute;inset:3px auto 3px 3px;transform:translate(0);box-shadow:inset 0 1px #ffffff08}.projects-module__HCQgMG__viewSwitch[data-view=list]:before{transform:translate(44px)}.projects-module__HCQgMG__viewSwitch button{color:#a1a1aa;cursor:pointer;border-radius:8px;place-items:center;width:44px;height:40px;display:grid;position:relative}.projects-module__HCQgMG__viewSwitch button[aria-pressed=true],.projects-module__HCQgMG__viewSwitch button:hover{color:#f4f4f5}.projects-module__HCQgMG__viewSwitch button:focus-visible,.projects-module__HCQgMG__card:focus-visible,.projects-module__HCQgMG__row:focus-visible,.projects-module__HCQgMG__close:focus-visible,.projects-module__HCQgMG__visit:focus-visible{outline-offset:5px;outline:2px solid #d4d4d8}@media (prefers-reduced-motion:no-preference){.projects-module__HCQgMG__viewSwitch:before{transition:transform .32s cubic-bezier(.22,1,.36,1)}.projects-module__HCQgMG__viewSwitch button{transition:color .16s ease-out}.projects-module__HCQgMG__viewSwitch button>svg{transition:transform .16s cubic-bezier(.22,1,.36,1)}.projects-module__HCQgMG__viewSwitch button:active>svg{transform:scale(.9)}.projects-module__HCQgMG__gridIcon rect{transform-box:fill-box;transform-origin:50%}.projects-module__HCQgMG__viewSwitch button[aria-pressed=true] .projects-module__HCQgMG__gridIcon rect{animation:projects-module__HCQgMG__tile-settle .28s cubic-bezier(.22, 1, .36, 1) var(--tile-delay,0s) both}.projects-module__HCQgMG__gridIcon rect:nth-child(2){--tile-delay:25ms}.projects-module__HCQgMG__gridIcon rect:nth-child(3){--tile-delay:50ms}.projects-module__HCQgMG__gridIcon rect:nth-child(4){--tile-delay:75ms}.projects-module__HCQgMG__listIcon path{transform-box:fill-box;transform-origin:0}.projects-module__HCQgMG__viewSwitch button[aria-pressed=true] .projects-module__HCQgMG__listIcon path{animation:.3s cubic-bezier(.22,1,.36,1) both projects-module__HCQgMG__line-settle}}@keyframes projects-module__HCQgMG__tile-settle{0%{opacity:.55;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes projects-module__HCQgMG__line-settle{0%{opacity:.55;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}.projects-module__HCQgMG__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px;display:grid}.projects-module__HCQgMG__card{text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:1fr auto;min-width:0;display:grid;position:relative}.projects-module__HCQgMG__preview{aspect-ratio:1.46;background:linear-gradient(155deg,#202023,#111113 75%);border:1px solid #ffffff0d;border-radius:16px;grid-column:1/-1;padding:30px 26px 0;display:block;position:relative;overflow:hidden}.projects-module__HCQgMG__screenshotFrame{background:#17171a;border:1px solid #ffffff1a;border-radius:8px;width:100%;height:115%;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden;transform:translateY(6px);box-shadow:0 18px 36px #0000003d}.projects-module__HCQgMG__logoPreview{justify-content:center;align-items:center;height:100%;padding-bottom:30px;display:flex}.projects-module__HCQgMG__caption{flex-direction:column;gap:4px;min-width:0;padding:18px 0 0;display:flex}.projects-module__HCQgMG__title{color:#f4f4f5;letter-spacing:-.02em;font-size:19px;line-height:1.4}.projects-module__HCQgMG__role{color:#a1a1aa;font-size:14px;line-height:1.5}.projects-module__HCQgMG__arrow{color:#a1a1aa;align-self:start;place-items:center;width:32px;height:32px;margin-top:19px;transition:transform .24s cubic-bezier(.22,1,.36,1),color .18s;display:grid}.projects-module__HCQgMG__list{flex-direction:column;display:flex}.projects-module__HCQgMG__row{text-align:left;cursor:pointer;border-bottom:1px solid #ffffff0d;border-radius:6px;align-items:center;gap:20px;width:100%;padding:20px 12px;display:flex}.projects-module__HCQgMG__row .projects-module__HCQgMG__caption{flex:1;padding:0}.projects-module__HCQgMG__row .projects-module__HCQgMG__title{font-size:16px}.projects-module__HCQgMG__row .projects-module__HCQgMG__arrow{align-self:center;margin:0}.projects-module__HCQgMG__rowMark{background:#18181b;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.projects-module__HCQgMG__rowMark img{max-width:80%;max-height:30px}.projects-module__HCQgMG__rowMark span{font-size:10px}.projects-module__HCQgMG__dialogLayer{color:#f4f4f5;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.projects-module__HCQgMG__dialogLayer::backdrop{background:0 0}html:has(.projects-module__HCQgMG__dialogLayer){scrollbar-gutter:stable}body:has(.projects-module__HCQgMG__dialogLayer[open]){overflow:hidden}.projects-module__HCQgMG__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05050766;position:fixed;inset:0}.projects-module__HCQgMG__dialogPositioner{pointer-events:none;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.projects-module__HCQgMG__dialog{isolation:isolate;color:#f4f4f5;-webkit-backdrop-filter:blur(28px)saturate(1.5);backdrop-filter:blur(28px)saturate(1.5);pointer-events:auto;background:#15182080;border:1px solid #ffffff18;border-radius:20px;width:min(800px,100%);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff26,inset 0 0 20px #ffffff05,0 8px 32px #0003,0 32px 100px #0006}.projects-module__HCQgMG__dialog:before{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#fff5,#ffffff08 38% 65%,#ffffff24);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.projects-module__HCQgMG__dialog:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff73,#0000);height:1px;position:absolute;inset:0 15% auto}.projects-module__HCQgMG__dialogScroll{overscroll-behavior:contain;max-height:calc(100dvh - 48px);overflow-y:auto}.projects-module__HCQgMG__dialogPreview{background:#18181b66;border-bottom:1px solid #ffffff0d;overflow:hidden}.projects-module__HCQgMG__dialogLogo{background:#ffffff04;justify-content:center;align-items:center;min-height:240px;display:flex}.projects-module__HCQgMG__close{z-index:3;color:#f4f4f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#151820b3;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:12px;right:12px;box-shadow:inset 0 1px #ffffff20,0 2px 8px #00000026}.projects-module__HCQgMG__close:hover{background:#303034e6}.projects-module__HCQgMG__visit{color:#e4e4e7;align-items:center;gap:8px;min-height:44px;margin-top:20px;font-size:14px;display:inline-flex}.projects-module__HCQgMG__visit:hover{color:#fafafa}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.projects-module__HCQgMG__dialog{background:#151820f5}}@media (hover:hover){.projects-module__HCQgMG__card:hover .projects-module__HCQgMG__screenshotFrame{transform:translateY(-3px)scale(1.015)}.projects-module__HCQgMG__card:hover .projects-module__HCQgMG__arrow,.projects-module__HCQgMG__row:hover .projects-module__HCQgMG__arrow{color:#f4f4f5;transform:translate(2px,-2px)}.projects-module__HCQgMG__row:hover{background:#ffffff03}}@media (max-width:639px){.projects-module__HCQgMG__grid{grid-template-columns:minmax(0,1fr);gap:32px}.projects-module__HCQgMG__preview{aspect-ratio:1.4;padding:22px 20px 0}.projects-module__HCQgMG__caption{padding-top:14px}.projects-module__HCQgMG__arrow{margin-top:14px}.projects-module__HCQgMG__row{gap:14px;padding-inline:0}.projects-module__HCQgMG__row .projects-module__HCQgMG__role{font-size:13px}}@media (prefers-reduced-motion:reduce){.projects-module__HCQgMG__screenshotFrame,.projects-module__HCQgMG__arrow{transition:none}.projects-module__HCQgMG__card:hover .projects-module__HCQgMG__screenshotFrame{transform:translateY(6px)}.projects-module__HCQgMG__card:hover .projects-module__HCQgMG__arrow,.projects-module__HCQgMG__row:hover .projects-module__HCQgMG__arrow{transform:none}}
