:root{--logo-taupe: #665C55;--white: #FFFFFF;--charcoal: #2E2E2E;--aqua-blue: #2E8C9E;--golden-warmth: #CBA135;--emerald: #2B6F5C;--stone-beige: #D6CFC7;--light-grey: #F4F4F4;--primary-text: #2E2E2E;--secondary-text: #666666;--overlay-text: #FFFFFF;--chip-bg-alpha: .25;--chip-border-alpha: .4;--chip-hover-alpha: .35;--chip-aqua-bg: rgba(46, 140, 158, .25);--chip-aqua-border: rgba(46, 140, 158, .4);--chip-emerald-bg: rgba(43, 111, 92, .25);--chip-emerald-border: rgba(43, 111, 92, .4);--chip-golden-bg: rgba(203, 161, 53, .3);--chip-golden-border: rgba(203, 161, 53, .45);--chip-taupe-bg: rgba(102, 92, 85, .3);--chip-taupe-border: rgba(102, 92, 85, .45)}@keyframes fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #1193d44d}50%{box-shadow:0 0 40px #1193d499}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes subtle-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}.animate-fade-in{animation:fade-in 1s ease-out}.animate-slide-up{animation:slide-up 1s ease-out}.animate-slide-up.delay-200{animation-delay:.2s;animation-fill-mode:both}.animate-slide-up.delay-400{animation-delay:.4s;animation-fill-mode:both}.animate-slide-up.delay-600{animation-delay:.6s;animation-fill-mode:both}.animate-slide-in-left{animation:slide-in-left 1s ease-out}.animate-slide-in-right{animation:slide-in-right 1s ease-out}.animate-ripple{animation:ripple .6s linear}.animate-subtle-bounce:hover{animation:subtle-bounce .6s ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}html{scroll-behavior:smooth}.gradient-text{background:linear-gradient(135deg,#1193d4,#3b82f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px #00000040}@supports not (backdrop-filter: blur(10px)){.backdrop-blur-xl{background-color:#ffffffe6}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--aqua-blue),var(--golden-warmth));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#246b7a,#a68829)}@keyframes smooth-reveal{0%{opacity:0;transform:translateY(60px) scale(.98);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes parallax-float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(5px) rotate(-1deg)}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes sophisticated-bounce{0%,20%,50%,80%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-4px) scale(1.01)}60%{transform:translateY(-2px) scale(1.005)}}@keyframes morphing-shadow{0%,to{box-shadow:0 20px 40px #2e8c9e1a,0 10px 20px #cba1350d}50%{box-shadow:0 30px 60px #2e8c9e26,0 15px 30px #cba1351a}}@keyframes text-shimmer{0%{background-position:-100% 0}to{background-position:100% 0}}@keyframes micro-interactions{0%{transform:scale(1) rotate(0);box-shadow:0 4px 8px #0000001a}50%{transform:scale(1.02) rotate(.5deg);box-shadow:0 8px 16px #00000026}to{transform:scale(1) rotate(0);box-shadow:0 4px 8px #0000001a}}.animate-smooth-reveal{animation:smooth-reveal 1.2s cubic-bezier(.25,.25,.25,.75)}.animate-parallax-float{animation:parallax-float 6s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 4s ease infinite}.animate-sophisticated-bounce:hover{animation:sophisticated-bounce .8s cubic-bezier(.25,.25,.25,.75)}.animate-morphing-shadow{animation:morphing-shadow 3s ease-in-out infinite}.animate-text-shimmer{background:linear-gradient(90deg,var(--charcoal) 0%,var(--aqua-blue) 50%,var(--charcoal) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:text-shimmer 2s ease-in-out infinite}.animate-micro-interactions:hover{animation:micro-interactions .6s cubic-bezier(.25,.25,.25,.75)}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.25,.25,.25,.75)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal-left{opacity:0;transform:translate(-50px);transition:all .8s cubic-bezier(.25,.25,.25,.75)}.scroll-reveal-left.revealed{opacity:1;transform:translate(0)}.scroll-reveal-right{opacity:0;transform:translate(50px);transition:all .8s cubic-bezier(.25,.25,.25,.75)}.scroll-reveal-right.revealed{opacity:1;transform:translate(0)}.project-card{transition:all .4s cubic-bezier(.25,.25,.25,.75);transform-origin:center}.project-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 35px 70px #2e8c9e26,0 20px 40px #cba1351a}.project-card:hover .project-image{transform:scale(1.05)}.project-image{transition:transform .6s cubic-bezier(.25,.25,.25,.75);transform-origin:center}.page-transition{transition:all .3s cubic-bezier(.25,.25,.25,.75)}.loading-skeleton{background:linear-gradient(90deg,#ffffff1a,#fff3,#ffffff1a);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #2e8c9e66,0 4px 8px #0000001a}.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}@keyframes gradient-x{0%,to{background-size:200% 200%;background-position:left center}50%{background-size:200% 200%;background-position:right center}}@keyframes floating-elements{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-5px) rotate(1deg) scale(1.02)}50%{transform:translateY(-10px) rotate(0) scale(1)}75%{transform:translateY(-5px) rotate(-1deg) scale(.98)}}@keyframes magnetic-pull{0%{transform:scale(1) rotate(0);filter:brightness(1)}50%{transform:scale(1.05) rotate(1deg);filter:brightness(1.1)}to{transform:scale(1.1) rotate(0);filter:brightness(1.2)}}@keyframes liquid-morph{0%,to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}25%{border-radius:58% 42% 75% 25%/76% 46% 54% 24%}50%{border-radius:50% 50% 33% 67%/55% 27% 73% 45%}75%{border-radius:33% 67% 58% 42%/63% 68% 32% 37%}}.magnetic-hover{transition:all .3s cubic-bezier(.16,1,.3,1)}.magnetic-hover:hover{animation:magnetic-pull .6s cubic-bezier(.16,1,.3,1)}.floating-animation{animation:floating-elements 8s ease-in-out infinite}.liquid-animation{animation:liquid-morph 10s ease-in-out infinite}.text-reveal-mask{overflow:hidden;display:inline-block}.text-glitch{position:relative}.text-glitch:before,.text-glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.text-glitch:before{animation:glitch-1 .5s infinite;color:#ff00c1;z-index:-1}.text-glitch:after{animation:glitch-2 .5s infinite;color:#00fff9;z-index:-2}@keyframes glitch-1{0%,14%,15%,49%,50%,99%,to{transform:translate(0)}15%,49%{transform:translate(-2px)}50%,99%{transform:translate(2px,-1px)}}@keyframes glitch-2{0%,20%,21%,62%,63%,99%,to{transform:translate(0)}21%,62%{transform:translate(2px)}63%,99%{transform:translate(-2px,1px)}}.chip-enhanced{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014,inset 0 1px #ffffff26;font-weight:600;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.chip-enhanced:hover{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 16px #0000002e,0 2px 6px #0000001f,inset 0 1px #fff3;transform:translateY(-2px) scale(1.03);text-shadow:0 1px 3px rgba(0,0,0,.15)}.chip-aqua{background-color:#2e8c9e40!important;border-color:#2e8c9e66!important;color:#1e6b7a!important;font-weight:600!important}.chip-emerald{background-color:#2b6f5c40!important;border-color:#2b6f5c66!important;color:#1e5a4a!important;font-weight:600!important}.chip-golden,.chip-taupe{background-color:#665c5540!important;border-color:#665c5566!important;color:#5a524c!important;font-weight:600!important}.chip-charcoal{background-color:#2e2e2e40!important;border-color:#2e2e2e66!important;color:#2e2e2e!important;font-weight:600!important}.portfolio-glow{position:relative}.portfolio-glow:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:inherit;background:linear-gradient(45deg,#2e8c9e1a,#2b6f5c1a,#cba1351a);z-index:-1;opacity:0;transition:opacity .3s ease}.portfolio-glow:hover:before{opacity:1}.shadow-glow{box-shadow:0 10px 25px #0000001a,0 0 20px #2e8c9e1a}.shadow-glow:hover{box-shadow:0 20px 40px #00000026,0 0 30px #2e8c9e33}.chip-aqua:hover{background-color:#2e8c9e59!important;border-color:#2e8c9e80!important}.chip-emerald:hover{background-color:#2b6f5c59!important;border-color:#2b6f5c80!important}.chip-golden:hover,.chip-taupe:hover{background-color:#665c5559!important;border-color:#665c5580!important}.chip-charcoal:hover{background-color:#2e2e2e59!important;border-color:#2e2e2e80!important}.glass-morphism{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}.glass-morphism-dark{background:#0003;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a}.btn-professional{position:relative;overflow:hidden;transform:translateZ(0);transition:all .3s cubic-bezier(.16,1,.3,1)}.btn-professional:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-professional:hover:before{left:100%}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.floating-animation,.liquid-animation,.magnetic-hover{animation:none!important}}@keyframes text-reveal{0%{opacity:0;transform:translateY(100%) rotateX(-90deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes letter-dance{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(1deg)}75%{transform:translateY(2px) rotate(-1deg)}}@keyframes word-slide{0%{opacity:0;transform:translateY(40px) rotateX(-90deg) scale(.9)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes gradient-text-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes shimmer-wave{0%{background-position:-200% center}to{background-position:200% center}}.animate-text-reveal{animation:text-reveal .8s cubic-bezier(.25,.25,.25,.75) forwards}.animate-letter-dance{animation:letter-dance .6s cubic-bezier(.25,.25,.25,.75) forwards}.animate-word-slide{animation:word-slide .8s cubic-bezier(.25,.25,.25,.75) forwards}.animate-gradient-text{background:linear-gradient(90deg,#2e8c9e,#2b6f5c,#cba135,#2e8c9e);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-text-flow 3s ease-in-out infinite}.animate-shimmer-text{background:linear-gradient(90deg,transparent 0%,rgba(46,140,158,.4) 50%,transparent 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer-wave 2.5s linear infinite}.text-hover-lift:hover{transform:translateY(-2px);text-shadow:0 4px 8px rgba(46,140,158,.3);transition:all .3s cubic-bezier(.25,.25,.25,.75)}.text-hover-gradient:hover{background:linear-gradient(45deg,#2e8c9e,#cba135);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:all .5s cubic-bezier(.25,.25,.25,.75)}.bg-clip-text{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;padding:2px 0!important;line-height:1.1!important}.equal-spacing{letter-spacing:.02em;word-spacing:.1em}.gradient-text-nowrap{white-space:nowrap;display:inline-block;line-height:1.1}.gradient-text-safe{display:block;overflow:visible;min-height:1.3em;padding-bottom:.1em}
