@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.D1bw2c55.woff2)format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.DeBecvsH.woff2)format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-ext-wght-normal.DdQaqQDo.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-wght-normal.Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+0000-00FF,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}.share-buttons[data-astro-cid-zllr3mxm] .btn[data-astro-cid-zllr3mxm]{transition:all .2s ease}.share-buttons[data-astro-cid-zllr3mxm] .btn[data-astro-cid-zllr3mxm]:hover{transform:translateY(-1px)}.copy-link-btn[data-astro-cid-zllr3mxm].btn-success{background-color:oklch(var(--su));color:oklch(var(--suc))}.perspective-1000[data-astro-cid-dohjnao5]{perspective:1000px}.transform-style-3d[data-astro-cid-dohjnao5]{transform-style:preserve-3d}.card[data-astro-cid-dohjnao5]:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 20px 40px -5px #0000001a,0 10px 20px -5px #0000000d,inset 0 0 0 1px #ffffff1a}.card[data-astro-cid-dohjnao5]:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.1),transparent);transition:.5s;pointer-events:none}.card[data-astro-cid-dohjnao5]:hover:before{left:100%;transition:.7s}.skill-badge[data-astro-cid-ab4ihpzs]:hover{transform:translateY(-3px) scale(1.02)}@keyframes shine{to{transform:translate(100%)}}.group[data-astro-cid-ab4ihpzs]:hover .shine-effect[data-astro-cid-ab4ihpzs]{animation:shine 1s}.typewriter[data-astro-cid-3ef6ksr2]{display:inline-block;overflow:hidden;white-space:nowrap;margin:0;width:0}.cursor-blink[data-astro-cid-3ef6ksr2]{animation:blink 1s step-end infinite}@keyframes typing{0%{width:0}to{width:var(--typewriter-width)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.theme-toggle-input[data-astro-cid-3ef6ksr2]{-webkit-tap-highlight-color:transparent}@media (max-width:768px){label[data-astro-cid-3ef6ksr2][for=theme-toggle]{-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none}}label[data-astro-cid-3ef6ksr2][for=theme-toggle]{touch-action:manipulation;-webkit-touch-callout:none}html{scroll-behavior:smooth;color-scheme:light dark}body{font-family:DM Sans Variable,sans-serif;min-height:100vh;background-color:oklch(var(--b1));background-image:radial-gradient(at 0% 0%,oklch(var(--p)/.15)0,transparent 50%),radial-gradient(at 100% 0%,oklch(var(--s)/.15)0,transparent 50%),radial-gradient(at 100% 100%,oklch(var(--a)/.15)0,transparent 50%),radial-gradient(at 0% 100%,oklch(var(--n)/.15)0,transparent 50%);background-attachment:fixed;background-size:100% 100%}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.4'/%3E%3C/svg%3E");pointer-events:none;z-index:-1;opacity:.15;mix-blend-mode:overlay}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s;animation-timing-function:cubic-bezier(.4,0,.2,1)}@supports not (view-transition-name:none){html,body,header,main,footer,.card,.btn,.badge,.prose,.collapse,article,section,div,p,h1,h2,h3,h4,h5,h6{transition:background-color .35s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1)}h1,h2,h3,h4,h5,h6{font-family:Outfit Variable,sans-serif}input,button,a,img,svg,video,iframe,.toggle,input[type=checkbox],input[type=radio]{transition:none!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.stagger-item{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.stagger-item.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.container{flex-direction:column}}@media (min-width:768px){.container{display:flex;flex-wrap:wrap}}