*,:before,:after{box-sizing:border-box}*{margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}html,body{max-width:100%;min-height:100dvh;position:relative;overflow-x:clip}body{-webkit-font-smoothing:antialiased;grid-template-rows:auto 1fr auto;line-height:1.5;display:grid}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul,ul[role=list],ol[role=list],ol{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}:target{scroll-margin-block:5ex}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{--clr-primary-50:#e7ebfc;--clr-primary-100:#c4ccf8;--clr-primary-200:#889af1;--clr-primary-300:#5871ec;--clr-primary-400:#3553e8;--clr-primary-500:#1134e4;--clr-secondary-50:#f0f2ff;--clr-secondary-100:#dadfff;--clr-secondary-200:#b5bfff;--clr-secondary-300:#97a5ff;--clr-secondary-400:#8192ff;--clr-secondary-500:#6b7fff;--clr-accent-50:#fef2e7;--clr-accent-100:#fcdec2;--clr-accent-200:#fabd85;--clr-accent-300:#f8a354;--clr-accent-400:#f68f2f;--clr-accent-500:#f57c0a;--clr-neutral-dark-50:#e7e7e7;--clr-neutral-dark-100:#c4c4c4;--clr-neutral-dark-200:#888;--clr-neutral-dark-300:#595959;--clr-neutral-dark-400:#353535;--clr-neutral-dark-500:#121212;--clr-neutral-light-50:#171717;--clr-neutral-light-100:#3a3a3a;--clr-neutral-light-200:#747474;--clr-neutral-light-300:#a2a2a2;--clr-neutral-light-400:#c5c5c5;--clr-neutral-light-500:#e8e8e8}@font-face{font-family:CabinetGrotesk;font-weight:300,900;src:url(/fonts/CabinetGrotesk/CabinetGrotesk-Variable.woff2)format("woff2");font-style:normal;font-display:swap}@font-face{font-family:Switzer;font-weight:300,900;src:url(/fonts/Switzer/Switzer-Variable.woff2)format("woff2");font-style:normal;font-display:swap}@font-face{font-family:SwitzerItalic;font-weight:300,900;src:url(/fonts/Switzer/Switzer-VariableItalic.woff2)format("woff2");font-style:italic;font-display:swap}@font-face{font-family:Damion;font-weight:400;src:url(/fonts/Damion/Damion-Regular.ttf)format("ttf");font-style:normal;font-display:swap}@font-face{font-family:JetBrains_Mono;font-weight:300,600;src:url(/fonts/JetBrains_Mono/JetBrains_Mono-VariableFont_wght.ttf)format("ttf");font-style:normal;font-display:swap}@font-face{font-family:JetBrains_Mono-Italic;font-weight:300,600;src:url(/fonts/JetBrains_Mono/JetBrains_Mono-Italic-VariableFont_wght.ttf)format("ttf");font-style:italic;font-display:swap}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--ff-heading:CabinetGrotesk,sans-serif;--ff-body:Switzer,sans-serif;--ff-logo:Damion,script;--ff-mono:JetBrains_Mono,monospace;--font-heading-line-height:1.35;--font-body-line-height:1.5;--font-clr-heading-primary:var(--clr-neutral-light-500);--font-clr-heading-secondary:var(--clr-neutral-dark-500);--font-clr-body-primary:var(--clr-neutral-light-400);--font-clr-body-primary-300:var(--clr-neutral-light-300);--font-clr-body-secondary:var(--clr-neutral-dark-400);--font-clr-dark:var(--clr-neutral-dark-500);--font-clr-body-light:color-mix(in srgb,var(--clr-neutral-light-400),white 50%);--clr-primary-global:var(--clr-primary-200);--clr-text-muted:color-mix(in srgb,var(--clr-neutral-dark-400),white 35%);--clr-text-muted-dark:color-mix(in srgb,var(--clr-neutral-dark-400),white 25%);--clr-text-muted-light:color-mix(in srgb,var(--clr-neutral-dark-400),white 45%);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1290px;--clr-bg:var(--clr-neutral-dark-500);--clr-tag-bg:var(--clr-neutral-dark-500);--clr-tag-bg-dark:var(--clr-neutral-dark-500);--clr-tag-text-light:var(--clr-neutral-light-500);--card-bg:color-mix(in srgb,var(--clr-neutral-dark-500),white 1.5%);--card-bg-dark:color-mix(in srgb,var(--clr-neutral-dark-500),black 15%);--clr-icon:var(--clr-neutral-light-500);--clr-icon-card:var(--clr-neutral-light-500);--clr-icon-card-hover:var(--clr-neutral-dark-500);--nav-menu-bg:color-mix(in srgb,var(--clr-neutral-dark-500),white 1%);--nav-bg-scroll:color-mix(in srgb,var(--nav-menu-bg),transparent 5%);--clr-theme-toggle-hover:color-mix(in srgb,var(--clr-secondary-500),black 65%);--nav-border:var(--clr-neutral-dark-400);--nav-link:var(--clr-neutral-light-500);--nav-link-hover:var(--clr-primary-200);--nav-link-active:var(--clr-primary-200);--footer-link:var(--clr-neutral-light-400);--footer-link-hover:var(--clr-primary-200);--clr-accent:var(--clr-accent-500);--clr-filter-action:var(--clr-primary-200);--clr-filter-text:var(--clr-neutral-dark-500);--clr-filter-soft:color-mix(in srgb,var(--clr-filter-action),transparent 95%);--clr-slash:color-mix(in srgb,var(--clr-neutral-light-400),black 20%);--clr-image-bg-placeholder:var(--clr-neutral-dark-400);--clr-border:var(--clr-neutral-dark-300);--clr-border-primary:color-mix(in srgb,var(--clr-neutral-light-300),black 70%);--clr-border-subtle:#ffffff1a;--clr-slug-details-bg:color-mix(in srgb,var(--clr-primary-500),black 15%);--clr-code-filename-bg:color-mix(in srgb,var(--clr-neutral-dark-500),black 15%);--clr-bento-card-one:var(--clr-neutral-dark-500);--clr-bento-card-two:color-mix(in srgb,var(--clr-secondary-500),transparent 99%);--clr-bento-card-three:color-mix(in srgb,var(--clr-accent-500),transparent 99%);--clr-bento-card-four:color-mix(in srgb,var(--clr-neutral-light-500),transparent 99%);--clr-btn-text:var(--clr-neutral-dark-500);--clr-btn-hover:var(--clr-neutral-dark-500);--clr-form-error:#f54d4d;--clr-form-success:#0f8;--surface-subtle:#ffffff0d;--box-shadow-inset:inset 3px 3px 7px #202020,inset -3px -3px 7px #161616;--shadow-color:220deg 20% 2%;--shadow-strength:.8;--shadow-elevation-low:0px .1px .1px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.45)),0px .2px .2px -1.2px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.45)),0px .5px .6px -2.5px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.45));--shadow-elevation-medium:0px .1px .1px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.35)),0px .4px .5px -.8px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.35)),0px 1.1px 1.2px -1.7px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.35)),0px 2.7px 3px -2.5px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.35));--shadow-elevation-high:0px .1px .1px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.2)),0px .9px 1px -.4px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.18)),0px 1.8px 2px -.8px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.16)),0px 3.1px 3.5px -1.2px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.14)),0px 5.3px 6px -1.7px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.12)),.1px 8.6px 9.7px -2.1px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.1)),.1px 13.6px 15.3px -2.5px hsl(var(--shadow-color)/calc(var(--shadow-strength)*.08));--ts-ease-1:.1s ease;--ts-ease-2:.2s ease;--ts-ease-in-2:.2s ease-in;--ts-linear-2:.2s linear;--ts-ease-3:.3s ease;--ts-ease-out-3:.3s ease-out;--ts-ease-in-3:.3s ease-in;--ts-linear-3:.3s linear;--ts-ease-4:.4s ease;--ts-ease-in-out-4:.4s ease-in-out;--ts-ease-5:.5s ease;--ts-ease-in-out-5:.5s ease-in-out;--ts-spring-3:.3s cubic-bezier(.175,.885,.32,1.275);--ts-snappy-3:.3s cubic-bezier(.2,1,.3,1);--ts-snappy-4:.4s cubic-bezier(.2,1,.3,1);--ts-snappy-5:.5s cubic-bezier(.2,1,.3,1);--ts-emphasize-4:.4s cubic-bezier(.5,0,0,1);--ts-soft-4:.4s cubic-bezier(.4,0,.2,1);--ts-instant:0s linear;--ts-enter-3:.3s ease-out;--ts-exit-2:.2s ease-in;--border-radius-xs:.25rem;--border-radius-sm:.5rem;--border-radius-md:1rem;--border-radius-lg:2rem}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-clr-heading-primary:var(--clr-neutral-dark-500);--font-clr-heading-secondary:var(--clr-neutral-dark-500);--font-clr-body-primary:var(--clr-neutral-dark-400);--font-clr-body-primary-300:var(--clr-neutral-dark-300);--font-clr-body-secondary:var(--clr-neutral-light-400);--font-clr-body-light:var(--clr-neutral-light-500);--clr-bg:var(--clr-neutral-light-500);--clr-tag-bg:var(--clr-neutral-light-500);--nav-menu-bg:color-mix(in srgb,var(--clr-neutral-light-400),white 45%);--nav-bg-scroll:color-mix(in srgb,var(--nav-menu-bg),transparent 10%);--clr-theme-toggle-hover:color-mix(in srgb,var(--clr-secondary-500),white 65%);--nav-link:var(--clr-neutral-dark-500);--nav-link-hover:var(--clr-primary-400);--nav-link-active:var(--clr-primary-500);--footer-link:var(--clr-neutral-dark-500);--footer-link-hover:var(--clr-primary-400);--clr-icon:var(--clr-neutral-dark-500);--clr-icon-card:var(--clr-neutral-dark-500);--clr-icon-card-hover:var(--clr-neutral-light-500);--clr-filter-action:var(--clr-primary-500);--clr-filter-text:var(--clr-neutral-light-500);--clr-text-muted:color-mix(in srgb,var(--clr-neutral-light-400),black 35%);--clr-slash:color-mix(in srgb,var(--clr-neutral-dark-400),white 25%);--clr-image-bg-placeholder:var(--clr-neutral-light-400);--clr-code-filename-bg:color-mix(in srgb,var(--clr-neutral-light-500),black 15%);--clr-border-primary:color-mix(in srgb,var(--clr-neutral-dark-300),white 55%);--clr-border-subtle:#0000001a;--card-bg:color-mix(in srgb,var(--clr-neutral-light-500),black 3.5%);--clr-primary-global:var(--clr-primary-500);--clr-bento-card-one:color-mix(in srgb,var(--clr-primary-500),transparent 96%);--clr-bento-card-two:color-mix(in srgb,var(--clr-secondary-500),transparent 96%);--clr-bento-card-three:color-mix(in srgb,var(--clr-accent-500),transparent 96%);--clr-bento-card-four:var(--clr-neutral-light-50);--clr-btn-text:var(--clr-neutral-light-500);--clr-btn-hover:var(--clr-neutral-light-500);--clr-form-error:#a01c1c;--clr-form-success:#06c16a;--clr-text-muted-dark:color-mix(in srgb,var(--clr-neutral-dark-400),white 15%);--clr-text-muted-link:color-mix(in srgb,var(--clr-neutral-dark-400),white 15%);--clr-text-muted-light:color-mix(in srgb,var(--clr-neutral-light-400),white 40%);--clr-text-muted-lighter:color-mix(in srgb,var(--clr-neutral-light-400),white 60%);--surface-subtle:#7a7a7a0d;--shadow-color:0deg 0% 0%;--shadow-strength:.2;--box-shadow-inset:inset 3px 3px 7px #eee,inset -3px -3px 7px #cecece}@supports (font-size:clamp(1rem, 1vi, 1rem)){:root{--type-xs:clamp(.64rem,-.01vi + .64rem,.63rem);--type-sm:clamp(.9rem,.08vi + .8rem,.95rem);--type-base:clamp(1rem,.22vi + .94rem,1.13rem);--type-md:clamp(1.25rem,.45vi + 1.14rem,1.5rem);--type-lg:clamp(1.56rem,.78vi + 1.37rem,2rem);--type-xl:clamp(1.95rem,1.28vi + 1.63rem,2.66rem);--type-xxl:clamp(2.44rem,2vi + 1.94rem,3.55rem);--type-xxxl:clamp(3.05rem,3.03vi + 2.3rem,4.73rem)}}@supports not (font-size:clamp(1rem, 1vi, 1rem)){:root{--type-xs:.64rem;--type-sm:.9rem;--type-base:1rem;--type-md:1.25rem;--type-lg:1.56rem;--type-xl:1.95rem;--type-xxl:2.44rem;--type-xxxl:3.05rem}@media screen and (min-width:1290px){:root{--type-xs:.63rem;--type-sm:.95rem;--type-base:1.13rem;--type-md:1.5rem;--type-lg:2rem;--type-xl:2.66rem;--type-xxl:3.55rem;--type-xxxl:4.73rem}}}h1{font-size:var(--type-xxl);line-height:var(--font-heading-line-height);font-family:var(--ff-heading),Arial,Helvetica,sans-serif;color:var(--font-clr-heading-primary)}h2{font-size:var(--type-xl);line-height:var(--font-heading-line-height);font-family:var(--ff-heading),Arial,Helvetica,sans-serif;color:var(--font-clr-heading-primary)}h3{font-size:var(--type-lg);line-height:var(--font-heading-line-height);font-family:var(--ff-heading),Arial,Helvetica,sans-serif;color:var(--font-clr-heading-primary)}h4{font-size:var(--type-md);line-height:var(--font-heading-line-height);font-family:var(--ff-heading),Arial,Helvetica,sans-serif;color:var(--font-clr-heading-primary)}h5{font-size:var(--type-base);line-height:var(--font-heading-line-height);font-family:var(--ff-heading),Arial,Helvetica,sans-serif;color:var(--font-clr-heading-primary)}h6{font-size:var(--type-sm);line-height:var(--font-heading-line-height);font-family:var(--ff-heading),Arial,Helvetica,sans-serif;color:var(--font-clr-heading-primary)}body{font-family:var(--ff-body),Helvetica,sans-serif;font-weight:300;font-size:var(--type-base);color:var(--font-clr-body-primary)}p{line-height:var(--font-body-line-height)}.hero__title{font-size:var(--type-xxxl)}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background-color:var(--clr-bg)}.page-heading{color:var(--font-clr-heading-primary);align-items:center;gap:.5rem;display:flex}.page-heading__slash{color:var(--clr-text-muted);font-weight:500}.global-bg{background-color:var(--clr-bg)}.grid-wrapper{grid-template-columns:1fr;align-items:start;gap:4rem;display:grid}@media (min-width:768px){.grid-wrapper{grid-template-columns:1.2fr 1fr}}.projects-grid-container{--gap:1.2rem;gap:var(--gap);grid-template-columns:1fr;margin:32px 0;display:grid}@media (min-width:768px){.projects-grid-container{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects-grid-container{grid-template-columns:repeat(3,1fr)}}.card{background-color:var(--card-bg);border-radius:var(--border-radius-md);transition:transform var(--ts-snappy-3),box-shadow var(--ts-snappy-3),background-color var(--ts-ease-2);cursor:pointer;flex-direction:column;width:100%;max-width:none;margin-inline:auto;padding:.75rem;display:flex;position:relative}.card:hover .card__arrow{transform:rotate(0)}.card:hover .card__arrow-circle{background-color:var(--clr-primary-global);color:var(--clr-icon-card-hover)}.card:hover .card__view-text{opacity:1;transform:translate(0)}.card:after{filter:blur(1px)}.card__image-wrapper{z-index:1;aspect-ratio:3/2;border-radius:var(--border-radius-sm);background-color:var(--clr-image-bg-placeholder);flex-grow:0;position:relative;overflow:hidden}.card__image{object-fit:cover;object-position:center;border-radius:var(--border-radius-sm)}.card__inner{flex-direction:column;height:100%;display:flex;position:static}.card__inner>.card__image-wrapper{order:1}.card__inner>.card__header{order:2}.card__inner>.card__meta-row{order:3}.card__header{z-index:2;margin-top:12px}.card__header--title{font-size:var(--type-md);line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;height:auto;min-height:1em;display:block}.card__header--tag-list>:not(:last-child){margin-right:8px}.card__content--tag-list{flex-wrap:wrap;flex:1;gap:6px;height:26px;margin-right:1rem;display:flex;overflow:hidden}.card__meta-row{flex-direction:row;justify-content:space-between;align-items:flex-end;width:100%;margin-top:auto;display:flex}.card__footer{z-index:5;pointer-events:auto;flex-shrink:0;align-self:flex-end;margin-top:auto;margin-left:auto;position:static;bottom:1.5rem;right:1.5rem}.card__view-more{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.75rem;text-decoration:none;display:flex}.card__view-more:after{content:"";z-index:10;cursor:pointer;position:absolute;inset:0}.card__view-text{font-family:var(--ff-mono);text-transform:uppercase;color:var(--font-clr-heading-primary);opacity:0;transition:all var(--ts-spring-3);white-space:nowrap;font-size:.75rem;font-weight:600;transform:translate(10px)}.card__arrow-circle{background-color:color-mix(in srgb,var(--clr-neutral-light-500),transparent 90%);border:1px solid var(--clr-border-primary);width:40px;height:40px;color:var(--clr-icon-card);transition:all var(--ts-spring-3);border-radius:50%;justify-content:center;align-items:center;display:flex}.card__arrow-circle:hover{color:var(--clr-icon-card-hover)}.card__arrow{transition:transform var(--ts-spring-3);transform:rotate(-45deg)}@property --gradient-angle{syntax:"<angle>";inherits:false;initial-value:-45deg}@keyframes rotation{0%{--gradient-angle:0deg}to{--gradient-angle:350deg}}.card:before,.card:after{--grad1:var(--clr-neutral-dark-500);--grad2:var(--clr-neutral-light-500);content:"";z-index:-1;border-radius:.5rem;border-radius:var(--border-radius-md);background:linear-gradient(var(--gradient-angle),var(--grad2)0%,var(--grad1)27%,var(--grad1)72%,var(--grad2)100%);opacity:.1;transition:opacity var(--ts-ease-3),box-shadow var(--ts-snappy-4);position:absolute;inset:-.1rem}.card:hover:before,.card:hover:after{opacity:1;box-shadow:var(--shadow-elevation-low);animation:6s linear infinite rotation}.process__step-card,.contact-card{background:var(--card-bg);border:1px solid var(--clr-border-primary);border-radius:var(--border-radius-md);padding:2rem;position:relative;overflow:hidden}.process__step-card:before,.contact-card:before{content:"";opacity:.03;pointer-events:none;filter:contrast(150%)brightness();position:absolute;inset:0}.page-link{font-size:var(--type-sm);align-items:center;gap:8px;display:inline-flex}.page-link:hover svg{transition:transform var(--ts-spring-3);transform:translate(4px)}.page-link,.content-link{color:var(--font-clr-body-primary);transition:color var(--ts-ease-2);font-weight:400;text-decoration:none}.page-link:hover,.content-link:hover{color:var(--nav-link-hover)}.content-link{text-underline-offset:4px;text-decoration:underline}.animate-up-right{gap:4px}.animate-up-right:hover .link-icon-svg{transform:translate(4px,-4px)}.meta-link:hover{color:var(--clr-accent)}.tag__wrapper{background-color:var(--clr-tag-bg);font-size:var(--type-sm);border-radius:var(--border-radius-xs);padding:2.5px 8px;display:inline-block}.tag__text{text-transform:capitalize;color:var(--clr-tag-text-light);margin:0;font-weight:500}.nav__wrapper{z-index:100;background:0 0;position:sticky;top:0}@media (min-width:768px){.nav__wrapper{margin-top:16px;width:calc(100% - 32px);margin-inline:16px;top:16px}}.nav__inner{max-width:var(--breakpoint-md);flex-direction:row;justify-content:space-between;align-items:center;margin:0 auto;padding:4px 16px;display:flex}@media (min-width:768px){.nav__inner{border-radius:400px;grid-template-columns:1fr auto 1fr;display:grid}}.nav__inner{transition:background-color var(--ts-ease-out-3),backdrop-filter var(--ts-ease-out-3),box-shadow var(--ts-ease-out-3)}.nav__inner.nav-scroll{background-color:var(--nav-bg-scroll);-webkit-backdrop-filter:blur(12px)saturate(180%);backdrop-filter:blur(12px)saturate(180%)}.nav__inner-menu{z-index:101;visibility:hidden;width:75%;min-height:100svh;transition:transform var(--ts-snappy-4),visibility var(--ts-snappy-4);background-color:var(--nav-menu-bg);flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.nav__inner-menu.hide{transform:translate(100%)}.nav__inner-menu.active{visibility:visible;transform:translate(0)}@media (min-width:768px){.nav__inner-menu{visibility:visible;background-color:#0000;flex-direction:row;flex:1;justify-content:center;align-items:center;width:auto;min-height:auto;padding:0;display:flex;position:static;transform:none!important}}.nav__inner-menu-list{flex-direction:column;justify-content:flex-start;align-items:center;gap:20px;list-style:none;display:flex}@media (min-width:768px){.nav__inner-menu-list{flex-direction:row;justify-content:center;align-items:center;gap:32px;display:flex}}.nav__list-item{text-align:center;margin:32px 0}@media (min-width:768px){.nav__list-item{margin:0 6px}}.nav__link{font-size:var(--type-md);color:var(--nav-link);transition:var(--ts-ease-2);font-weight:400;text-decoration:none}@media (min-width:768px){.nav__link{font-size:16px}}.nav__link:hover{color:var(--nav-link-hover);filter:drop-shadow(0 0 15px var(--nav-link-hover))}.nav__link.active{color:var(--nav-link-active);filter:drop-shadow(0 0 10px var(--nav-link-hover))}.nav__logo-wrapper{z-index:101;width:60px;position:relative}.nav__logo{font-family:var(--ff-logo);color:var(--font-clr-heading-primary);font-size:var(--type-lg);padding:2px 10px 2px 0;line-height:1.5;text-decoration:none}.nav__action-section{z-index:104;flex-direction:row;justify-content:flex-end;align-items:center;gap:6px;display:flex}.nav__menu-toggle{color:var(--clr-icon);padding:2.5px 5px}@media (min-width:768px){.nav__menu-toggle{display:none}}.theme-toggle__icon svg{shape-rendering:geometricPrecision}.theme-toggle__icon,.nav__menu-toggle{color:var(--clr-icon);z-index:105;-webkit-font-smoothing:antialiased;backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform,opacity}.theme-toggle__btn{isolation:isolate;--size:44px;-webkit-appearance:none;text-align:inherit;box-shadow:none;cursor:pointer;color:inherit;font:inherit;width:var(--size);height:var(--size);cursor:pointer;background:0 0;background-color:inherit;transition:var(--ts-ease-2);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;overflow:hidden;transform:translateZ(0)}.theme-toggle__btn:hover{color:var(--nav-link-hover);filter:drop-shadow(0 0 15px var(--nav-link-hover))}.theme-toggle__icon{color:var(--theme-toggle);width:24px;height:24px;transition:transform var(--ts-snappy-5),opacity var(--ts-ease-3);opacity:0;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-100%,20%)rotate(-120deg)scale(.5)translateZ(0)}[data-theme=light] .theme-toggle__icon--light{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}[data-theme=light] .theme-toggle__icon--dark{opacity:0;transform:translate(50%,20%)rotate(120deg)scale(.5)}[data-theme=dark] .theme-toggle__icon--dark{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}[data-theme=dark] .theme-toggle__icon--light{opacity:0;transform:translate(-100%,20%)rotate(-120deg)scale(.5)}@media (prefers-reduced-motion:reduce){.theme-toggle__icon{transition:none}}.footer__wrapper{width:100%;margin-top:80px;padding:40px 0}.footer__section{max-width:var(--breakpoint-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:32px;margin:0 auto;padding:0 16px;display:flex}.footer__section-top{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.footer__section-top--text,.footer__section-top--text-source{font-size:var(--type-sm);transition:color var(--ts-ease-2);line-height:1.8}.footer__section-top--text-source .footer__link{flex-direction:row;justify-content:center;align-items:center;gap:6px;display:flex}.footer__section-bottom--socials{flex-direction:row;justify-content:center;align-items:center;gap:20px;display:flex}.footer__link{color:var(--font-clr-body-primary);text-underline-offset:4px;transition:color var(--ts-ease-2);font-weight:500;text-decoration:underline}.footer__link:hover{color:var(--footer-link-hover);filter:drop-shadow(0 0 15px var(--footer-link-hover))}.socials-link{text-transform:uppercase;font-size:var(--type-sm);transition:transform var(--ts-spring-3),color var(--ts-ease-2);color:var(--font-clr-body-primary);text-underline-offset:4px;transition:color var(--ts-ease-2);font-weight:500;text-decoration:underline}.socials-link:hover{color:var(--footer-link-hover);filter:drop-shadow(0 0 15px var(--footer-link-hover))}.footer__section-bottom .footer__link,.contact__social-links .footer__link{text-transform:uppercase;font-size:var(--type-sm);transition:transform var(--ts-spring-3),color var(--ts-ease-2)}.footer__section-bottom .footer__link:hover,.contact__social-links .footer__link:hover{transform:translateY(-3px)}.hero__wrapper{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:90svh;display:flex;position:relative}@media (min-width:768px){.hero__wrapper{height:80svh}}.hero__wrapper h1{font-weight:800}.hero__paragraphs{margin:16px auto 0;font-weight:400}.hero__paragraphs>:last-child{margin-top:6px}.hero__title .hero__title-decoration{color:var(--clr-primary-global)}.hero__scroll-indicator{width:1.8px;height:100px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero__scroll-indicator .scroll-line{background-color:var(--clr-border-primary);width:1.8px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 20% 100%,#0000);mask-image:linear-gradient(#0000,#000 20% 100%,#0000)}.hero__scroll-indicator .scroll-line__active{background:var(--clr-primary-global);width:100%;height:30%;box-shadow:0 0 8px var(--clr-primary-global);position:absolute;left:0}.about-me-home{padding-bottom:6rem}.about-me-home__header{margin-bottom:3rem}.about-me-home__main-grid{margin-bottom:6rem!important}.about-me-home__intro-section{flex-direction:column;justify-content:flex-start;align-items:center;height:100%;display:flex}.archive__filters-wrapper{flex-flow:wrap;justify-content:center;align-items:center;margin-top:.75rem;display:flex}@media (min-width:768px){.archive__filters-wrapper{gap:1.5rem;margin-top:1rem}}.archive__filter-list{flex-flow:wrap;justify-content:center;align-items:center;row-gap:1rem;width:fit-content;padding:4px 8px;display:flex}@media (min-width:768px){.archive__filter-list{gap:16px}}.archive__filter-label{color:var(--clr-text-muted-dark);text-transform:lowercase;-webkit-user-select:none;user-select:none;font-size:var(--type-sm);font-family:var(--ff-mono)}.archive__filter-label .slash{color:var(--clr-slash)}.archive__filter-btn{-webkit-appearance:none;text-align:inherit;box-shadow:none;cursor:pointer;color:inherit;font:inherit;cursor:pointer;border-radius:0;border-radius:var(--border-radius-sm);transition:color var(--ts-snappy-3),background-color var(--ts-snappy-3),border-color var(--ts-snappy-3),transform var(--ts-snappy-3);background:0 0;border:1px solid #0000;padding:4px 10px}.archive__filter-btn:hover{color:var(--clr-filter-action);background-color:var(--clr-filter-soft);border-color:var(--clr-filter-action);transform:translateY(-1px)}.archive__filter-btn--active{color:var(--clr-filter-text);background-color:var(--clr-filter-action);border-color:var(--clr-filter-link-action)}.slug__header{margin-bottom:2rem}.slug__header .breadcrumb-nav{margin-bottom:.5rem}.slug__header .breadcrumb-link{font-family:var(--font-mono);text-transform:lowercase;color:var(--clr-text-muted-link);transition:color var(--ts-snappy-3);align-items:center;gap:4px;font-size:.85rem;text-decoration:none;display:inline-flex}.slug__header .breadcrumb-link:hover{color:var(--nav-link-hover)}.slug__details-wrapper{border-top:1px solid var(--clr-border-primary);border-bottom:1px solid var(--clr-border-primary);grid-template-columns:1fr;gap:2rem 3rem;margin:3rem 0;padding:3rem 0;display:grid}@media (min-width:768px){.slug__details-wrapper{grid-template-columns:1.4fr 1fr}}.slug__details-summary,.slug__details-meta{border-radius:var(--border-radius-sm);padding:1rem}.slug__image-wrapper{border-radius:var(--border-radius-md);width:100%;max-width:1200px;box-shadow:var(--shadow-elevation-medium);margin:0 auto;overflow:hidden}.slug__image-figure{aspect-ratio:16/10;background-color:var(--clr-image-bg-placeholder);width:100%;margin:0;position:relative}.slug__image{object-fit:cover;object-position:center}.slug__details-meta{background-color:var(--clr-slug-details-bg);flex-direction:column;gap:1.5rem;display:flex}.slug__details-meta .meta-value,.slug__details-meta .meta-link{color:var(--font-clr-body-light);font-weight:400;font-size:var(--type-base)}.slug__details-meta .meta-link:hover{color:var(--clr-accent)}.slug__details-meta-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.slug__details-meta-grid{grid-template-columns:repeat(2,1fr)}}.slug__details-meta-item .meta-label{text-transform:uppercase;color:var(--clr-text-muted-lighter);letter-spacing:.1em;margin:0;padding-bottom:.35rem;font-size:.85rem}.slug__details-tech-stack .tech-stack-list{flex-wrap:wrap;justify-content:flex-start;gap:.45rem;display:flex}.slug__details-tech-stack .tech-stack-item{color:var(--clr-tag-text-light);transition:background-color var(--ts-ease-2),color var(--ts-ease-2);background-color:var(--clr-tag-bg-dark)}.slug__details-tech-stack .tech-stack-item .tag__text{transition:color var(--ts-ease-2)}.slug__details-tech-stack .tech-stack-item:hover{color:var(--font-clr-dark);background-color:var(--clr-accent)}.slug__details-summary{align-items:center;display:grid}.slug__details-summary--label{font-size:var(--type-lg)}.slug__body-content{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;flex-direction:column;width:100%;min-width:0;padding-bottom:4rem;display:flex}.slug__body-content .slug__render-image-wrapper{justify-content:center;width:100%;margin-bottom:2rem;display:flex}.slug__body-content .slug__render-image-wrapper.full-size .slug__render-figure{width:100%}.slug__body-content .slug__render-image-wrapper.small-size .slug__render-figure{width:100%;max-width:600px;margin:0 auto}.slug__body-content .slug__render-image-wrapper.small-size .slug__render-image-container{border:1px solid var(--clr-border-primary);box-shadow:none;background-color:#0000}.slug__body-content .slug__render-image-container{border-radius:var(--border-radius-md);width:100%;position:relative;overflow:hidden}.slug__body-content .slug__render-image .slug__render-image{object-fit:cover;width:100%;height:100%}.slug__body-content .slug__render-caption{font-family:var(--ff-body);color:var(--clr-text-muted);text-align:center;font-size:.9rem;line-height:var(--font-body-line-height);margin-top:.45rem;padding:0 1rem}.slug__body-content .text-center{text-align:center!important}.slug__body-content .text-center.slug__render-blockquote{border-left:none;border-top:4px solid var(--clr-primary-400);padding:1.5rem}.slug__body-content .slug__render-h2 strong,.slug__body-content .slug__render-h3 strong{font-weight:inherit;color:inherit}.slug__body-content .slug__render-h2.text-center,.slug__body-content .slug__render-h3.text-center{text-align:center}.slug__body-content .slug__render-paragraph,.slug__body-content .slug__render-h2,.slug__body-content .slug__render-h3,.slug__body-content .slug__render-blockquote,.slug__body-content .slug__render-list-ul,.slug__body-content .slug__render-list-ol{width:100%;max-width:var(--breakpoint-md);overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;text-align:left;margin-left:auto;margin-right:auto}.slug__body-content .slug__render-h2:not(:first-child){margin-top:4rem}.slug__body-content .slug__render-h2{margin-bottom:1.5rem}.slug__body-content .slug__render-h3{margin-top:2.5rem;margin-bottom:1rem}.slug__body-content .slug__render-paragraph{margin-bottom:1rem}.slug__body-content .slug__render-link{color:var(--nav-link);text-underline-offset:4px;transition:color var(--ts-ease-2);font-weight:500;text-decoration:underline}.slug__body-content .slug__render-link:hover{color:var(--nav-link-hover);filter:drop-shadow(0 0 15px var(--nav-link-hover))}.slug__body-content .slug__render-list-ul,.slug__body-content .slug__render-list-ol{margin-bottom:2rem;padding-left:1.5rem;list-style-type:circle}.slug__body-content .slug__render-list-ul li,.slug__body-content .slug__render-list-ol li{margin-bottom:.75rem}.slug__body-content .slug__render-list-ul li::marker{color:var(--clr-primary-400)}.slug__body-content .slug__render-list-ol li::marker{color:var(--clr-primary-400)}.slug__body-content .slug__render-blockquote{border-left:4px solid var(--clr-primary-400);background-color:var(--card-bg);border-radius:0 var(--border-radius-sm)var(--border-radius-sm)0;padding:1rem 2rem;font-style:italic}.slug__body-content .slug__code-wrapper{background-color:var(--card-bg-dark);border-radius:var(--border-radius-sm);width:100%;max-width:100%;margin:1rem auto 2rem;overflow:hidden}@media (min-width:768px){.slug__body-content .slug__code-wrapper{max-width:850px}}.slug__body-content .slug__code-filename{background-color:var(--card-bg-dark);border-bottom:1px solid var(--clr-border-primary);font-family:var(--ff-mono);font-size:var(--type-sm);color:var(--clr-text-muted);padding:.75rem 1.25rem}.slug__body-content .slug__code-block{width:100%;min-width:0;display:grid}.slug__body-content .slug__code-block pre{white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;margin:0;padding:2rem;display:block;overflow-x:auto}.slug__body-content .slug__code-block code{color:var(--clr-neutral-light-400);min-width:100%;font-family:inherit;display:inline-block}.slug__body-content .slug__code-block pre::-webkit-scrollbar{height:8px}.slug__body-content .slug__code-block pre::-webkit-scrollbar-track{background:color-mix(in srgb,var(--clr-neutral-dark-400),black 50%)}.slug__body-content .slug__code-block pre::-webkit-scrollbar-thumb{background:var(--clr-neutral-dark-400);border-radius:var(--border-radius-sm)}.slug__body-content pre code .pl-k{color:#ff7b72}.slug__body-content pre code .pl-s{color:#a5d6ff}.slug__body-content pre code .pl-c{color:#8b949e}.slug__body-content pre code .pl-en{color:#d2a8ff}.slug__body-content pre code .pl-v{color:#ffa657}.slug__body-content pre code .pl-ent{color:#7ee787}.section-divider{height:6rem}@media (min-width:768px){.section-divider{height:8rem}}.process__steps-grid{grid-template-columns:1fr;display:grid}@media (min-width:768px){.process__steps-grid{grid-template-columns:repeat(3,1fr)}.process{gap:2rem}}.display-text,.col-heading{color:var(--clr-primary-global)}.col-heading{margin-bottom:1rem}.content-large-paragraph{font-size:var(--type-md);color:var(--font-clr-body-primary);font-weight:400}.about-me{padding-top:4rem}.about-me__main-grid{grid-template-columns:1fr;gap:4rem;margin-bottom:4rem;display:grid}@media (min-width:768px){.about-me__main-grid{grid-template-columns:1.2fr .8fr;align-items:start;margin-bottom:12rem}}.about-me__intro-section{flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex}.about-me__intro-section .intro-content{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1.5rem;display:flex}.about-me__intro-visual{flex-direction:row;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.about-me__intro-visual .illustration-frame{width:100%;max-width:320px;position:relative}.about-me__intro-visual .illustration-frame .illustration-figure{aspect-ratio:1;background:var(--card-bg);border:1px solid var(--clr-border-primary);border-radius:var(--border-radius-md);z-index:2;flex-direction:row;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.about-me__intro-visual .illustration-frame .illustration-figure img{object-fit:contain;width:95%;height:95%;margin-top:auto;margin-bottom:-10px}.about-me__intro-visual .illustration-frame .frame-decoration{background-color:var(--clr-secondary-400);border:1px solid var(--clr-primary-global);border-radius:var(--border-radius-md);z-index:1;opacity:.15;position:absolute;inset:-8px;transform:rotate(8deg)}.about-me__details-grid{grid-template-columns:1fr;gap:4rem;display:grid}@media (min-width:768px){.about-me__details-grid{grid-template-columns:1fr 1fr}}.about-me__image-wrapper{justify-content:center;margin-top:40px;display:flex;position:relative}.about-me__image-figure{border-radius:var(--border-radius-md);aspect-ratio:4/3;background:var(--card-bg);border:1px solid var(--clr-border-primary);width:100%;max-width:450px;box-shadow:var(--shadow-elevation-medium);transition:transform var(--ts-snappy-5),box-shadow var(--ts-snappy-5);position:relative;transform:rotate(2deg)}.about-me__image-figure:hover{transform:scale(1.2)}.about-me__image{object-fit:cover;object-position:center;border-radius:var(--border-radius-md);padding:.75rem;display:block}.toolbox__row{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2rem;margin-top:3rem;display:flex}.category__wrapper{border-bottom:1px solid var(--clr-border-subtle);grid-template-columns:1fr;gap:1rem;padding-bottom:1.5rem;display:grid}@media (min-width:768px){.category__wrapper{grid-template-columns:180px 1fr;align-items:baseline;gap:2rem}}.category__name{letter-spacing:.05em;font-weight:700;font-family:var(--ff-mono);color:var(--clr-primary-global);font-size:var(--type-sm);text-transform:uppercase}.category__list{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.category__item{font-size:var(--type-base);background:var(--surface-subtle);border:1px solid var(--clr-border-subtle);border-radius:var(--border-radius-sm);white-space:nowrap;padding:.5rem 1rem;transition:all .2s}.process__visuals-text{flex-direction:column;gap:1.5rem;display:flex}@media (min-width:768px){.process__visuals-text{gap:2rem}}.process__visuals-text .content-large-paragraph:not(:last-child){margin-bottom:2rem}.process__visuals{grid-template-columns:1fr;gap:1.5rem;margin-bottom:6rem;display:grid}@media (min-width:768px){.process__visuals{grid-template-columns:.9fr 1.1fr;gap:4rem;margin-bottom:10rem}}.process__comparison{width:100%;margin-inline:auto;position:relative}@media (max-width:768px){.process__comparison{flex-direction:column;gap:2rem;height:auto;display:flex}}@media (min-width:768px){.process__comparison{max-width:520px;height:480px;margin-left:auto;margin-right:0;display:block}}.process__comparison>div{width:100%}@media (min-width:768px){.process__comparison>div{height:100%;position:absolute;top:0;left:0}}.process .frame{background:var(--card-bg);border:1px solid var(--clr-border-primary);border-radius:var(--border-radius-md);width:100%;box-shadow:var(--shadow-elevation-medium);transition:transform var(--ts-snappy-5),box-shadow var(--ts-snappy-5),filter var(--ts-ease-3);padding:.75rem;position:relative}@media (min-width:768px){.process .frame{width:85%;position:absolute}.process .frame--wireframe{filter:grayscale();z-index:1;top:0;left:0;transform:rotate(-3deg)}.process .frame--hifi{z-index:2;position:absolute;bottom:0;right:0;transform:rotate(2deg)}}.process .frame:hover{box-shadow:var(--shadow-elevation-high);z-index:10;filter:grayscale(0);transform:translateY(-10px)scale(1.02)}.process .frame:hover .image-container:after{opacity:.15}.process .frame:hover .frame-action:after{transform:translate(4px)}@media (min-width:768px){.process .frame:hover{transform:translateY(-8px)scale(1.02)rotate(0)}}.process .frame__link{color:inherit;cursor:pointer;text-decoration:none;display:block}.process .frame .image-container{aspect-ratio:4/3;border-radius:var(--border-radius-sm);background:var(--clr-image-bg-placeholder);overflow:hidden}.process .frame .image-container img{object-fit:cover;width:100%;height:100%;transition:transform var(--ts-snappy-5);display:block}.process .frame .image-container:after{content:"";opacity:0;transition:opacity var(--ts-ease-3);mix-blend-mode:overlay;position:absolute;inset:0}.process .frame .frame-info{justify-content:space-between;align-items:center;margin-top:.8rem;padding:0 .2rem;display:flex}.process .frame .frame-info--frame-label{font-family:var(--ff-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--font-clr-body-primary-300);font-size:.75rem}.process .frame .frame-info--action{font-family:var(--ff-mono);color:var(--clr-primary-global);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.process .frame .frame-info--action:after{content:" →";transition:transform var(--ts-snappy-3);display:inline-block}.process__steps-grid{gap:2rem;margin-top:5rem;margin-bottom:4rem}@media (min-width:768px){.process__steps-grid{margin-bottom:8rem}}.process__step-card{height:100%;transition:background-color var(--ts-ease-3);background-color:#0000;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1.25rem;padding:3rem 2rem;display:flex}.process__step-card--top-wrapper{align-items:center;gap:.5rem;display:flex}.process__step-card--slash{font-family:var(--ff-mono);color:var(--clr-border-primary);transition:color var(--ts-ease-3)}.process__step-card--number{font-family:var(--ff-mono);color:var(--clr-primary-global);font-size:var(--type-sm);letter-spacing:.05em;font-weight:600}.process__step-card--title{font-size:var(--type-md);font-weight:500}.process__step-card p{color:var(--font-clr-body-primary-300)}.process__step-card:after{content:"";background-color:var(--font-clr-body-primary-300);opacity:.4;border-radius:50%;width:6px;height:6px;margin-top:auto}@keyframes shimmer{to{left:100%}}@keyframes pulseLiquid{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.8;transform:scaleY(1.05)}}@keyframes popIn{0%{opacity:0;transform:scale(0)rotate(-45deg)}to{opacity:1;transform:scale(1)rotate(0)}}.contact__grid{flex-wrap:wrap;grid-template-columns:repeat(12,1fr);gap:1.5rem;margin-top:.75rem;display:grid}@media (min-width:768px){.contact__grid{gap:1rem;margin-top:1rem}}.contact__info{grid-column:span 12;align-content:center}@media (min-width:768px){.contact__info{grid-column:span 6}}.contact__info--header h2{color:var(--clr-primary-global);margin:8px 0;font-weight:700}.contact__info--header{margin-bottom:32px}.contact__info .availability-wrapper{align-items:center;gap:12px;margin-bottom:2rem;display:flex}.contact__info .status-dot-container{flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;width:8px;height:8px;display:flex;position:relative}.contact__info .status-dot-core{background-color:color-mix(in srgb,var(--clr-primary-global),transparent 20%);z-index:2;width:100%;height:100%;box-shadow:0 0 10px 1px color-mix(in srgb,var(--clr-primary-global),transparent 40%);border-radius:50%;position:relative}.contact__info .status-dot-ping{background-color:var(--clr-primary-global);z-index:1;filter:blur(1px);border-radius:50%;width:100%;height:100%;position:absolute}.contact__info .availability-text{color:var(--clr-primary-global)}.contact__info .contact__social-links-label{color:var(--clr-text-muted-light)}.contact__info .availability-text,.contact__info .contact__social-links-label{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:400}.contact__info .contact__item{margin-bottom:24px}.contact__info .contact__link{text-transform:uppercase;text-underline-offset:4px;font-weight:500;text-decoration:underline}.contact__info .contact__social-links{flex-direction:row;justify-content:start;align-items:center;gap:20px;margin-top:8px;display:flex}.contact__form{grid-column:span 12}@media (min-width:768px){.contact__form{grid-column:span 6}}.contact__form{flex-direction:column;justify-content:space-between;display:flex}.contact__form .form__field{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.contact__form .form__field input,.contact__form .form__field textarea{border:1px solid var(--clr-border-primary);border-radius:var(--border-radius-sm);color:var(--font-clr-heading-primary);transition:all var(--ts-ease-2);resize:none;background:#ffffff05;padding:.65rem 1rem}.contact__form .form__field input:focus,.contact__form .form__field textarea:focus{border-color:var(--clr-primary-global);background:#ffffff0d;outline:none}.contact__form .form__field label{font-size:var(--type-sm)}.contact__form .form__field .error-msg{color:var(--clr-form-error);font-weight:400;font-size:var(--type-sm)}.contact__form .form__field.has-error input,.contact__form .form__field.has-error textarea{border-color:var(--clr-form-error)}.contact__form .form__error-message{color:var(--clr-form-error);text-align:center;border:1px solid var(--clr-form-error);background:#ff4d4d1a;border-radius:8px;margin-top:1rem;padding:.5rem;font-size:.875rem}.btn-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--clr-border-primary);border-radius:var(--border-radius-sm);width:100%;color:var(--font-clr-heading-primary);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:transform var(--ts-snappy-3),box-shadow var(--ts-snappy-3),border-color var(--ts-ease-3);background:#ffffff08;flex-direction:row;justify-content:center;align-items:center;padding:1rem 1.5rem;font-weight:600;display:flex;position:relative;overflow:hidden}.btn-glass__content{z-index:3;pointer-events:none;flex-direction:row;justify-content:center;align-items:center;gap:1rem;display:flex;position:relative}.btn-glass__liquid{background:linear-gradient(45deg,var(--clr-primary-global),var(--clr-secondary-500));z-index:1;width:100%;height:150%;transition:top .3s cubic-bezier(.65,0,.35,1);position:absolute;top:100%;left:0}.btn-glass__shimmer{z-index:2;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;position:absolute;top:0;left:-100%}.btn-glass:hover:not(:disabled){border-color:var(--clr-primary-global);box-shadow:0 10px 20px -10px rgba(var(--clr-primary-global),.5),var(--shadow-elevation-medium);transform:translateY(-2px)}.btn-glass:hover:not(:disabled) .btn-glass__liquid{border-top-left-radius:0;border-top-right-radius:0;top:0}.btn-glass:hover:not(:disabled) .btn-glass__shimmer{animation:1s infinite shimmer}.btn-glass:hover:not(:disabled) .btn-glass__content{color:var(--clr-btn-hover)}.btn-glass:hover:not(:disabled) .btn-glass__icon{transform:translate(4px)}.btn-glass:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-glass.is-loading{cursor:wait}.btn-glass.is-loading .btn-glass__liquid{animation:2s ease-in-out infinite pulseLiquid;top:0}.btn-glass.is-loading .btn-glass__text{opacity:.7}.btn-glass.is-loading .btn-glass__icon,.btn-glass.is-loading .btn-glass__text{color:var(--clr-btn-text)}.btn-glass.is-success{border-color:var(--clr-form-success);cursor:default}.btn-glass.is-success .btn-glass__liquid{background:var(--clr-form-success);top:0}.btn-glass.is-success .btn-glass__icon,.btn-glass.is-success .btn-glass__text{color:var(--clr-btn-text)}.btn-glass.is-success .icon-check{animation:popIn .4s var(--ts-spring-3)forwards}.btn-glass:disabled{filter:grayscale(.5)}.not-found__page{background-color:var(--clr-bg);flex-direction:column;justify-content:center;align-items:center;min-height:80dvh;padding:2rem;display:flex;overflow:hidden}.not-found__container{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:1000px;display:flex}.not-found__hero{place-items:center;width:100%;display:grid}.not-found__hero>*{grid-area:1/1;position:relative}.not-found__hero>:first-child{z-index:1}.not-found__hero>:nth-child(2){z-index:10;pointer-events:none;flex-direction:row;justify-content:center;align-items:center;width:100%;max-width:140px;display:flex}@media (min-width:768px){.not-found__hero>:nth-child(2){max-width:240px}}.not-found__hero .bg-404{font-size:clamp(150px,34vw,600px);font-family:var(--ff-mono);color:var(--clr-primary-global);opacity:.22;-webkit-user-select:none;user-select:none;white-space:nowrap;margin:0;font-weight:900;line-height:1}.not-found__hero .witch-img{object-fit:contain;filter:drop-shadow(0 15px 30px #0000004d);width:100%;height:auto}@media (max-width:768px){.not-found__text{margin-top:4rem}}.not-found__text{z-index:20;text-align:center;position:relative}.not-found__text--subtitle{font-family:var(--ff-heading);font-size:var(--type-xl);color:var(--font-clr-heading-primary);margin-bottom:1rem}.not-found__text--description{color:var(--font-clr-body-primary);opacity:.8;max-width:45ch;margin:0 auto 2.5rem}.not-found__text .btn-primary{background-color:var(--clr-primary-global);color:var(--clr-btn-text);border-radius:var(--border-radius-sm);transition:var(--ts-spring-3);border:1px solid #0000;padding:1rem 3rem;font-weight:600;text-decoration:none;display:inline-block}.not-found__text .btn-primary:hover{box-shadow:var(--shadow-elevation-medium);background-color:var(--font-clr-heading-primary);color:var(--clr-bg);transform:translateY(-5px)scale(1.05)}@keyframes floatingWitch{0%{transform:translateY(20px)}50%{transform:translateY(5px)}to{transform:translateY(20px)}}.witch-img{animation:4s ease-in-out infinite floatingWitch}.flex-center{flex-direction:column;justify-content:center;align-items:center;display:flex}.container{margin:0 auto;padding-left:16px;padding-right:16px}.container-sm{max-width:var(--breakpoint-sm)}.container-md{max-width:var(--breakpoint-md)}.container-lg{max-width:var(--breakpoint-lg)}.container-xl{max-width:var(--breakpoint-xl)}.container-page{margin-top:30px}@media (min-width:768px){.container-page{margin-top:40px}}.capitalize{text-transform:capitalize}
