.site__header{z-index:100;height:var(--header-h,64px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f0f0f99;border-bottom:1px solid #ffffff0f;transition:background .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.site__header.menu--open{background:var(--bg-color,#0f0f0f);border-color:#0000}.header__inner{justify-content:space-between;align-items:center;max-width:1400px;height:100%;margin:0 auto;padding:0 24px;display:flex}.header__logo{color:var(--text-color);letter-spacing:.4px;z-index:110;font-family:Inter,sans-serif;font-size:1.15rem;font-weight:800;text-decoration:none;transition:color .25s}.header__logo:hover{color:var(--primary-color)}.header__navigation{align-items:center;gap:32px;margin-left:auto;margin-right:28px;display:flex}.header__navigation a{color:var(--text-color-2);padding:21px 0 19px;font-size:.86rem;font-weight:600;position:relative}.header__navigation a:after{content:"";background:var(--primary-color);border-radius:2px;height:2px;transition:transform .2s;position:absolute;bottom:13px;left:0;right:0;transform:scaleX(0)}.header__navigation a:hover,.header__navigation a[aria-current=page]{color:var(--text-color)}.header__navigation a:hover:after,.header__navigation a[aria-current=page]:after{transform:scaleX(1)}.header__actions{z-index:110;align-items:center;gap:8px;display:flex}.menu__button{cursor:pointer;width:44px;height:44px;color:var(--text-color);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .25s,color .25s;display:flex}.menu__button:hover{background:#ffffff14}.header__logo:focus-visible,.header__navigation a:focus-visible,.menu__button:focus-visible,.nav__item a:focus-visible,.nav__socials a:focus-visible{outline:3px solid var(--accent-text,#a78bfa);outline-offset:4px}.menu__button svg{width:22px;height:22px}.site__navigation{z-index:99;pointer-events:none;visibility:hidden;position:fixed;inset:0}.site__navigation.nav--visible{pointer-events:auto;visibility:visible}.nav__backdrop{background:var(--bg-color,#0f0f0f);transition:transform .55s cubic-bezier(.77,0,.18,1);position:absolute;inset:0;transform:translateY(-100%)}.nav--visible .nav__backdrop{transform:translateY(0)}.nav__content{z-index:2;align-items:center;height:100%;padding:0 24px;display:flex;position:relative}.nav__menu{width:100%;max-width:1400px;margin:0 auto;padding:0;list-style:none}@media (width>=992px){.nav__menu{padding-left:33%}}.nav__item{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(20px)}.nav--visible .nav__item{opacity:1;transform:translateY(0)}.nav__item a{color:var(--text-color-2);padding:12px 0;font-family:Inter,sans-serif;font-size:clamp(2rem,5vw,4rem);font-weight:700;text-decoration:none;transition:color .25s;display:inline-block;position:relative}.nav__item a:after{content:"";background:var(--primary-color);border-radius:2px;width:0;height:3px;transition:width .35s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:8px;left:0}.nav__item a:hover,.nav__item a[aria-current=page]{color:var(--text-color)}.nav__item a[aria-current=page]:after,.nav__item a:hover:after{width:100%}.nav__footer{z-index:2;opacity:0;justify-content:space-between;align-items:center;padding:20px 24px;font-family:Inter,sans-serif;font-size:13px;transition:opacity .4s .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.nav--visible .nav__footer{opacity:1}.nav__socials{gap:20px;display:flex}.nav__socials a{color:var(--text-color-2);text-decoration:none;transition:color .25s}.nav__socials a:hover{color:var(--primary-color)}.nav__copy{color:#ffffff59;margin:0}@media (width<=767.98px){.header__navigation{display:none}.nav__content{align-items:flex-end;padding-bottom:100px}.nav__footer{text-align:center;flex-direction:column;gap:12px;padding:16px 24px 24px}}@media (width>=768px){.menu__button{display:none}}.theme-toggle{cursor:pointer;width:40px;height:40px;color:var(--text-color);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .25s,color .25s;display:flex}.theme-toggle:hover{color:var(--primary-color);background:#7c3aed1a}.theme-toggle:focus-visible{outline:3px solid var(--accent-text,#a78bfa);outline-offset:3px}.theme-toggle__icon{justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex}.theme-toggle__icon svg{width:22px;height:22px}.theme-toggle__icon.is-dark{transform:rotate(0)}.theme-toggle__icon.is-light{transform:rotate(180deg)}.site-footer{z-index:2;background:var(--bg-color);border-top:1px solid var(--card-border);padding:48px max(24px,50vw - 555px) 24px;position:relative}.site-footer__inner{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.site-footer__brand{color:var(--text-color);font-size:1rem;font-weight:800}.site-footer__inner p,.site-footer__copyright{color:var(--text-color-2);font-size:.78rem}.site-footer__inner p{margin:8px 0 0}.site-footer__links{flex-wrap:wrap;gap:24px;display:flex}.site-footer__links a{color:var(--text-color-2);font-size:.82rem;font-weight:600}.site-footer__links a:hover{color:var(--accent-text)}.site-footer__copyright{border-top:1px solid var(--card-border);margin:36px 0 0;padding-top:20px}@media (width<=640px){.site-footer{padding:36px 20px 24px}.site-footer__inner{flex-direction:column}}@media only screen and (width<=991px){.s_c{padding-top:40px}}.route-transition{animation:.35s both route-enter}@keyframes route-enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (width>=1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1140px}}.route-loading{min-height:calc(100vh - var(--header-h));color:var(--text-color-2);place-content:center;margin:0;display:grid}:root{--header-h:64px;--bg-color:#0f0f14;--primary-color:#7c3aed;--primary-hover:#6d28d9;--accent-text:#6d28d9;--text-color:#e5e7eb;--text-color-2:#9ca3af;--text-color-3:#7c3aed;--overlay-color:#0f0f14b3;--glass-bg:#0f0f14a6;--glass-border:#7c3aed2e;--card-bg:#ffffff0a;--card-border:#ffffff0f;--bg-skills:#1a1a24;--text-skills:#e5e7eb}[data-theme=light]{--bg-color:#fff;--text-color:#111827;--text-color-2:#4b5563;--text-color-3:#7c3aed;--overlay-color:#ffffffb3;--glass-bg:#ffffffbf;--glass-border:#7c3aed1f;--card-bg:#00000005;--card-border:#0000000f;--bg-skills:#f3f4f6;--text-skills:#0f0f14}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{height:100%;margin:0}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .3s,color .3s;overflow:hidden visible}h1,h2,h3,h4,h5,h6{margin-top:0;font-family:inherit}p{word-break:auto-phrase;-webkit-hyphens:auto;hyphens:auto}a{color:var(--text-color);text-decoration:none;transition:color .25s}a:hover{color:var(--primary-color)}ul{margin:0;padding:0;list-style:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ovhidden{overflow:hidden}.color_pr{color:var(--primary-color)!important}.color_sec{color:var(--text-color-2)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{color:var(--text-color);background:#7c3aed4d}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#7c3aed4d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.fade-in{opacity:0;animation:.7s forwards fadeInUp;transform:translateY(24px)}.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.7s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
