@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_c78572eb-module__kid1Rq__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_c78572eb-module__kid1Rq__variable{--font-outfit:"Outfit", "Outfit Fallback"}
@font-face{font-family:Syncopate;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7a8b32da25bb25d4-s.0arrgqycmbr.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Syncopate;font-style:normal;font-weight:400;font-display:swap;src:url(../media/80680c420594b047-s.p.0r~r71c.ujx6j.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syncopate;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ae55a6bb58b3c593-s.03i4i1p_5k4.t.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Syncopate;font-style:normal;font-weight:700;font-display:swap;src:url(../media/702db7bdc064d9ba-s.p.14d.741.uew46.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syncopate Fallback;src:local(Arial);ascent-override:46.21%;descent-override:12.65%;line-gap-override:4.46%;size-adjust:164.4%}.syncopate_5b8e8009-module__hnso0W__className{font-family:Syncopate,Syncopate Fallback;font-style:normal}.syncopate_5b8e8009-module__hnso0W__variable{--next-font-syncopate:"Syncopate", "Syncopate Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_bcb79813-module__emLhJa__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_bcb79813-module__emLhJa__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));:root{--font-cursive:var(--next-font-syncopate);--font-style:normal}[data-theme=light]{--bg-primary:#f1f7f6;--bg-secondary:#e3eeec;--bg-card:#ffffffb3;--bg-card-hover:#ffffffe6;--text-primary:#03363d;--text-secondary:#03363d9e;--text-tertiary:#03363d61;--border:#03363d1a;--border-hover:#03363d33;--accent:#03363d;--accent-rgb:3, 54, 61;--accent-glow:#03363d24;--gradient-start:#eaf3f2;--gradient-end:#d8e8e6;--glass:#fff9;--glass-border:#bdd9d773;--shadow:0 1px 3px #03363d0f, 0 6px 16px #03363d0f;--shadow-hover:0 4px 12px #03363d1a, 0 12px 32px #03363d14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg-primary:#03363d;--bg-secondary:#052b31;--bg-card:#bdd9d70d;--bg-card-hover:#bdd9d717;--text-primary:#e7f1f0;--text-secondary:#bdd9d7b3;--text-tertiary:#bdd9d766;--border:#bdd9d71a;--border-hover:#bdd9d733;--accent:#bdd9d7;--accent-rgb:189, 217, 215;--accent-glow:#bdd9d733;--gradient-start:#03363d;--gradient-end:#022a30;--glass:#052b3199;--glass-border:#bdd9d714;--shadow:0 1px 3px #00000059, 0 6px 16px #00000073;--shadow-hover:0 4px 12px #00000080, 0 12px 32px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary:#03363d;--bg-secondary:#052b31;--bg-card:#bdd9d70d;--bg-card-hover:#bdd9d717;--text-primary:#e7f1f0;--text-secondary:#bdd9d7b3;--text-tertiary:#bdd9d766;--border:#bdd9d71a;--border-hover:#bdd9d733;--accent:#bdd9d7;--accent-rgb:189, 217, 215;--accent-glow:#bdd9d733;--gradient-start:#03363d;--gradient-end:#022a30;--glass:#052b3199;--glass-border:#bdd9d714;--shadow:0 1px 3px #00000059, 0 6px 16px #00000073;--shadow-hover:0 4px 12px #00000080, 0 12px 32px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg-primary:#f1f7f6;--bg-secondary:#e3eeec;--bg-card:#ffffffb3;--bg-card-hover:#ffffffe6;--text-primary:#03363d;--text-secondary:#03363d9e;--text-tertiary:#03363d61;--border:#03363d1a;--border-hover:#03363d33;--accent:#03363d;--accent-rgb:3, 54, 61;--accent-glow:#03363d24;--gradient-start:#eaf3f2;--gradient-end:#d8e8e6;--glass:#fff9;--glass-border:#bdd9d773;--shadow:0 1px 3px #03363d0f, 0 6px 16px #03363d0f;--shadow-hover:0 4px 12px #03363d1a, 0 12px 32px #03363d14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-y;overflow-x:clip}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-outfit), system-ui, sans-serif;touch-action:pan-y;cursor:auto;min-height:100dvh;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:clip}nav,section,footer{transition:background-color .3s,color .3s,border-color .3s}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}::selection{background:rgba(var(--accent-rgb), .25);color:var(--text-primary)}.btn{font-family:var(--font-outfit), system-ui, sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.78rem;font-weight:600;transition:all .25s,transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden}.btn-acc{background:var(--accent);color:var(--bg-primary)}.btn-acc:hover{filter:brightness(1.15);box-shadow:0 8px 24px rgba(var(--accent-rgb), .25)}.btn-acc:active{transform:scale(.98)}.btn-outline{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}@keyframes fadeUp{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}:root{scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}@property --badge-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --badge-angle-offset{syntax:"<angle>";inherits:false;initial-value:0deg}@property --badge-percent{syntax:"<percentage>";inherits:false;initial-value:5%}@property --badge-shine{syntax:"<color>";inherits:false;initial-value:#fff}.skill-badge{--badge-bg:#080808e0;--badge-bg-subtle:#181818e6;--badge-fg:#e8e8e8;--badge-highlight:#bdd9d7;--badge-highlight-subtle:#e2efee;--_dur:8s;--_t:.8s cubic-bezier(.25, 1, .5, 1);isolation:isolate;cursor:default;font-family:var(--font-dm-sans), sans-serif;letter-spacing:.1em;color:var(--badge-fg);background:linear-gradient(var(--badge-bg), var(--badge-bg)) padding-box, conic-gradient(from calc(var(--badge-angle) - var(--badge-angle-offset)), transparent, var(--badge-highlight) var(--badge-percent), var(--badge-shine) calc(var(--badge-percent) * 2), var(--badge-highlight) calc(var(--badge-percent) * 3), transparent calc(var(--badge-percent) * 4)) border-box;box-shadow:inset 0 0 0 1px var(--badge-bg-subtle);transition:var(--_t);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:360px;align-items:center;gap:.45rem;padding:.48rem 1rem;font-size:.62rem;font-weight:500;transition-property:--badge-angle-offset,--badge-percent,--badge-shine;display:inline-flex;position:relative;overflow:hidden}[data-theme=light] .skill-badge{--badge-bg:#fcfcfaeb;--badge-bg-subtle:#dcdcdacc;--badge-fg:#1a1a19}.skill-badge:before,.skill-badge:after{content:"";pointer-events:none;z-index:-1;position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.skill-badge:before{--sz:calc(100% - 4px);--pos:2px;--sp:calc(var(--pos) * 2);width:var(--sz);height:var(--sz);background:radial-gradient(circle at var(--pos) var(--pos), currentColor calc(var(--pos) / 4), transparent 0) padding-box;background-size:var(--sp) var(--sp);-webkit-mask-image:conic-gradient(from calc(var(--badge-angle) + 45deg), black, transparent 10% 90%, black);mask-image:conic-gradient(from calc(var(--badge-angle) + 45deg), black, transparent 10% 90%, black);border-radius:inherit;opacity:.14;background-repeat:space}.skill-badge:after{aspect-ratio:1;background:linear-gradient(-50deg, transparent, var(--badge-highlight), transparent);opacity:.45;width:100%;animation:badge-shimmer-sweep linear infinite var(--_dur);-webkit-mask-image:radial-gradient(circle at bottom,#0000 40%,#000);mask-image:radial-gradient(circle at bottom,#0000 40%,#000)}.skill-badge,.skill-badge:before{--badge-angle:200deg}.skill-badge{--badge-percent:12%;--badge-angle-offset:60deg;--badge-shine:var(--badge-highlight-subtle)}.skill-badge:hover{--badge-percent:22%;--badge-angle-offset:120deg}.skill-badge-icon{opacity:.82;flex-shrink:0;align-items:center;display:flex}.skill-badge-icon svg{width:11px;height:11px}@keyframes badge-shimmer-sweep{to{rotate:360deg}}[data-reveal]{opacity:0;transform:translateY(28px)}[data-pop]{opacity:0;transform:scale(.6)}html:not([data-lite=true]):not([data-motion=gsap]) [data-reveal],html:not([data-lite=true]):not([data-motion=gsap]) [data-pop]{animation:10ms linear 4s forwards revealFailsafe}@keyframes revealFailsafe{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){[data-reveal],[data-pop]{opacity:1!important;animation:none!important;transform:none!important}}html[data-lite=true] [data-reveal],html[data-lite=true] [data-pop]{opacity:1!important;transform:none!important}html[data-lite=true],html[data-lite=true] *,html[data-lite=true] :before,html[data-lite=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-lite=true] #hero-canvas{display:none!important}html[data-lite=true] *{-webkit-backdrop-filter:none!important}
