.site-header{position:fixed;z-index:40;top:0;right:0;left:0;height:var(--header-height);border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease}.site-header--scrolled{border-bottom-color:var(--color-border);background:color-mix(in srgb,var(--color-bg) 72%,transparent);backdrop-filter:blur(14px) saturate(140%)}.site-header--menu{border-bottom-color:transparent;background:transparent;backdrop-filter:none}.site-header__inner{display:flex;align-items:center;gap:1.5rem;max-width:var(--container-wide);height:100%;margin:0 auto;padding:0 var(--gutter)}.site-brand{display:inline-flex;align-items:center;gap:.75rem}.site-brand,.site-brand:hover{color:var(--color-text)}.site-brand__mark{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.75rem;background:var(--gradient-brand);box-shadow:0 8px 24px -8px rgb(92 94 220/.8);color:#fff;font-family:var(--font-display);font-size:.875rem;font-weight:700}.site-brand__name{font-size:.75rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;white-space:nowrap}.site-nav{margin-left:auto}.site-nav ul{display:flex;gap:.25rem}.site-nav__link{display:block;padding:.5rem .7rem;border-radius:999px;color:var(--color-text-muted);font-size:.875rem;font-weight:500;white-space:nowrap;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease}.site-nav__link:focus-visible,.site-nav__link:hover{background:rgb(var(--rgb-veil)/.06);color:var(--color-text)}.site-nav__link.is-active{background:rgb(92 94 220/.18);box-shadow:inset 0 0 0 1px rgb(92 94 220/.4);color:var(--color-text)}.site-header__actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.site-nav+.site-header__actions{margin-left:0}.site-header--menu-open .lang-switch,.site-header--menu-open .site-header__cv,.site-header--menu-open .site-nav{visibility:hidden;opacity:0}.site-header--menu .lang-switch,.site-header--menu .site-header__cv,.site-header--menu .site-nav{pointer-events:none}.site-header--menu-open .theme-toggle{transform:translate3d(var(--theme-shift,0),0,0)}.site-header--menu .theme-toggle{z-index:1}@media (prefers-reduced-motion:no-preference){.site-header .lang-switch,.site-header .site-nav{transition:opacity .4s ease .12s,filter .4s ease .12s,transform .6s var(--ease-spring) .12s,visibility 0s}.site-header .site-header__cv{transition:transform .3s var(--ease-out),box-shadow .3s ease,background-color .2s ease,background-position .5s ease,border-color .2s ease,color .2s ease,opacity .4s ease .12s,filter .4s ease .12s,visibility 0s}.site-header--menu-open .lang-switch,.site-header--menu-open .site-header__cv,.site-header--menu-open .site-nav{filter:blur(6px);transform:scale(.94);transition:opacity .25s ease,filter .25s ease,transform .3s ease,visibility 0s linear .3s}.site-header .theme-toggle{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .6s var(--ease-spring)}.menu-toggle .menu-toggle__line{transition:transform .5s var(--ease-spring)}}@media (max-width:1279px){.site-nav{display:none}.site-nav+.site-header__actions{margin-left:auto}}@media (max-width:639px){.site-header .lang-switch{display:none}}@media (max-width:479px){.site-header__cv{display:none}}@media (max-width:359px){.site-header .site-brand__name{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap}}.menu-toggle{position:relative;width:2.75rem;height:2.75rem;flex:none;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-fill-strong);transition:background-color .2s ease,border-color .2s ease}.menu-toggle:focus-visible,.menu-toggle:hover{border-color:rgb(92 94 220/.6);background:rgb(92 94 220/.16)}.menu-toggle__line{position:absolute;top:50%;left:50%;width:1.1rem;height:2px;border-radius:2px;background:var(--color-text);transition:transform .35s var(--ease-out)}.menu-toggle__line:first-child{transform:translate(-50%,calc(-50% - 4px))}.menu-toggle__line:last-child{transform:translate(-50%,calc(-50% + 4px))}.menu-toggle.is-open .menu-toggle__line:first-child{transform:translate(-50%,-50%) rotate(45deg)}.menu-toggle.is-open .menu-toggle__line:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.theme-toggle{position:relative;display:grid;width:2.75rem;height:2.75rem;flex:none;place-items:center;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-fill-strong);color:var(--color-text);font-size:1rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.theme-toggle:focus-visible,.theme-toggle:hover{border-color:rgb(92 94 220/.6);background:rgb(92 94 220/.16)}.theme-toggle__icon{grid-area:1/1}.dark .theme-toggle__icon--moon,.dark .theme-toggle__label--to-dark,.light .theme-toggle__icon--sun,.light .theme-toggle__label--to-light{display:none}.theme-switching .theme-toggle__icon{animation:theme-icon-in .6s var(--ease-out)}@keyframes theme-icon-in{0%{opacity:0;transform:rotate(-90deg) scale(.4)}}.lang-switch{position:relative}.lang-switch__button{display:inline-flex;height:2.75rem;align-items:center;gap:.45rem;padding:0 .8rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-fill-strong);color:var(--color-text);font-size:.8125rem;font-weight:700;letter-spacing:.08em;transition:background-color .2s ease,border-color .2s ease}.lang-switch.is-open .lang-switch__button,.lang-switch__button:focus-visible,.lang-switch__button:hover{border-color:rgb(92 94 220/.6);background:rgb(92 94 220/.16)}.lang-switch__list--dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:11rem;padding:.4rem;border:1px solid var(--color-border-strong);border-radius:1rem;background:var(--color-surface-raised);box-shadow:0 24px 50px -20px rgb(0 0 0/.75);visibility:hidden;opacity:0;transform:translate3d(0,-.4rem,0) scale(.92);transform-origin:top right;transition:opacity .2s ease,transform .25s var(--ease-out),visibility 0s linear .25s}.lang-switch.is-open .lang-switch__list--dropdown{visibility:visible;opacity:1;transform:none;transition:opacity .2s ease,transform .45s var(--ease-spring),visibility 0s}.lang-switch__option{display:flex;align-items:center;gap:.7rem;color:var(--color-text);font-weight:500;transition:background-color .2s ease,border-color .2s ease}.lang-switch__list--dropdown .lang-switch__option{padding:.6rem .75rem;border-radius:.65rem;font-size:.9rem}.lang-switch__option:focus-visible,.lang-switch__option:hover{background:rgb(var(--rgb-veil)/.06);color:var(--color-text)}.lang-switch__option[aria-current=true]{background:rgb(92 94 220/.16)}.lang-switch__code{color:var(--color-brand-light);font-size:.7rem;font-weight:700;letter-spacing:.1em}.lang-switch__list--inline{display:flex;flex-wrap:wrap;gap:.5rem}.lang-switch__list--inline .lang-switch__option{height:2.5rem;gap:.5rem;padding:0 .95rem;border:1px solid var(--color-border-strong);border-radius:999px;font-size:.85rem;font-weight:600}.lang-switch__list--inline .lang-switch__option[aria-current=true]{border-color:rgb(92 94 220/.6)}@media (max-width:559px){.lang-switch__list--inline .lang-switch__code{display:none}}.stack-menu{position:fixed;z-index:30;top:0;right:0;left:0;display:flex;height:var(--stack-top);max-width:var(--container-wide);flex-direction:column;justify-content:center;justify-content:safe center;gap:1.75rem;margin:0 auto;padding:calc(var(--header-height) + .5rem) var(--gutter) 1.5rem;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .25s ease,visibility 0s linear .25s}.stack-menu--open{visibility:visible;pointer-events:auto;opacity:1;transition:opacity .25s ease .15s,visibility 0s}.stack-menu__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem 2rem}.stack-menu__item{opacity:0;filter:blur(6px);transform:translate3d(0,.75rem,0);transition:opacity .4s ease,filter .4s ease,transform .6s var(--ease-out)}.stack-menu--open .stack-menu__item{opacity:1;filter:none;transform:none;transition-delay:calc(.2s + var(--i) * 45ms)}.stack-menu__link{display:flex;align-items:baseline;gap:.75rem;padding:.6rem 0;color:var(--color-text)}.stack-menu__index{color:var(--color-brand-light);font-size:.75rem;font-weight:700;letter-spacing:.1em}.stack-menu__title{font-family:var(--font-display);font-size:clamp(1.2rem,1.9vw,1.6rem);font-weight:600;letter-spacing:-.01em;transition:color .2s ease}.stack-menu__title-short{display:none}.stack-menu__link:focus-visible .stack-menu__title,.stack-menu__link:hover .stack-menu__title{color:var(--color-brand-light)}.stack-menu__footer{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}@media (max-width:899px){.stack-menu__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}}@media (max-width:559px){.stack-menu{gap:1.25rem}.stack-menu__list{gap:0 1rem}.stack-menu__link{padding:.45rem 0}.stack-menu__title{font-size:1.15rem}.stack-menu__title-full{display:none}.stack-menu__title-short{display:inline}.stack-menu__footer{gap:.75rem}.stack-menu__footer .social-links__link{width:2.5rem;height:2.5rem}}@media (max-width:359px){.stack-menu__list{gap:0 .5rem}.stack-menu__title{font-size:1rem}}@media (max-height:480px){.stack-menu{gap:.75rem;padding-bottom:.75rem}.stack-menu__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1rem}.stack-menu__link{padding:.3rem 0}.stack-menu__title{font-size:1.05rem}.stack-menu__title-full{display:none}.stack-menu__title-short{display:inline}.stack-menu__footer{gap:.5rem .75rem}.stack-menu__footer .social-links__link{width:2.25rem;height:2.25rem}.stack-menu__footer .resume-label--full{display:none}.stack-menu__footer .resume-label--short{display:contents}}.stage,.stage__sheet{position:relative}.stage__sheet{min-height:100vh;background:var(--color-bg)}.stage--locked{position:fixed;z-index:10;inset:0;overflow:hidden;background:var(--color-stage);perspective:1200px;perspective-origin:50% -50%}.stage--locked .stage__sheet{position:absolute;z-index:2;right:0;left:0;transition:transform .7s var(--ease-stack),clip-path .7s var(--ease-stack)}.stage--open .stage__sheet{transform:translate3d(0,var(--stack-push),-200px)}.stage__ghost{position:absolute;z-index:1;top:0;right:0;left:0;height:100vh;border-radius:1.25rem 1.25rem 0 0;opacity:0;transform:translate3d(0,var(--stack-push),-300px);transition:transform .7s var(--ease-stack),opacity .7s var(--ease-stack)}.stage__ghost--middle{background:var(--color-sheet-middle)}.stage__ghost--back{background:var(--color-sheet-back)}.stage--open .stage__ghost--middle{opacity:1;transform:translate3d(0,var(--stack-push),-250px)}.stage--open .stage__ghost--back{opacity:1;transform:translate3d(0,var(--stack-push),-300px)}.stage-catcher{position:fixed;z-index:20;top:var(--stack-top);right:0;bottom:0;left:0;cursor:pointer}@media (prefers-reduced-motion:reduce){.stack-menu,.stack-menu__item,.stage--locked .stage__sheet,.stage__ghost{transition:none}.theme-switching .theme-toggle__icon{animation:none}.lang-switch__list--dropdown{transition:none}}.light .lang-switch__list--dropdown{box-shadow:0 24px 50px -20px rgb(31 33 74/.35)}.social-links{display:flex;flex-wrap:wrap;gap:.5rem}.social-links__link{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-text-muted);font-size:1.05rem;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .3s var(--ease-out)}.social-links__link:focus-visible,.social-links__link:hover{border-color:rgb(92 94 220/.6);background:rgb(92 94 220/.16);color:var(--color-text);transform:translateY(-2px)}.site-footer{position:relative;padding:clamp(2.5rem,6vw,4rem) 0 2rem;border-top:1px solid var(--color-border);background:radial-gradient(60% 120% at 50% 0,rgb(92 94 220/.12),transparent 70%)}.site-footer:before{content:"";position:absolute;top:-1px;left:50%;width:min(40rem,80%);height:1px;background:linear-gradient(90deg,transparent,var(--color-brand-light),transparent);transform:translateX(-50%)}.site-footer__bottom,.site-footer__inner{display:flex;max-width:var(--container);flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 auto;padding-inline:var(--gutter)}.site-footer__role{margin-top:.6rem;color:var(--color-text-muted);font-size:.875rem}.site-footer__bottom{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--container) - 2 * var(--gutter));gap:1rem;margin-top:2rem;padding-top:1.5rem;padding-inline:0;border-top:1px solid var(--color-border);color:var(--color-text-subtle);font-size:.8125rem}.site-footer__bottom>p{margin-right:auto}.site-footer__top{display:inline-flex;align-items:center;gap:.5rem;margin-block:-.25rem;padding-block:.25rem;color:var(--color-text-muted);font-weight:600;transition:color .2s ease}.site-footer__top:hover{color:var(--color-text)}