@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#000;overflow-x:hidden}#root{width:100%;min-height:100vh}:root{--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-primary-lighter: #c4b5fd;--color-primary-lightest: #e9d5ff;--color-primary-dark: #7c3aed;--color-primary-darker: #6d28d9;--color-text: #ffffff;--color-text-light: #d1d5db;--color-text-lighter: #9ca3af;--color-bg: #000000;--color-bg-soft: #0a0a0a;--color-bg-accent: #1a1a1a;--color-bg-card: #111111;--color-border: rgba(139, 92, 246, .2);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--spacing-2xl: 8rem;--spacing-3xl: 12rem;--border-radius: 1.5rem;--border-radius-lg: 2rem;--border-radius-xl: 3rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .6), 0 2px 4px -1px rgba(139, 92, 246, .2);--shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, .8), 0 4px 8px -2px rgba(139, 92, 246, .3);--shadow-xl: 0 24px 48px -8px rgba(0, 0, 0, .9), 0 0 60px rgba(139, 92, 246, .2);--glow-primary: 0 0 40px rgba(139, 92, 246, .4);--glow-strong: 0 0 80px rgba(139, 92, 246, .3)}*{margin:0;padding:0;box-sizing:border-box}.landing{width:100%;min-height:100vh;background:#000;color:var(--color-text);overflow-x:hidden;position:relative}.landing>*{width:100%}.landing:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 150% 100% at 0% 0%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse 100% 80% at 100% 30%,rgba(124,58,237,.06) 0%,transparent 50%),radial-gradient(ellipse 120% 100% at 50% 100%,rgba(139,92,246,.05) 0%,transparent 40%);pointer-events:none;z-index:0}.landing:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 10% 20%,rgba(139,92,246,.2) 0%,transparent 40%),radial-gradient(circle at 90% 70%,rgba(124,58,237,.15) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(167,139,250,.1) 0%,transparent 50%);pointer-events:none;z-index:0;animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{transform:translate(0) scale(1);opacity:1}50%{transform:translate(20px,-20px) scale(1.05);opacity:.8}}.container{width:100%;margin:0 auto;padding:0;position:relative;z-index:1}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 0;pointer-events:none}.nav-container{width:100%;margin:0 auto;padding:0 var(--spacing-xl);display:flex;align-items:center;justify-content:center;max-width:100%}.nav-pill{display:flex;align-items:center;gap:.25rem;background:#111111d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:100px;padding:.5rem;pointer-events:auto;box-shadow:0 4px 24px #0006,0 0 0 1px #8b5cf61a,inset 0 1px #ffffff0d}.nav-link{display:flex;align-items:center;gap:.5rem;color:var(--color-text-light);text-decoration:none;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;border-radius:100px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative}.nav-link-icon{display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .3s ease}.nav-link:hover{color:var(--color-text);background:#8b5cf626}.nav-link:hover .nav-link-icon{opacity:1;color:var(--color-primary-light)}.nav-divider{width:1px;height:24px;background:var(--color-border);margin:0 .5rem}.nav-link-cta{background:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 0 20px #8b5cf64d}.nav-link-cta .nav-link-icon{opacity:1}.nav-link-cta:hover{background:var(--color-primary-light);color:#fff;transform:scale(1.02);box-shadow:0 0 30px #8b5cf680}@keyframes fadeInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.6}}.animate-in{animation:fadeInUp 1s cubic-bezier(.16,1,.3,1) forwards}.section-header.animate-in{animation:fadeIn .8s ease-out forwards}.hero{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) 0 var(--spacing-2xl);padding-top:calc(var(--spacing-lg) + 100px);position:relative;overflow:hidden}.hero:before{display:none}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;pointer-events:none}.gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.08;animation:float 25s ease-in-out infinite}.orb-1{width:600px;height:600px;background:radial-gradient(circle,#8b5cf61a,#c4b5fd0d);top:-200px;right:-200px;animation-delay:0s}.orb-2{width:500px;height:500px;background:radial-gradient(circle,#c4b5fd14,#e9d5ff0a);bottom:-150px;left:-150px;animation-delay:8s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,#e9d5ff0f,#c4b5fd08);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:4s}.particles{display:none}.hero-container{width:100%;padding:0 var(--spacing-xl);position:relative;z-index:1;max-width:100%}.hero-content{opacity:0}.hero-content.animate-in{opacity:1}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:2rem;font-size:.875rem;font-weight:500;color:var(--color-text-light);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:pulse 2s ease-in-out infinite}.hero-main{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-2xl);align-items:center;max-width:1200px;margin:0 auto}.hero-avatar-section{display:flex;align-items:center}.avatar-wrapper{width:240px;height:240px;border-radius:50%;position:relative;background:var(--color-bg-card);padding:4px;box-shadow:var(--shadow-xl),var(--glow-primary);transition:transform .4s cubic-bezier(.34,1.56,.64,1);border:2px solid var(--color-primary)}.avatar-wrapper:hover{transform:scale(1.05)}.avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;background-color:var(--color-bg-card);display:block}.hero-text-section{max-width:800px}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1;margin-bottom:var(--spacing-lg);color:var(--color-text);letter-spacing:-.03em}.title-accent{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.hero-text{margin-bottom:var(--spacing-lg)}.hero-text p{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.7;color:var(--color-text-light);margin-bottom:var(--spacing-md)}.hero-text strong{color:var(--color-text);font-weight:600}.hero-cta-group{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.scroll-indicator{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-text-lighter);font-size:.875rem;font-weight:500}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--color-text-lighter),transparent);animation:pulse 2s ease-in-out infinite}.cta-primary{background:var(--color-primary);color:#fff;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:2rem;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-md),var(--glow-primary);font-family:inherit;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.cta-primary:hover{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--glow-strong)}.cta-primary svg{transition:transform .3s ease}.cta-primary:hover svg{transform:translate(4px)}.cta-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:2rem;cursor:pointer;transition:all .3s ease;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.cta-secondary:hover{background:var(--color-bg-card);border-color:var(--color-primary);color:var(--color-primary-light)}.cta-linkedin{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:.5rem;background:#111111e6;border:2px solid rgba(139,92,246,.3);border-radius:100px;color:var(--color-text-light);transition:all .4s cubic-bezier(.34,1.56,.64,1);text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cta-linkedin:hover{transform:scale(1.15);background:#0a66c240;border-color:#0a66c2;color:#fff;box-shadow:0 0 40px #0a66c280,0 0 80px #0a66c233,0 15px 50px #0006}.cta-large{padding:1.25rem 2.5rem;font-size:1.125rem}.section{width:100%;padding:var(--spacing-lg) 0;position:relative;z-index:1}.section-header{text-align:center;margin-bottom:var(--spacing-2xl);opacity:0;padding:0 var(--spacing-xl)}.section-header.animate-in{opacity:1}.section-badge{display:inline-block;padding:.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:2rem;font-size:.875rem;font-weight:500;color:var(--color-text-light);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.section-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text);letter-spacing:-.02em;line-height:1.1}.section-subtitle{font-size:1.125rem;color:var(--color-text-light);max-width:700px;margin:0 auto;line-height:1.6}.skills-section{width:100%;min-height:auto;padding:var(--spacing-lg) 0;position:relative;overflow:hidden}.skills-section:before{display:none}.skills-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--spacing-xl);margin-bottom:var(--spacing-md);padding:0 var(--spacing-xl);position:relative;z-index:1;opacity:0}.skills-header.animate-in{opacity:1;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.skills-intro{max-width:500px}.skills-label{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:.75rem;padding:.375rem .75rem;background:#8b5cf626;border-radius:100px}.skills-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--color-text);margin-bottom:.75rem;letter-spacing:-.02em;line-height:1.1}.skills-description{font-size:1rem;color:var(--color-text-light);line-height:1.6;margin:0}.skills-tabs-wrapper{flex-shrink:0}.skills-tabs{display:flex;gap:.5rem;background:var(--color-bg-card);padding:.375rem;border-radius:100px;border:1px solid var(--color-border)}.skill-tab{background:transparent;border:none;color:var(--color-text-light);padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:.625rem;border-radius:100px;position:relative;font-family:inherit}.skill-tab:hover{color:var(--color-text)}.skill-tab.active{color:var(--color-text);background:var(--color-primary);box-shadow:0 0 20px #8b5cf666}.skill-tab-icon{display:flex;align-items:center;justify-content:center;font-size:1rem}.skill-tab-icon svg{width:14px;height:14px}.skill-tab-name{position:relative;z-index:1}.skill-tab-count{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:100px;background:#ffffff1a;transition:all .3s ease}.skill-tab.active .skill-tab-count{background:#ffffff40}.skills-container{display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;z-index:1;padding:0 var(--spacing-xl);overflow:visible}.skills-gallery{display:grid;justify-content:center;justify-items:center;gap:1.5rem;padding:0 var(--spacing-xl);width:100%;margin:0 auto;box-sizing:border-box}.skills-gallery-expertises{grid-template-columns:repeat(6,120px)}.skills-gallery-tools{grid-template-columns:repeat(9,120px)}.skills-gallery-languages{grid-template-columns:repeat(3,120px)}.skill-card-pill{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;background:linear-gradient(145deg,#141414f2,#0a0a0afa);border:1px solid rgba(139,92,246,.15);border-radius:.75rem;transition:all .4s cubic-bezier(.34,1.56,.64,1);opacity:0;animation:skillCardAppear .5s ease forwards;position:relative;overflow:hidden;width:120px;min-width:120px;max-width:120px;flex-shrink:0}.skill-card-pill:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:0;transition:opacity .3s ease}.skill-card-pill:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(139,92,246,.1) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}@keyframes skillCardAppear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.skill-card-pill.clickable{cursor:pointer}.skill-card-pill:hover{transform:translateY(-8px) scale(1.02);border-color:#8b5cf666;box-shadow:0 20px 40px #0006,0 0 40px #8b5cf626}.skill-card-pill:hover:before{opacity:1}.skill-card-pill:hover:after{opacity:1}.skill-card-pill.clickable:hover{border-color:var(--color-primary);box-shadow:0 20px 50px #00000080,0 0 60px #8b5cf640}.skill-card-pill-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-darker) 100%);border-radius:.75rem;color:#fff;flex-shrink:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;box-shadow:0 4px 12px #8b5cf64d,inset 0 1px #fff3;position:relative;z-index:1}.skill-card-pill-icon:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);border-radius:inherit}.skill-card-pill-icon svg{width:20px;height:20px;position:relative;z-index:1}.skill-card-pill:hover .skill-card-pill-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 30px #8b5cf680,inset 0 1px #ffffff4d}.skill-flag-icon{width:24px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 2px 6px #0000004d}.skill-tool-icon{width:22px;height:22px;object-fit:contain;filter:brightness(1.1)}.skill-tool-icon-direct{filter:none;border-radius:6px;object-fit:contain}.tool-fallback{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);border:none;border-radius:8px;font-size:.9rem;font-weight:700;color:#fff;text-transform:uppercase;box-shadow:0 2px 8px #8b5cf64d}.skill-card-pill-title{font-size:.75rem;font-weight:600;color:var(--color-text);text-align:center;line-height:1.2;position:relative;z-index:1;max-width:90px}.skill-card-pill-level{font-size:.6rem;font-weight:600;color:#fff;padding:.15rem .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:100px;box-shadow:0 2px 6px #8b5cf64d;position:relative;z-index:1}.skill-card-pill:nth-child(1){animation-delay:0s}.skill-card-pill:nth-child(2){animation-delay:.05s}.skill-card-pill:nth-child(3){animation-delay:.1s}.skill-card-pill:nth-child(4){animation-delay:.15s}.skill-card-pill:nth-child(5){animation-delay:.2s}.skill-card-pill:nth-child(6){animation-delay:.25s}.skill-card-pill:nth-child(7){animation-delay:.3s}.skill-card-pill:nth-child(8){animation-delay:.35s}.skill-card-pill:nth-child(9){animation-delay:.4s}.skill-card-pill:nth-child(10){animation-delay:.45s}.skill-card-pill:nth-child(11){animation-delay:.5s}.skill-card-pill:nth-child(12){animation-delay:.55s}.skill-card-pill:nth-child(13){animation-delay:.6s}.skill-card-pill:nth-child(14){animation-delay:.65s}.skill-card-pill:nth-child(15){animation-delay:.7s}.skill-card-pill:nth-child(16){animation-delay:.75s}.skill-card-pill:nth-child(17){animation-delay:.8s}@media(max-width:1400px){.skills-gallery-tools{grid-template-columns:repeat(6,120px)}}@media(max-width:1024px){.skills-gallery{gap:1rem}.skills-gallery-expertises{grid-template-columns:repeat(4,120px)}.skills-gallery-tools{grid-template-columns:repeat(5,120px)}}@media(max-width:768px){.skills-gallery{gap:.75rem;padding:0 var(--spacing-md)}.skills-gallery-expertises,.skills-gallery-tools,.skills-gallery-languages{grid-template-columns:repeat(3,100px)}.skill-card-pill{padding:.75rem .5rem;width:100px;min-width:100px;max-width:100px}.skill-card-pill-icon{width:32px;height:32px}.skill-card-pill-icon svg{width:16px;height:16px}.skill-flag-icon{width:20px;height:14px}.skill-tool-icon{width:18px;height:18px}.skill-card-pill-title{font-size:.65rem;max-width:70px}.skill-card-pill-level{font-size:.55rem;padding:.1rem .4rem}}.skills-cloud{position:relative;width:100%;height:420px;margin-top:-1rem}.cloud-bubble{position:absolute;transform:translate(-50%,-50%);opacity:0;animation:cloudAppear .5s cubic-bezier(.34,1.56,.64,1) forwards,cloudFloat var(--float-duration, 5s) ease-in-out infinite;animation-delay:var(--anim-delay, 0s),var(--float-delay, 0s)}@keyframes cloudAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes cloudFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}.skill-bubble{display:flex;align-items:center;gap:0;padding:.5rem;background:#111111e6;border:2px solid rgba(139,92,246,.3);border-radius:100px;cursor:pointer;position:relative;transition:all .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.skill-bubble:hover{transform:scale(1.3)!important;background:#8b5cf640;border-color:var(--color-primary);box-shadow:0 0 40px #8b5cf680,0 0 80px #8b5cf633,0 15px 50px #0006;z-index:100;gap:.75rem;padding:.5rem 1.25rem .5rem .5rem}.skill-bubble-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf64d,#7c3aed33);color:var(--color-primary-light);flex-shrink:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.skill-bubble:hover .skill-bubble-icon{transform:scale(1.1);box-shadow:0 0 20px #8b5cf680}.skill-bubble-icon img{width:28px;height:28px;object-fit:contain}.skill-bubble-icon svg{width:24px;height:24px}.skill-bubble-info{display:flex;flex-direction:column;gap:.125rem;max-width:0;overflow:hidden;opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);white-space:nowrap}.skill-bubble:hover .skill-bubble-info{max-width:200px;opacity:1}.skill-bubble-name{font-size:.9375rem;font-weight:600;color:var(--color-text)}.skill-bubble-level{font-size:.75rem;color:var(--color-primary-light);font-weight:500}.skill-bubble:nth-child(3n+1) .skill-bubble-icon{width:52px;height:52px}.skill-bubble:nth-child(3n+2) .skill-bubble-icon{width:44px;height:44px}.skill-flag{width:100%;height:100%;object-fit:cover;border-radius:50%}.skill-logo{width:100%;height:100%;object-fit:contain}.projects-section{width:100%;min-height:auto;padding:var(--spacing-lg) 0;position:relative}.projects-section:before{display:none}.projects-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding:0 var(--spacing-xl);position:relative;z-index:1;opacity:0}.projects-header.animate-in{opacity:1;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.projects-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--color-text);margin:0;letter-spacing:-.02em}.projects-filters{display:flex;align-items:center;gap:1rem}.projects-tabs{display:flex;gap:.25rem;background:var(--color-bg-card);padding:.375rem;border-radius:.75rem;border:1px solid var(--color-border)}.project-tab{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--color-text-light);padding:.625rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);border-radius:.5rem;font-family:inherit}.project-tab svg{opacity:.6;transition:opacity .3s ease}.project-tab:hover{color:var(--color-text);background:#8b5cf61a}.project-tab:hover svg{opacity:1}.project-tab.active{color:var(--color-text);background:var(--color-bg-accent);border:1px solid var(--color-border)}.project-tab.active svg{opacity:1;color:var(--color-primary)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;position:relative;z-index:1;padding:0 var(--spacing-xl)}.project-card{background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(26,26,26,.8) 100%);padding:1.5rem;border-radius:1rem;border:1px solid var(--color-border);transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1rem;opacity:0;transform:translateY(15px);position:relative;overflow:hidden;animation:skillCardIn .6s cubic-bezier(.16,1,.3,1) forwards;cursor:pointer}.project-card.animate-in{opacity:1;transform:translateY(0)}.project-card:hover{border-color:#8b5cf64d;transform:translateY(-4px);box-shadow:0 8px 32px #0000004d,0 0 0 1px #8b5cf626}.project-title{font-size:1.125rem;font-weight:600;color:var(--color-text);line-height:1.4;margin:0;transition:color .3s ease}.project-card:hover .project-title{color:var(--color-primary-light)}.project-description{color:var(--color-text-light);line-height:1.7;margin:0;font-size:.9375rem}.project-description strong{color:var(--color-primary-light);font-weight:500}.project-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.project-tool{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-light);background:#8b5cf614;padding:.375rem .75rem;border-radius:.5rem;border:1px solid rgba(139,92,246,.15);transition:all .3s ease}.project-tool:hover{background:#8b5cf626;border-color:#8b5cf64d}.tool-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--color-primary-light)}.tool-icon-img{width:18px;height:18px;object-fit:contain}.tool-icon-direct{filter:none;border-radius:4px;object-fit:contain;background:#ffffffe6;padding:2px}@media(max-width:1024px){.projects-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.projects-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.projects-header,.projects-grid{padding:0 var(--spacing-md)}}.testimonials-section{width:100%;min-height:auto;padding:var(--spacing-lg) 0;position:relative}.testimonials-section:before{display:none}.section-header-centered{text-align:center;margin-bottom:var(--spacing-lg);opacity:0}.section-header-centered.animate-in{opacity:1;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.section-header-centered .skills-label{display:inline-block;margin-bottom:.75rem}.section-header-centered .skills-title{margin-bottom:0}.testimonials-carousel-wrapper{position:relative;display:flex;align-items:center;gap:1rem;padding:0 var(--spacing-md)}.carousel-arrow{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#111111e6;border:1px solid rgba(139,92,246,.3);color:var(--color-text-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10}.carousel-arrow:hover{background:#8b5cf633;border-color:var(--color-primary);color:#fff;transform:scale(1.1);box-shadow:0 0 20px #8b5cf666}.carousel-arrow:active{transform:scale(.95)}.testimonials-carousel{flex:1;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.testimonials-carousel::-webkit-scrollbar{display:none}.testimonials-track{display:flex;gap:1rem;width:max-content;padding:.5rem 0;animation:scrollTestimonials 60s linear infinite}.testimonials-carousel:hover .testimonials-track{animation-play-state:paused}@keyframes scrollTestimonials{0%{transform:translate(0)}to{transform:translate(-33.33%)}}.testimonial-slide{flex-shrink:0;width:320px;min-height:220px;padding:1.25rem;background:linear-gradient(145deg,#111111f2,#0a0a0afa);border:1px solid rgba(139,92,246,.15);border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column}.testimonial-slide:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 12px 30px #0000004d,0 0 20px #8b5cf626}.testimonial-slide-flag{position:absolute;top:.75rem;right:.75rem;font-size:1rem;opacity:.7}.testimonial-slide-text{font-size:.85rem;line-height:1.6;color:var(--color-text-light);font-style:italic;flex:1;min-height:7em;overflow:hidden}.testimonial-slide-author{display:flex;flex-direction:column;gap:.125rem;padding-top:.75rem;border-top:1px solid rgba(139,92,246,.1);margin-top:auto}.testimonial-slide-name{font-size:.85rem;font-weight:600;color:var(--color-text)}.testimonial-slide-role{font-size:.75rem;color:var(--color-text-lighter)}.testimonial-card{background:linear-gradient(145deg,#111111e6,#0a0a0af2);padding:var(--spacing-md);border-radius:var(--border-radius);border:1px solid rgba(139,92,246,.15);transition:all .4s cubic-bezier(.34,1.56,.64,1);opacity:0;transform:translateY(20px);position:relative;overflow:hidden}.testimonial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);opacity:0;transition:opacity .3s ease}.testimonial-card.animate-in{opacity:1;transform:translateY(0)}.testimonial-card:hover{transform:translateY(-4px);border-color:#8b5cf64d;box-shadow:0 20px 40px #0006,0 0 30px #8b5cf61a}.testimonial-card:hover:before{opacity:1}.testimonial-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);position:relative}.testimonial-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #8b5cf64d}.testimonial-meta{flex:1}.testimonial-quote-icon{color:var(--color-primary);opacity:.3;transition:opacity .3s ease}.testimonial-card:hover .testimonial-quote-icon{opacity:.6}.author-name{font-weight:600;color:var(--color-text);font-size:.9rem;line-height:1.3}.author-role{font-size:.75rem;color:var(--color-text-lighter);margin-top:1px}.testimonial-text{font-size:.9rem;line-height:1.6;color:var(--color-text-light);font-style:italic;position:relative;margin:0}.testimonial-card.clickable{cursor:pointer}.testimonial-read-more{display:flex;align-items:center;gap:.5rem;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid rgba(139,92,246,.1);color:var(--color-primary);font-size:.875rem;font-weight:500;font-style:normal;transition:all .3s ease}.testimonial-card:hover .testimonial-read-more{color:var(--color-primary-light)}.testimonial-read-more svg{transition:transform .3s ease}.testimonial-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-md);animation:fadeIn .3s ease}.testimonial-modal{background:linear-gradient(145deg,var(--color-bg-card) 0%,var(--color-bg-soft) 100%);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);max-width:650px;width:100%;max-height:85vh;overflow:hidden;position:relative;animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-xl),var(--glow-primary);display:flex;flex-direction:column}.testimonial-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px;border:1px solid var(--color-border);background:var(--color-bg-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-text-lighter);z-index:1}.testimonial-modal-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:rotate(90deg)}.testimonial-modal-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.testimonial-avatar.large{width:48px;height:48px;font-size:1rem;border-radius:12px}.testimonial-modal-meta{flex:1}.testimonial-modal-meta .author-name{font-size:1.1rem;margin-bottom:2px}.testimonial-modal-meta .author-role{font-size:.9rem}.testimonial-modal-content{padding:var(--spacing-md) var(--spacing-lg);position:relative;overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none}.testimonial-modal-content::-webkit-scrollbar{display:none}.testimonial-modal-text{font-size:.95rem;line-height:1.7;color:var(--color-text-light);font-style:italic;margin:0;font-weight:400}.testimonial-modal-expertises{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(139,92,246,.15)}.testimonial-modal-expertises-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-lighter);margin-bottom:var(--spacing-xs)}.testimonial-modal-tags{display:flex;flex-wrap:wrap;gap:.5rem}.testimonial-modal-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:100px;font-size:.75rem;font-weight:500;color:var(--color-primary-light);transition:all .2s ease}.testimonial-modal-tag:hover{background:#8b5cf633;border-color:var(--color-primary)}@media(max-width:768px){.testimonial-modal{max-height:90vh;margin:var(--spacing-sm)}.testimonial-modal-header,.testimonial-modal-content{padding:var(--spacing-md)}.testimonial-avatar.large{width:52px;height:52px;font-size:1rem}.testimonial-modal-close{top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px}}.cta-section{width:100%;min-height:auto;padding:var(--spacing-xl) 0;position:relative;display:flex;align-items:center;justify-content:center}.cta-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.1) 0%,transparent 60%);pointer-events:none;z-index:0}.cta-content{text-align:center;max-width:800px;margin:0 auto;opacity:0;padding:0 var(--spacing-xl)}.cta-content.animate-in{opacity:1}.cta-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:2rem;font-size:.875rem;font-weight:500;color:var(--color-text-light);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.cta-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text);letter-spacing:-.02em;line-height:1.1}.cta-description{font-size:1.125rem;color:var(--color-text-light);line-height:1.7;margin-bottom:var(--spacing-lg)}.cta-buttons{display:flex;justify-content:center;gap:var(--spacing-md)}.footer{padding:var(--spacing-lg) 0}.footer-content{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-xl)}.footer-logo{font-size:1.25rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.footer-text{color:var(--color-text-lighter);font-size:.875rem}@media(max-width:1024px){.hero-main{grid-template-columns:1fr;gap:var(--spacing-xl);text-align:center}.hero-avatar-section{position:relative;top:0;display:flex;justify-content:center}.avatar-wrapper{width:200px;height:200px}.hero-cta-group{flex-direction:column;width:100%}.cta-primary,.cta-secondary{width:100%;justify-content:center}}@media(max-width:768px){.nav-pill{padding:.375rem;gap:.125rem}.nav-link{padding:.5rem .75rem;font-size:.8125rem}.nav-link-icon{display:none}.nav-divider{margin:0 .25rem;height:20px}.hero{padding:calc(var(--spacing-md) + 80px) 0 var(--spacing-xl)}.section{padding:var(--spacing-md) 0}.skills-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);padding:0 var(--spacing-md)}.skills-tabs-wrapper{width:100%}.skills-tabs{width:100%;justify-content:center}.skills-cloud{height:350px}.skill-bubble-icon{width:40px;height:40px}.skill-bubble-icon svg{width:20px;height:20px}.skill-bubble-icon img{width:24px;height:24px}.skills-container{padding:0 var(--spacing-md)}.testimonials-carousel-wrapper{padding:0 var(--spacing-sm);gap:.5rem}.carousel-arrow{width:40px;height:40px}.carousel-arrow svg{width:16px;height:16px}.testimonial-slide{width:280px;padding:1rem}.testimonial-avatar{width:40px;height:40px;font-size:.875rem}.container,.nav-container,.hero-container,.skills-container,.section-header,.cta-content{padding:0 var(--spacing-md)}.hero-cta-group{flex-direction:column;width:100%}.cta-primary,.cta-secondary{width:100%;justify-content:center}.footer-content{flex-direction:column;gap:var(--spacing-sm);text-align:center;padding:0 var(--spacing-md)}}@media(max-width:480px){.avatar-wrapper{width:160px;height:160px}.gradient-orb{filter:blur(60px)}.orb-1{width:400px;height:400px}.orb-2{width:300px;height:300px}.orb-3{width:250px;height:250px}}html{scroll-behavior:smooth}.avatar-wrapper,.skill-card,.project-card,.testimonial-card,.cta-primary{will-change:transform}.skill-bubble.skill-clickable{cursor:pointer;position:relative}.skill-bubble.skill-clickable:hover{transform:scale(1.15);box-shadow:0 0 30px #8b5cf680}.skill-bubble.skill-clickable:active{transform:scale(1.1)}.skill-bubble-hint{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:all .3s ease}.skill-bubble.skill-clickable:hover .skill-bubble-hint{opacity:1;transform:scale(1)}.skill-bubble-hint svg{color:#fff}.expertise-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-md);animation:fadeIn .3s ease}.expertise-modal{background:linear-gradient(145deg,var(--color-bg-card) 0%,var(--color-bg-soft) 100%);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);max-width:700px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-xl),var(--glow-primary);scrollbar-width:none;-ms-overflow-style:none}.expertise-modal::-webkit-scrollbar{display:none}.expertise-modal-category{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);background:#8b5cf61a;padding:.25rem .75rem;border-radius:1rem;margin-bottom:.75rem}.expertise-modal-section{margin-bottom:var(--spacing-md)}.expertise-modal-section-title{font-size:.9rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.expertise-modal-section-title:before{content:"";width:3px;height:1em;background:var(--color-primary);border-radius:2px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.expertise-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px;border:1px solid var(--color-border);background:var(--color-bg-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-text-lighter);z-index:1}.expertise-modal-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:rotate(90deg)}.expertise-modal-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--color-border)}.expertise-modal-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding-right:50px}.expertise-modal-content{padding:var(--spacing-md) var(--spacing-lg)}.expertise-modal-intro{font-size:.9rem;line-height:1.7;color:var(--color-text-light)}.expertise-modal-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.expertise-modal-item{font-size:.875rem;color:var(--color-text-light);padding-left:1.5rem;position:relative;line-height:1.5}.expertise-modal-item:before{content:"→";position:absolute;left:0;color:var(--color-primary)}.expertise-modal-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-lighter);font-style:italic;display:flex;align-items:center;gap:.5rem}.expertise-modal-footer svg{flex-shrink:0;opacity:.7}.expertise-modal-actions{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);display:flex;justify-content:center}.expertise-modal-cta{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 20px #8b5cf666}.expertise-modal-cta:hover{transform:translateY(-2px);box-shadow:0 6px 30px #8b5cf699}.expertise-modal-cta:active{transform:translateY(0)}@media(max-width:768px){.expertise-modal{max-height:90vh;margin:var(--spacing-sm)}.expertise-modal-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm)}.expertise-modal-content{padding:var(--spacing-sm) var(--spacing-md)}.expertise-modal-actions{padding:var(--spacing-md)}.expertise-modal-close{top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px}}.project-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-md);animation:fadeIn .3s ease}.project-modal{background:linear-gradient(145deg,var(--color-bg-card) 0%,var(--color-bg-soft) 100%);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);max-width:700px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-xl),var(--glow-primary);scrollbar-width:none;-ms-overflow-style:none}.project-modal::-webkit-scrollbar{display:none}.project-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px;border:1px solid var(--color-border);background:var(--color-bg-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-text-lighter);z-index:1}.project-modal-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:rotate(90deg)}.project-modal-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--color-border)}.project-modal-category{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);background:#8b5cf61a;padding:.25rem .75rem;border-radius:1rem;margin-bottom:.75rem}.project-modal-title{font-size:clamp(1.25rem,4vw,1.75rem);font-weight:700;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3}.project-modal-content{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg)}.project-modal-section{margin-bottom:var(--spacing-md)}.project-modal-section-title{font-size:.9rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.project-modal-section-title:before{content:"";width:3px;height:1em;background:var(--color-primary);border-radius:2px}.project-modal-text{font-size:.9rem;line-height:1.7;color:var(--color-text-light)}.project-modal-reporting{font-size:.85rem;color:var(--color-primary-light);margin-top:.5rem}.project-modal-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.project-modal-item{font-size:.875rem;color:var(--color-text-light);padding-left:1.5rem;position:relative;line-height:1.5}.project-modal-item:before{content:"→";position:absolute;left:0;color:var(--color-primary)}.project-modal-tools{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.project-modal-tools-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.project-modal-tool{font-size:.8rem;color:var(--color-text-light);background:#8b5cf61a;padding:.375rem .75rem;border-radius:.5rem;border:1px solid rgba(139,92,246,.2)}@media(max-width:768px){.project-modal{max-height:90vh;margin:var(--spacing-sm)}.project-modal-header,.project-modal-content{padding:var(--spacing-md)}.project-modal-close{top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px}.card-click-indicator:after,.card-click-indicator:before{display:none}.card-click-indicator{width:28px;height:28px}.card-click-indicator svg{width:12px;height:12px}}.card-click-indicator{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#8b5cf633;border:2px solid var(--color-primary);border-radius:50%;color:var(--color-primary);opacity:.8;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:1;box-shadow:0 0 #8b5cf666;animation:pulseIndicator 2s ease-in-out infinite}@keyframes pulseIndicator{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 8px #8b5cf600}}.card-click-indicator svg{transition:transform .3s ease;width:14px;height:14px}.card-click-indicator:after{content:"Voir plus";position:absolute;right:calc(100% + .75rem);white-space:nowrap;background:var(--color-primary);color:#fff;padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;opacity:0;transform:translate(-10px);transition:all .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 4px 12px #8b5cf666}.card-click-indicator:before{content:"";position:absolute;right:calc(100% - 4px);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid var(--color-primary);opacity:0;transform:translate(-10px);transition:all .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.project-card:hover .card-click-indicator,.mindmap-node:hover .card-click-indicator,.testimonial-slide:hover .card-click-indicator{opacity:1;background:var(--color-primary);border-color:var(--color-primary-light);color:#fff;transform:scale(1.15);box-shadow:0 0 0 4px #8b5cf64d,0 4px 16px #8b5cf666;animation:none}.project-card:hover .card-click-indicator:after,.mindmap-node:hover .card-click-indicator:after{opacity:1;transform:translate(0)}.project-card:hover .card-click-indicator:before,.mindmap-node:hover .card-click-indicator:before{opacity:1;transform:translate(0)}.project-card:hover .card-click-indicator svg,.mindmap-node:hover .card-click-indicator svg,.testimonial-slide:hover .card-click-indicator svg{transform:translate(2px,-2px) rotate(45deg)}.testimonial-indicator{top:auto;bottom:.75rem;right:.75rem}.skill-card-pill .card-click-indicator{top:.5rem;right:.5rem;width:28px;height:28px}.skill-card-pill .card-click-indicator svg{width:12px;height:12px}.skill-card-pill .card-click-indicator:after{font-size:.7rem;padding:.3rem .6rem}.mindmap-container{position:relative;width:100%;max-width:900px;height:500px;margin:0 auto}.mindmap-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.mindmap-line{stroke:#8b5cf633;stroke-width:1.5;stroke-dasharray:200;stroke-dashoffset:200;animation:drawLine .8s ease forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.mindmap-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 40px #8b5cf666,0 0 80px #8b5cf633;animation:pulseCenter 3s ease-in-out infinite}.mindmap-center span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff}@keyframes pulseCenter{0%,to{box-shadow:0 0 40px #8b5cf666,0 0 80px #8b5cf633}50%{box-shadow:0 0 50px #8b5cf680,0 0 100px #8b5cf64d}}.mindmap-nodes{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.mindmap-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(145deg,#141414f2,#0a0a0afa);border:1px solid rgba(139,92,246,.2);border-radius:1rem;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);opacity:0;animation:nodeAppear .5s ease forwards;min-width:90px;max-width:110px}@keyframes nodeAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.mindmap-node:hover{border-color:var(--color-primary);transform:translate(-50%,-50%) scale(1.1);box-shadow:0 10px 40px #8b5cf64d,0 0 20px #8b5cf633;z-index:10}.mindmap-node-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);border-radius:10px;color:var(--color-primary)}.mindmap-node-icon svg{width:20px;height:20px}.mindmap-node-label{font-size:.7rem;font-weight:500;color:var(--color-text-light);text-align:center;line-height:1.3}.mindmap-node-indicator{position:absolute;top:.4rem;right:.4rem}.mindmap-node-indicator:after{font-size:.7rem;padding:.3rem .6rem}@media(max-width:768px){.mindmap-container{height:400px}.mindmap-center{width:70px;height:70px}.mindmap-center span{font-size:.6rem}.mindmap-node{min-width:70px;max-width:85px;padding:.5rem}.mindmap-node-icon{width:28px;height:28px}.mindmap-node-icon svg{width:14px;height:14px}.mindmap-node-label{font-size:.6rem}}#root{max-width:none;width:100%;margin:0;padding:0;text-align:initial}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
