:root{--curveAccelerateMax:cubic-bezier(0.9, 0.1, 1, 0.2);--curveAccelerateMid:cubic-bezier(1, 0, 1, 1);--curveAccelerateMin:cubic-bezier(0.8, 0, 0.78, 1);--curveDecelerateMax:cubic-bezier(0.1, 0.9, 0.2, 1);--curveDecelerateMid:cubic-bezier(0, 0, 0, 1);--curveDecelerateMin:cubic-bezier(0.33, 0, 0.1, 1);--curveEasyEaseMax:cubic-bezier(0.8, 0, 0.2, 1);--curveEasyEase:cubic-bezier(0.33, 0, 0.67, 1);--curveLinear:cubic-bezier(0, 0, 1, 1)}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--durationNormal)var(--curveEasyEase),transform var(--durationNormal)var(--curveEasyEase)}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-10px);transition:opacity var(--durationNormal)var(--curveEasyEase),transform var(--durationNormal)var(--curveEasyEase)}.fade-in{animation:fadeIn var(--durationNormal)var(--curveEasyEase)}.slide-up{animation:slideUp var(--durationNormal)var(--curveDecelerateMin)}.slide-down{animation:slideDown var(--durationNormal)var(--curveDecelerateMin)}.scale-in{animation:scaleIn var(--durationNormal)var(--curveEasyEase)}.hover-lift{transition:transform var(--durationFaster)var(--curveEasyEase)}.hover-lift:hover{transform:translateY(-2px)}.focus-outline{transition:outline var(--durationFaster)var(--curveEasyEase)}.focus-outline:focus-visible{outline:var(--strokeWidthThick)solid var(--colorBrandBackground);outline-offset:2px}.menu-enter{opacity:0;transform:scale(.95);transform-origin:top right}.menu-enter-active{opacity:1;transform:scale(1);transition:opacity var(--durationFaster)var(--curveDecelerateMin),transform var(--durationFaster)var(--curveDecelerateMin)}.menu-exit{opacity:1;transform:scale(1)}.menu-exit-active{opacity:0;transform:scale(.95);transition:opacity var(--durationFaster)var(--curveAccelerateMin),transform var(--durationFaster)var(--curveAccelerateMin)}.loading-spinner{animation:spin var(--durationSlower)var(--curveLinear)infinite}.loading-pulse{animation:pulse var(--durationSlower)var(--curveEasyEase)infinite}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}100%{opacity:1;transform:scale(1)}}.card{transition:transform var(--durationFaster)var(--curveEasyEase),box-shadow var(--durationFaster)var(--curveEasyEase)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow8)}button,.button{transition:background-color var(--durationFaster)var(--curveEasyEase),transform var(--durationUltraFast)var(--curveEasyEase)}button:active,.button:active{transform:scale(.98)}.link{transition:color var(--durationFaster)var(--curveEasyEase)}.nav-links{transition:transform var(--durationNormal)var(--curveEasyEase),opacity var(--durationNormal)var(--curveEasyEase)}@media(max-width:768px){.nav-links:not(.is-active){transform:translateY(-10px);opacity:0;pointer-events:none}.nav-links.is-active{transform:translateY(0);opacity:1}}.theme-transition{transition:background-color var(--durationNormal)var(--curveEasyEase),color var(--durationNormal)var(--curveEasyEase)}input,textarea,select{transition:border-color var(--durationFaster)var(--curveEasyEase),box-shadow var(--durationFaster)var(--curveEasyEase)}.scroll-animate{opacity:0;transform:translateY(20px);transition:opacity var(--durationNormal)var(--curveEasyEase),transform var(--durationNormal)var(--curveEasyEase)}.scroll-animate.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}