html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,sans-serif}.nav-link.active{color:#3b82f6!important;font-weight:600}.profile-image-container{position:relative;overflow:hidden}.profile-image-container:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#3b82f6,#f97316,#3b82f6);border-radius:50%;z-index:-1;animation:rotate 3s linear infinite;opacity:0;transition:opacity .3s ease}.profile-image-container:hover:before{opacity:1}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skill-bar{width:0%;transition:width 1.5s ease-out .5s}.skill-bar.animate{width:var(--target-width)}.timeline-item:hover .timeline-item>div>div{transform:translateY(-4px)}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input.success,.form-group textarea.success{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{animation:scaleIn .3s ease-out;max-height:90vh}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-spinner{display:inline-block}.fade-in-element{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-element.visible{opacity:1;transform:translateY(0)}.parallax-bg{will-change:transform}#hero{background-attachment:fixed}#hero .relative.z-10{transition:filter .3s ease-out,opacity .3s ease-out;will-change:filter,opacity}#hero.hero-blurred{transform:none!important}@media (max-width: 768px){.timeline-item{margin-left:2rem}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}}.project-card,.timeline-item>div>div,.social-link{will-change:transform}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.nav-link:focus,button:focus,a:focus,input:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast: high){.gradient-text{background:none;color:#000}.bg-gradient-to-br{background:#fff}}@media print{nav,#contact,footer{display:none}section{break-inside:avoid;page-break-inside:avoid}}
