:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #222222;--text-secondary: #666666;--text-muted: #888888;--accent-primary: #AA5149;--accent-secondary: #934741;--border-color: #dee2e6;--shadow-light: rgba(0, 0, 0, .08);--shadow-medium: rgba(0, 0, 0, .15);--shadow-heavy: rgba(0, 0, 0, .25);--toggle-bg: #e9ecef;--toggle-border: #dee2e6;--toggle-thumb-bg: #ffffff;--gradient-primary: linear-gradient(135deg, #AA5149 0%, #934741 100%);--gradient-secondary: linear-gradient(135deg, #64748b 0%, #475569 100%);--gradient-accent: linear-gradient(135deg, #C65E54 0%, #AA5149 100%);--modern-bg: #f8f9fa;--modern-card-bg: #ffffff;--modern-card-hover: #f0f2f5;--modern-text-primary: #1a1a1a;--modern-text-secondary: #4a5568;--modern-accent: #AA5149;--modern-accent-light: rgba(170, 81, 73, .1);--modern-border: #e2e8f0;--modern-shadow: rgba(0, 0, 0, .1);--modern-glow: rgba(170, 81, 73, .15);--modern-glow-strong: rgba(170, 81, 73, .25);--modern-glow-subtle: rgba(170, 81, 73, .08);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--bounce: cubic-bezier(.68, -.55, .265, 1.55);--elastic: cubic-bezier(.175, .885, .32, 1.275);--smooth: cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #404040;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #999999;--accent-primary: #C65E54;--accent-secondary: #D67066;--border-color: #404040;--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .5);--shadow-heavy: rgba(0, 0, 0, .7);--toggle-bg: #404040;--toggle-border: #666666;--toggle-thumb-bg: #ffffff;--gradient-primary: linear-gradient(135deg, #C65E54 0%, #AA5149 100%);--gradient-secondary: linear-gradient(135deg, #64748b 0%, #475569 100%);--gradient-accent: linear-gradient(135deg, #D67066 0%, #C65E54 100%);--modern-bg: #11121a;--modern-card-bg: #23243a;--modern-card-hover: #2a2b42;--modern-text-primary: #ffffff;--modern-text-secondary: #e0dde8;--modern-accent: #C65E54;--modern-accent-light: rgba(198, 94, 84, .1);--modern-border: #2a2b42;--modern-shadow: rgba(0, 0, 0, .3);--modern-glow: rgba(198, 94, 84, .3);--modern-glow-strong: rgba(198, 94, 84, .4);--modern-glow-subtle: rgba(198, 94, 84, .15)}*{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}button,a,.btn,.nav-list button,.social-link{transition:all var(--transition-normal) var(--smooth)}button:hover,a:hover,.btn:hover,.nav-list button:hover,.social-link:hover{transform:translateY(-2px)}.hero-card,.project-card,.skill-card,.timeline-item{transition:all var(--transition-normal) var(--smooth)}.hero-card:hover,.project-card:hover,.skill-card:hover,.timeline-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px var(--shadow-medium)}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}::selection{background-color:var(--accent-primary);color:#fff}::-moz-selection{background-color:var(--accent-primary);color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto}@media (max-width: 768px){.section-title{font-size:2rem}.container{padding:0 1rem}}@media (max-width: 480px){.section-title{font-size:1.75rem}.container{padding:0 .75rem}}@media (max-width: 768px){button,a,input,textarea{min-height:44px;min-width:44px}body{font-size:16px}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}}html{scroll-behavior:smooth}button:focus,input:focus,textarea:focus{outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.theme-toggle{background:none;border:none;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.toggle-track{width:50px;height:26px;background:var(--toggle-bg);border-radius:13px;position:relative;transition:background-color .3s ease;border:2px solid var(--toggle-border)}.toggle-thumb{width:20px;height:20px;background:var(--toggle-thumb-bg);border-radius:50%;position:absolute;top:1px;left:1px;transition:transform .3s ease,background-color .3s ease;display:flex;align-items:center;justify-content:center;font-size:12px}[data-theme=dark] .toggle-thumb{transform:translate(24px)}.sun-icon,.moon-icon{opacity:.8;transition:opacity .3s ease}.theme-toggle:hover .sun-icon,.theme-toggle:hover .moon-icon{opacity:1}@media (max-width: 768px){.theme-toggle{min-width:44px;min-height:44px}.toggle-track{width:45px;height:24px}.toggle-thumb{width:18px;height:18px;font-size:11px}[data-theme=dark] .toggle-thumb{transform:translate(21px)}}@media (max-width: 480px){.theme-toggle{min-width:40px;min-height:40px}.toggle-track{width:40px;height:22px}.toggle-thumb{width:16px;height:16px;font-size:10px}[data-theme=dark] .toggle-thumb{transform:translate(18px)}}.social-links{display:flex;gap:1rem;align-items:center}.social-link{position:relative;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text-primary);transition:all var(--transition-normal);animation:fadeInUp .6s ease forwards;animation-delay:var(--delay);opacity:0;transform:translateY(20px);border-radius:50%;padding:.5rem}.social-link:hover{color:var(--text-primary);transform:translateY(-3px) scale(1.15);background:var(--bg-secondary);box-shadow:0 8px 25px var(--shadow-medium)}.social-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal) var(--elastic)}.social-link:hover .social-icon{transform:scale(1.2) rotate(5deg)}.social-links-small .social-icon{width:18px;height:18px}.social-links-medium .social-icon{width:24px;height:24px}.social-links-large .social-icon{width:32px;height:32px}@media (max-width: 768px){.social-links{gap:.75rem;justify-content:center}.social-link{padding:.4rem;min-width:44px;min-height:44px}.social-links-large .social-icon{width:28px;height:28px}.social-links-medium .social-icon{width:22px;height:22px}}@media (max-width: 480px){.social-links{gap:.5rem;justify-content:center}.social-link{padding:.35rem;min-width:40px;min-height:40px}.social-links-large .social-icon{width:24px;height:24px}.social-links-medium .social-icon{width:20px;height:20px}}[data-theme=dark] .social-link{color:#fff}[data-theme=dark] .social-link:hover{color:#fff;background:var(--bg-tertiary)}[data-theme=light] .social-link{color:#333}[data-theme=light] .social-link:hover{color:#333;background:var(--bg-secondary)}.header{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;transition:all .3s ease}[data-theme=dark] .header{background:#1a1a1af2;border-bottom:1px solid var(--border-color)}.header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:70px}.logo{cursor:pointer;transition:all .3s ease}.logo:hover{transform:scale(1.05)}.logo h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:2rem;align-items:center}.nav-list button{background:none;border:none;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal) var(--smooth);padding:.5rem 1rem;border-radius:8px;position:relative;overflow:hidden}.nav-list button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-primary);opacity:.1;transition:left var(--transition-normal) var(--smooth);z-index:-1}.nav-list button:hover{color:var(--accent-primary);transform:translateY(-2px)}.nav-list button:hover:before{left:0}.theme-toggle-container{display:none}.header-controls{display:flex;align-items:center;gap:1rem}.header-controls .theme-toggle{margin-left:0}.header-social-links{display:flex;gap:.5rem}.social-links-container{display:block;width:100%;padding:1rem 0;border-bottom:1px solid var(--border-color)}.social-links-container .social-links{justify-content:center}.hamburger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.hamburger span{width:25px;height:3px;background:var(--text-primary);transition:all var(--transition-normal) var(--elastic);transform-origin:center}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width: 1000px){.header-container{padding:0 1rem;height:60px}.logo h2{font-size:1.25rem}.nav{position:fixed;top:60px;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:0 4px 20px var(--shadow-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav.nav-open{transform:translateY(0);opacity:1;visibility:visible}.nav-list{flex-direction:column;padding:1rem;gap:0;align-items:center;width:100%}.nav-list button{width:100%;text-align:center;padding:1rem 0;border-bottom:1px solid var(--border-color);font-size:1.1rem;min-height:50px}.nav-list button:last-child{border-bottom:none}.social-links-container{display:block;width:100%;padding:1rem 0;text-align:center}.hamburger{display:flex}.header-controls{gap:.5rem;align-items:center}.hamburger{display:flex;align-items:center;justify-content:center;height:44px;width:44px;min-width:44px;min-height:44px}}@media (max-width: 480px){.header-container{padding:0 .75rem}.logo h2{font-size:1.1rem}.nav-list{padding:1rem .75rem;align-items:center;width:100%}.hamburger{height:40px;width:40px;min-width:40px;min-height:40px}}.hero{padding-top:20px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--bg-primary)}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2;width:100%}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:70vh;padding:2rem 0}.hero-text{animation:slideInLeft 1s ease-out;display:flex;flex-direction:column;justify-content:center}.hero-greeting{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.wave-emoji{font-size:1.5rem;animation:wave 2s ease-in-out infinite}.greeting-text{font-size:1.2rem;color:var(--text-secondary);font-weight:500}.hero-title{font-size:3.2rem;font-weight:800;line-height:1.2;margin-bottom:1.2rem;color:var(--text-primary)}.name-highlight{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-role{font-size:1.4rem;margin-bottom:1.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;min-height:2rem}.role-text{color:var(--accent-primary);font-weight:600}.cursor{animation:blink 1s infinite;color:var(--accent-primary)}.hero-description{font-size:1.05rem;line-height:1.7;color:var(--text-secondary);margin-bottom:2.2rem;max-width:520px}.hero-stats{display:flex;gap:2rem;margin-bottom:2.5rem}.stat{display:flex;flex-direction:column;align-items:center;text-align:center;transition:all var(--transition-normal) var(--smooth);cursor:pointer;padding:1rem;border-radius:12px}.stat:hover{transform:translateY(-5px) scale(1.05);background:var(--bg-secondary);box-shadow:0 8px 25px var(--shadow-light)}.stat-number{font-size:2rem;font-weight:700;color:var(--accent-primary);margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--text-muted);font-weight:500}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.hero-social-links{display:flex;gap:1rem;margin-top:1rem}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:50px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal) var(--smooth);text-decoration:none;position:relative;overflow:hidden;transform:translateY(0);white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #aa514966;position:relative;overflow:hidden}.btn-primary: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 var(--transition-slow) var(--smooth)}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #aa514999}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-2px)}.btn-icon{transition:transform .3s ease}.btn:hover .btn-icon{transform:translate(3px) scale(1.1)}.btn-secondary:hover .btn-icon{transform:translateY(3px)}.hero-visual{animation:slideInRight 1s ease-out .3s both}.hero-image-container{position:relative;width:500px;margin:0 auto;padding:40px;transition:all var(--transition-normal) var(--smooth);transform:translateY(0)}.hero-image-container:hover{transform:translateY(-8px) scale(1.02)}.hero-profile-image{width:100%;height:100%;object-fit:cover;border-radius:20px;transition:all var(--transition-normal) var(--smooth)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeInUp 1s ease-out 1s both}.scroll-text{font-size:.9rem;color:var(--text-muted);font-weight:500}.scroll-arrow{width:2px;height:30px;background:var(--accent-primary);border-radius:1px;position:relative;animation:scrollBounce 2s infinite}.scroll-arrow:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--accent-primary)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-20deg)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-stats{justify-content:center}.hero-description{max-width:100%}.hero-image-container{width:400px;height:400px}}@media (max-width: 900px){.hero-image-container{width:70vw;max-width:450px;height:auto;aspect-ratio:3/4;margin:0 auto}.hero-profile-image{width:100%;height:100%;object-fit:contain}}@media (max-width: 1000px){.hero-container{padding:0 1rem}.hero-content{grid-template-columns:1fr;gap:2rem;min-height:70vh;padding:1rem 0}.hero-text{text-align:center}.hero-greeting{justify-content:center;text-align:center}.hero-title{font-size:2.5rem;text-align:center}.hero-role{font-size:1.2rem;justify-content:center;text-align:center}.greeting-text,.role-text{text-align:center}.hero-description{font-size:1rem;max-width:100%;text-align:center}.hero-stats{display:none}.hero-buttons{justify-content:center;flex-direction:row;gap:.8rem;align-items:center;flex-wrap:wrap}.btn{padding:.6rem 1rem;font-size:.85rem;width:auto;min-width:160px;justify-content:center}.hero-image-container{height:auto;aspect-ratio:2/3;margin:0 auto;padding:20px}.hero-profile-image{width:100%;height:100%;object-fit:contain;border-radius:15px}.hero-social-links{justify-content:center}.scroll-indicator{display:none}}@media (max-width: 480px){.hero-container{padding:0 .5rem}.hero-content{padding:.5rem 0}.hero-title{font-size:2rem;text-align:center}.hero-role{font-size:1rem;justify-content:center}.hero-stats{flex-direction:column;gap:1rem}.hero-buttons{flex-direction:row;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:center}.btn{width:auto;min-width:140px;max-width:200px;padding:.5rem .9rem;font-size:.8rem}.hero-image-container{height:auto;aspect-ratio:2/3;margin:0 auto;padding:15px}.hero-profile-image{width:100%;height:100%;object-fit:contain;border-radius:12px}}.about{padding:5rem 0;background:var(--bg-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:3rem;color:var(--accent-primary)}.about-content{display:block;margin-top:1rem}.about-text p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:var(--text-secondary);text-align:justify}@media (max-width: 768px){.about{padding:3rem 0}.about-text p{font-size:1rem;line-height:1.7}}@media (max-width: 480px){.about{padding:2rem 0}}.timeline-container{background:var(--modern-bg);min-height:100vh;padding:80px 0;position:relative;overflow:hidden}:root{--experience-color: var(--modern-accent);--education-color: var(--accent-secondary);--achievement-bg: #fbbf24;--achievement-text: #1f2937;--technology-bg: linear-gradient(135deg, var(--modern-accent) 0%, var(--accent-secondary) 100%);--technology-text: white;--category-badge-shadow: rgba(0, 0, 0, .2)}[data-theme=dark]{--achievement-bg: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--achievement-text: #1f2937;--category-badge-shadow: rgba(0, 0, 0, .4)}[data-theme=light]{--achievement-bg: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--achievement-text: #1f2937;--category-badge-shadow: rgba(0, 0, 0, .15)}.timeline-header{text-align:center;margin-bottom:80px;padding:0 20px;position:relative;z-index:10}.timeline-header h2{color:var(--accent-primary);font-size:2.8rem;font-weight:800;margin-bottom:15px;-webkit-background-clip:text;background-clip:text;animation:gradientShift 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.timeline-header p{color:var(--modern-text-secondary);font-size:1.2rem;font-weight:500;animation:fadeInUp 1s ease-out .3s both;margin-bottom:30px}.timeline-filters{display:flex;justify-content:center;gap:15px;margin-top:30px;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(145deg,var(--modern-card-bg) 0%,var(--modern-card-hover) 100%);border:2px solid var(--modern-glow-subtle);border-radius:25px;color:var(--modern-text-secondary);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px var(--modern-shadow)}.filter-btn:hover{transform:translateY(-2px);border-color:var(--modern-glow);box-shadow:0 8px 25px var(--modern-shadow);color:var(--modern-text-primary)}.filter-btn.active{background:linear-gradient(135deg,var(--modern-accent) 0%,#764ba2 100%);border-color:var(--modern-glow-strong);color:#fff;box-shadow:0 8px 25px var(--modern-glow-strong)}.filter-icon{font-size:1.1rem;filter:brightness(1.2)}.timeline-wrapper{position:relative;max-width:100%;margin:0 auto;padding:0 20px}.timeline-line,.timeline-line-glow,.timeline-line-particles{display:none}@keyframes timelineFlow{0%,to{background-position:0% 50%;box-shadow:0 0 20px #aa514980,0 0 40px #9347414d}50%{background-position:100% 50%;box-shadow:0 0 30px #aa5149b3,0 0 60px #93474180}}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes particleFloat{0%,to{transform:translate(0);opacity:.6}50%{transform:translate(20px);opacity:1}}.timeline-scroll-container{padding:60px 0 40px}.timeline-cards-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;padding:0 20px;position:relative;max-width:1200px;margin:0 auto;align-items:start}.timeline-card{position:relative;width:100%;min-height:280px;display:flex;flex-direction:column;margin-bottom:20px;align-self:start}.timeline-connector,.timeline-connector-glow{display:none}@keyframes connectorGlow{0%,to{box-shadow:0 0 10px var(--modern-glow)}50%{box-shadow:0 0 20px var(--modern-glow-strong)}}@keyframes connectorPulse{0%,to{opacity:.7}50%{opacity:1}}.timeline-floating-icon{position:absolute;top:-60px;left:50%;transform:translate(-50%);z-index:5;animation:iconFloat 4s ease-in-out infinite}.timeline-icon-placeholder{width:80px;height:80px;background:linear-gradient(135deg,var(--modern-accent) 0%,#764ba2 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px var(--modern-glow-strong),0 0 0 4px var(--modern-glow);animation:iconWiggle 3s ease-in-out infinite;position:relative;z-index:2}.timeline-icon-text{font-size:2.5rem;filter:brightness(1.2) drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:iconBounce 2s ease-in-out infinite}.timeline-company-logo{width:100%;height:100%;object-fit:contain;border-radius:50%;background:#fff;padding:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.timeline-company-logo:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.timeline-icon-glow{position:absolute;inset:-10px;background:radial-gradient(circle,var(--modern-glow-strong) 0%,transparent 70%);border-radius:50%;animation:glowPulse 2s ease-in-out infinite;z-index:1}@keyframes iconFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}@keyframes iconWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.timeline-card-content{background:linear-gradient(145deg,var(--modern-card-bg) 0%,var(--modern-card-hover) 100%);border-radius:16px;padding:20px;box-shadow:0 8px 25px var(--modern-shadow);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:3;flex:1;display:flex;flex-direction:column;border:1px solid var(--modern-border);overflow:hidden;height:320px;min-height:320px}.timeline-card-content:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 25px 80px var(--modern-shadow),0 10px 30px #0000001a;height:auto;min-height:300px;max-height:auto}.timeline-category-badge{position:absolute;top:-15px;right:20px;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:15px;color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 15px var(--category-badge-shadow);z-index:10}.category-icon{font-size:.9rem}.timeline-card-details{color:var(--modern-text-primary);display:flex;flex-direction:column;gap:8px;height:100%;overflow:hidden;justify-content:flex-start}.timeline-details{opacity:0;max-height:0;overflow:hidden;transition:all .3s ease;margin-top:0}.timeline-card-content:hover .timeline-details{opacity:1;max-height:300px;margin-top:15px}.timeline-card-content{position:relative}.timeline-card-content:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,var(--modern-card-bg));pointer-events:none;transition:opacity .3s ease}.timeline-card-content:hover:after{opacity:0}.timeline-year{color:var(--modern-accent);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;text-shadow:0 0 10px var(--modern-glow);flex-shrink:0}.timeline-title{color:var(--modern-text-primary);font-size:1.4rem;font-weight:800;margin-bottom:10px;line-height:1.3;height:60px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.timeline-institution{margin-bottom:15px;height:50px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.company-name{color:var(--modern-text-secondary);font-size:1.05rem;font-weight:600;line-height:1.3}.location{color:var(--modern-text-secondary);font-size:.9rem;font-weight:500;line-height:1.3;opacity:.8}.timeline-technologies{margin-bottom:15px;flex-shrink:0}.technologies-label{color:var(--modern-text-secondary);font-size:.85rem;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.technologies-list{display:flex;flex-wrap:wrap;gap:6px;max-height:48px;overflow:hidden}.timeline-card-content:hover .technologies-list{max-height:none}.technology-tag{background:var(--technology-bg);color:var(--technology-text);padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;box-shadow:0 2px 8px #aa51494d;transition:all .3s ease}.technology-tag:hover{transform:translateY(-1px);box-shadow:0 4px 12px #aa514966}.timeline-details{list-style:none;padding:0;margin:0;flex:1}.timeline-details li{color:var(--modern-text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:8px;padding-left:0;position:relative;transition:color .3s ease}.timeline-details li:hover{color:var(--modern-text-primary)}.timeline-details li:last-child{margin-bottom:0}.timeline-achievements{margin-top:15px}.achievements-label{color:var(--modern-text-secondary);font-size:.85rem;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.achievements-list{display:flex;flex-direction:column;gap:6px;max-height:82px;overflow:hidden}.timeline-card-content:hover .achievements-list{max-height:none}.achievement-badge{display:flex;align-items:center;gap:6px;background:var(--achievement-bg);color:var(--achievement-text);padding:6px 12px;border-radius:15px;font-size:.8rem;font-weight:600;box-shadow:0 2px 8px #fbbf244d;transition:all .3s ease}.achievement-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2466}.achievement-icon{font-size:.9rem}@media (max-width: 768px){.timeline-container{padding:60px 0}.timeline-header h2{font-size:2.2rem}.timeline-header p{font-size:1.1rem}.timeline-cards-wrapper{gap:40px;padding:0 20px}.timeline-card{width:300px;min-height:200px}.timeline-card-content{padding:25px;height:300px;min-height:300px}.timeline-icon-placeholder{width:70px;height:70px}.timeline-icon-text{font-size:2.2rem}.timeline-title{font-size:1.3rem}.timeline-institution{font-size:1rem}.timeline-details li{font-size:.9rem}}@media (max-width: 480px){.timeline-container{padding:40px 0}.timeline-header{margin-bottom:50px}.timeline-header h2{font-size:2rem}.timeline-scroll-container{padding:80px 0 50px}.timeline-cards-wrapper{gap:30px;padding:0 15px}.timeline-card{width:100%;min-height:180px}.timeline-card-content{padding:20px;height:280px;min-height:280px}.timeline-connector{display:none}.timeline-floating-icon{top:-50px}.timeline-icon-placeholder{width:60px;height:60px}.timeline-icon-text{font-size:2rem}.timeline-title{font-size:1.2rem}.timeline-institution{font-size:.95rem}.timeline-details li{font-size:.85rem;padding-left:0}}.timeline-scroll-container{scroll-behavior:smooth}.timeline-card{opacity:0;transform:translateY(50px) scale(.9);animation:fadeInUpScale .8s ease-out forwards;animation-delay:calc(var(--card-index, 0) * .15s)}@keyframes fadeInUpScale{to{opacity:1;transform:translateY(0) scale(1)}}.timeline-card:nth-child(1){--card-index: 0}.timeline-card:nth-child(2){--card-index: 1}.timeline-card:nth-child(3){--card-index: 2}.timeline-card:nth-child(4){--card-index: 3}.timeline-card:nth-child(5){--card-index: 4}.timeline-card:nth-child(6){--card-index: 5}.timeline-card:nth-child(7){--card-index: 6}.projects{padding:5rem 0;background:var(--bg-primary)}.projects-modern{padding:24px 2rem 12px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.project-card{background:var(--bg-primary);border-radius:15px;overflow:hidden;box-shadow:0 5px 15px var(--shadow-light);transition:all var(--transition-normal) var(--smooth);border:1px solid var(--border-color);transform:translateY(0);position:relative}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:transform var(--transition-normal) var(--smooth)}.project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 25px 80px #00000026,0 10px 30px #0000001a}.project-card:hover:before{transform:scaleX(1)}.project-image{height:200px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}.project-icon{width:64px;height:64px;color:var(--text-primary);transition:all var(--transition-normal) var(--elastic)}.project-icon svg{width:100%;height:100%}.project-card:hover .project-icon{transform:scale(1.2) rotate(5deg)}.project-content{padding:2rem}.project-title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.project-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 1.5rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:var(--bg-tertiary);color:var(--accent-primary);padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);transition:all var(--transition-normal) var(--smooth);cursor:pointer}.tech-tag:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00000026}.project-links{display:flex;gap:1rem}.project-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-primary);color:#fff;text-decoration:none;border-radius:25px;font-size:.875rem;font-weight:500;transition:all var(--transition-normal) var(--smooth);position:relative;overflow:hidden}.project-link svg{width:16px;height:16px}.project-link: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 var(--transition-slow) var(--smooth)}.project-link:hover{background:var(--accent-secondary);transform:translateY(-2px) scale(1.05)}.project-link:hover:before{left:100%}@media (max-width: 768px){.projects{padding:3rem 0}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card{margin:0 .5rem}.project-content{padding:1.5rem}.project-title{font-size:1.3rem}.project-links{flex-direction:column;gap:.75rem}.project-link{width:100%;justify-content:center;padding:.75rem 1rem}}@media (max-width: 480px){.projects{padding:2rem 0}.project-card{margin:0}.project-content{padding:1rem}.project-title{font-size:1.2rem}.project-technologies{gap:.25rem}.tech-tag{font-size:.8rem;padding:.2rem .5rem}}.projects-modern{padding:40px 0 24px;background:var(--modern-bg)}.projects-modern .container{max-width:1100px;margin:0 auto;padding:0 10px}.projects-modern .section-title{color:var(--accent-primary);font-size:2.2rem;font-weight:800;margin-bottom:28px;letter-spacing:.5px;text-align:left}.projects-modern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px}.project-card-modern{background:var(--modern-card-bg);border-radius:16px;padding:24px 44px;box-shadow:0 1px 6px var(--modern-shadow);transition:transform .18s cubic-bezier(.4,2,.6,1),box-shadow .18s,border-color .18s,background .18s;cursor:pointer;border:1.5px solid transparent;position:relative;opacity:0;transform:scale(.92) translateY(18px);animation:fadeInProjectCard .5s cubic-bezier(.4,2,.6,1) forwards;animation-delay:var(--animation-delay, 0s);overflow:visible}.project-card-modern:hover{background:var(--modern-card-hover);box-shadow:0 25px 80px var(--modern-shadow),0 10px 30px #0000001a;z-index:2;transform:translateY(-8px) scale(1.02)}.project-card-modern.animate-in{opacity:1!important;transform:scale(1) translateY(0)!important;animation:none!important}.project-header-modern{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-icon-modern{width:56px;height:56px;background:var(--modern-card-hover);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--modern-accent);transition:all .2s ease}.project-card-modern:hover .project-icon-modern{background:var(--modern-accent);color:#fff;transform:scale(1.1) rotate(5deg)}.project-category-modern{font-size:.75rem;color:var(--modern-accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;background:var(--modern-accent-light);border-radius:6px;border:1px solid var(--modern-accent)}.project-content-modern{position:relative;z-index:1}.project-title-modern{color:var(--text-primary);font-size:1.4rem;font-weight:700;margin:0 0 12px;letter-spacing:.2px;line-height:1.3}.project-description-modern{color:var(--modern-text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 20px;opacity:.9}.project-technologies-modern{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-tag-modern{background:var(--modern-card-hover);color:var(--modern-accent);padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:500;border:1px solid var(--modern-accent);transition:all .2s ease;cursor:pointer}.tech-tag-modern:hover{background:var(--modern-accent);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00000026}.project-links-modern{display:flex;gap:12px}.project-link-modern{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--modern-card-hover);color:var(--modern-text-secondary);text-decoration:none;border-radius:10px;font-size:.85rem;font-weight:500;transition:all .2s ease;position:relative;overflow:hidden}.project-link-modern svg{width:16px;height:16px;transition:transform .2s ease}.project-link-modern:hover{background:var(--modern-accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.project-link-modern:hover svg{transform:scale(1.1)}.github-link:hover{background:#333;box-shadow:0 4px 12px #3333334d}.live-link:hover{background:#10b981;box-shadow:0 4px 12px #10b9814d}@keyframes fadeInProjectCard{to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 900px){.projects-modern{padding:24px 1.5rem 12px}.projects-modern .container{padding:0 4px}.projects-modern-grid{gap:16px}.project-card-modern{padding:20px 40px}.project-title-modern{font-size:1.2rem}}@media (max-width: 600px){.projects-modern{padding:24px 1rem 12px}.projects-modern .section-title{font-size:1.3rem;margin-bottom:12px}.projects-modern-grid{grid-template-columns:1fr;gap:12px}.project-card-modern{padding:16px 36px}.project-title-modern{font-size:1.1rem}.project-description-modern{font-size:.9rem}.project-links-modern{flex-direction:column;gap:8px}.project-link-modern{width:100%;justify-content:center}}.skills-compact{background:var(--bg-secondary);padding:5rem 0}.skills-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:1.5rem;justify-items:center;align-items:center;max-width:700px;margin:2.5rem auto 0}.skill-icon-compact{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0a;box-shadow:0 2px 12px #00000014;transition:transform .25s cubic-bezier(.4,2,.6,1),box-shadow .25s cubic-bezier(.4,2,.6,1),background .25s;opacity:0;transform:scale(.7) translateY(20px);will-change:transform,opacity;cursor:pointer;position:relative;z-index:1;animation:none}.skill-icon-compact.animate-in{animation:skillIconIn .5s cubic-bezier(.4,2,.6,1) forwards;animation-delay:var(--animation-delay, 0s)}@keyframes skillIconIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.skill-icon-compact:hover{box-shadow:0 8px 30px #0003;transform:scale(1.18) translateY(-4px);z-index:2}.icon-emoji-compact{font-size:2rem;transition:filter .2s,transform .2s;filter:drop-shadow(0 2px 6px rgba(0,0,0,.1))}.skill-icon-compact:hover .icon-emoji-compact{filter:drop-shadow(0 2px 6px rgba(0,0,0,.15));transform:scale(1.12) rotate(-6deg)}@media (max-width: 600px){.skills-compact{padding:2.5rem 0}.skills-icon-grid{gap:1rem;max-width:98vw;grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.skill-icon-compact{width:44px;height:44px}.icon-emoji-compact{font-size:1.4rem}}.skill-icon-compact:hover .icon-emoji-compact{animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) scale(1.2)}50%{transform:translateY(-5px) scale(1.2)}}.category-title{animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@media (max-width: 1024px){.skills-icon-grid{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:1rem}}@media (max-width: 768px){.skills-icon-grid{grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:.75rem}}@media (max-width: 480px){.skills-icon-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (prefers-color-scheme: dark){.skill-icon-compact{background:#ffffff0d}.skill-icon-compact:hover{background:#ffffff1a}}@media (prefers-contrast: high){.skill-icon-compact{border:2px solid var(--text-primary)}.skill-icon-compact:hover{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.skill-icon-compact:hover .icon-emoji-compact{color:#fff}}.skills-modern{padding:40px 0 24px;background:var(--modern-bg)}.skills-modern .container{max-width:1100px;margin:0 auto;padding:0 10px}.section-title{color:var(--accent-primary);font-size:2.2rem;font-weight:800;margin-bottom:28px;letter-spacing:.5px;text-align:left}.skills-category-group{margin-bottom:32px}.skills-category-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:12px;letter-spacing:.2px;text-align:left}.skills-icon-modern-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.skill-icon-modern{width:84px;height:84px;background:var(--modern-card-bg);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 1px 6px var(--modern-shadow);transition:transform .18s cubic-bezier(.4,2,.6,1),box-shadow .18s,border-color .18s,background .18s;cursor:pointer;border:1.5px solid transparent;position:relative;opacity:0;transform:scale(.92) translateY(18px);animation:fadeInSkillIcon .5s cubic-bezier(.4,2,.6,1) forwards;animation-delay:var(--animation-delay, 0s);overflow:visible;justify-content:center}.skill-icon-modern:before{content:"";position:absolute;top:50%;left:50%;width:70px;height:70px;border-radius:12px;pointer-events:none;z-index:0;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--modern-glow-strong) 0%,var(--modern-glow-subtle) 100%);filter:blur(6px)}.skill-icon-modern:after{content:"";position:absolute;top:50%;left:50%;width:90px;height:90px;border-radius:16px;pointer-events:none;z-index:-1;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:all .4s cubic-bezier(.4,0,.2,1);background:radial-gradient(circle,var(--modern-glow-subtle) 0%,transparent 70%);animation:none}.skill-icon-modern:hover:before{opacity:1;transform:translate(-50%,-50%) scale(1.1);filter:blur(8px);animation:pulseGlow 2s ease-in-out infinite}.skill-icon-modern:hover:after{opacity:.5;transform:translate(-50%,-50%) scale(1.05);animation:shimmer 2.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1.1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}@keyframes shimmer{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.05)}}.skill-icon-modern:hover{box-shadow:0 15px 40px #00000026,0 5px 15px #0000001a;z-index:2;transform:translateY(-4px) scale(1.05)}.skill-icon-modern:hover .icon-svg-modern{transform:scale(1.15);filter:brightness(1.2) drop-shadow(0 2px 6px rgba(0,0,0,.15));animation:iconFloatUpDown 1.5s ease-in-out infinite}.skill-label-modern{display:block;opacity:0;font-size:.85rem;color:var(--modern-text-secondary);margin-top:6px;text-align:center;font-weight:500;letter-spacing:.01em;transition:opacity .22s,transform .22s;transform:translateY(8px) scale(.98);position:absolute;left:50%;top:100%;min-width:0;max-width:90px;width:max-content;padding:2px 10px;background:var(--modern-card-bg);border-radius:8px;box-shadow:0 2px 8px var(--modern-shadow);z-index:10;white-space:nowrap;transform:translate(-50%,8px) scale(.98);pointer-events:none}.skill-icon-modern:hover .skill-label-modern{opacity:1;transform:translate(-50%) scale(1)}.skill-icon-modern.animate-in{opacity:1!important;transform:scale(1) translateY(0)!important;animation:none!important}.icon-svg-modern{width:54px;height:54px;display:block;filter:brightness(1.1) drop-shadow(0 2px 6px #0002);transition:filter .2s,transform .2s}@keyframes fadeInSkillIcon{to{opacity:1;transform:scale(1) translateY(0)}}@keyframes iconFloatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (max-width: 900px){.skills-modern .container{padding:0 1rem}.skills-icon-modern-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.skill-icon-modern{width:70px;height:70px;border-radius:12px}.icon-svg-modern{width:44px;height:44px}.skill-label-modern{font-size:.8rem;max-width:80px;padding:3px 8px}}@media (max-width: 600px){.skills-modern{padding:24px 1rem 12px}.section-title{font-size:1.3rem;margin-bottom:12px}.skills-category-title{font-size:1.05rem;margin-bottom:6px}.skills-category-group{margin-bottom:18px}.skills-icon-modern-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(50px,1fr))}.skill-icon-modern{width:50px;height:50px;border-radius:8px}.icon-svg-modern{width:28px;height:28px}.skill-label-modern{font-size:.7rem;max-width:60px;padding:2px 6px}}.contact{padding:5rem 0;background:var(--bg-primary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-info h3{font-size:2rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.contact-info p{font-size:1.1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 2rem}.contact-details{margin-bottom:2rem;display:grid;grid-template-columns:1fr;gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1rem}.contact-icon{width:50px;height:50px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.contact-icon svg{width:24px;height:24px}.contact-icon svg{width:24px;height:24px;color:var(--text-primary)}.linkedin-icon svg{color:var(--text-primary)}.github-icon svg{color:var(--text-primary)}.contact-item h4{font-size:1.1rem;font-weight:600;margin:0 0 .25rem;color:var(--text-primary)}.contact-item p{font-size:1rem;color:var(--text-secondary);margin:0}.contact-item a{color:var(--accent-primary);text-decoration:none;transition:color .3s ease}.contact-item a:hover{color:var(--accent-secondary)}.contact-link{background:none;border:none;padding:0;margin:0;font-size:inherit;font-family:inherit;color:var(--accent-primary);text-decoration:none;cursor:pointer;transition:color .3s ease}.contact-link:hover{color:var(--accent-secondary)}.contact-social-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.contact-form{background:var(--bg-secondary);padding:2rem;border-radius:15px;border:1px solid var(--border-color)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all var(--transition-normal) var(--smooth);box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary);transform:translateY(0)}.form-group input:hover,.form-group textarea:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-light)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #aa51491a;transform:translateY(-2px) scale(1.02)}.form-group textarea{resize:vertical;min-height:120px}@media (max-width: 768px){.contact{padding:3rem 0}.contact-content{grid-template-columns:1fr;gap:2rem}.contact-info h3{font-size:1.75rem}.contact-info p{font-size:1rem}.contact-details{grid-template-columns:1fr 1fr;gap:1rem}.contact-item{gap:.75rem;flex-direction:column;text-align:center;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.contact-icon{width:40px;height:40px;flex-shrink:0}.contact-icon svg{width:18px;height:18px}.contact-item h4{font-size:.9rem;margin-bottom:.25rem}.contact-item p{font-size:.8rem}.contact-form{padding:1.5rem}.form-group input,.form-group textarea{padding:.875rem;font-size:16px}.contact-social-links{justify-content:center}}@media (max-width: 480px){.contact{padding:2rem 0}.contact-info h3{font-size:1.5rem}.contact-details{grid-template-columns:1fr;gap:.75rem}.contact-item{flex-direction:column;text-align:center;gap:.5rem;padding:.75rem}.contact-icon{width:35px;height:35px}.contact-icon svg{width:16px;height:16px}.contact-item h4{font-size:.85rem}.contact-item p{font-size:.75rem}.contact-form{padding:1rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem}}.success-message{margin-top:1rem;padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#16a34a}.success-message p{margin:0;font-weight:500}.error-message{margin-top:1rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626}.error-message p{margin:0;font-weight:500}.btn:disabled{opacity:.6;cursor:not-allowed}.scroll-progress-container{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:1000;background:transparent}.scroll-progress-bar{width:100%;height:4px;background:var(--shadow-light);position:relative}.scroll-progress-fill{height:100%;background:var(--gradient-primary);transition:width .3s ease;position:relative;box-shadow:0 0 10px #aa514980}.scroll-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scroll-progress-text{font-size:.75rem;font-weight:600;color:var(--text-primary);min-width:30px;text-align:center}.back-to-top-button{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:var(--accent-primary, #6c63ff);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000026;transition:all .3s ease;z-index:1000;opacity:0;transform:translateY(20px);animation:fadeInUp .3s ease forwards}.back-to-top-button:hover{background:var(--accent-secondary, #4834d4);transform:translateY(-2px);box-shadow:0 6px 25px #0003}.back-to-top-button:active{transform:translateY(0)}.back-to-top-button svg{transition:transform .2s ease}.back-to-top-button:hover svg{transform:translateY(-2px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.back-to-top-button{width:50px;height:50px;bottom:1.5rem;right:1.5rem}.back-to-top-button svg{width:20px;height:20px}}@media (max-width: 480px){.back-to-top-button{width:48px;height:48px;bottom:1rem;right:1rem}.back-to-top-button svg{width:18px;height:18px}}.mario-character{position:absolute;bottom:12px;transform:translate(-50%);transition:left .3s ease;z-index:1001}.mario-sprite{width:32px;height:40px;position:relative;animation:marioRun .6s infinite}.mario-body{width:100%;height:100%;position:relative}.mario-head{width:16px;height:16px;background:#ffdbac;border-radius:50%;position:absolute;top:0;left:8px;z-index:3}.mario-hat{width:18px;height:8px;background:red;border-radius:8px 8px 0 0;position:absolute;top:-4px;left:-1px;z-index:4}.mario-face{position:relative;width:100%;height:100%}.mario-eye{width:2px;height:2px;background:#000;border-radius:50%;position:absolute;top:6px}.mario-eye.left{left:4px}.mario-eye.right{right:4px}.mario-mouth{width:4px;height:2px;background:#000;border-radius:0 0 4px 4px;position:absolute;bottom:3px;left:6px}.mario-torso{width:16px;height:12px;position:absolute;top:14px;left:8px;z-index:2}.mario-shirt{width:100%;height:8px;background:red;border-radius:4px}.mario-overalls{width:100%;height:12px;background:#06c;border-radius:0 0 4px 4px;position:relative}.mario-overalls:before{content:"";width:4px;height:6px;background:#ffdbac;position:absolute;top:2px;left:6px;border-radius:2px}.mario-overalls:after{content:"";width:4px;height:6px;background:#ffdbac;position:absolute;top:2px;right:6px;border-radius:2px}.mario-arms{position:absolute;top:16px;left:0;width:100%;height:8px;z-index:1}.mario-arm{width:4px;height:8px;background:#ffdbac;border-radius:2px;position:absolute;top:0}.mario-arm.left{left:4px;animation:armSwing .6s infinite}.mario-arm.right{right:4px;animation:armSwing .6s infinite reverse}.mario-legs{position:absolute;bottom:0;left:0;width:100%;height:8px;z-index:1}.mario-leg{width:4px;height:8px;background:#06c;border-radius:2px;position:absolute;bottom:0}.mario-leg.left{left:8px;animation:legRun .6s infinite}.mario-leg.right{right:8px;animation:legRun .6s infinite reverse}@keyframes marioRun{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes armSwing{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes legRun{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}@media (max-width: 768px){.scroll-progress-bar{height:3px}.mario-sprite{width:24px;height:30px}.mario-head{width:12px;height:12px;left:6px}.mario-hat{width:14px;height:6px;top:-3px}.mario-torso{width:12px;height:9px;top:10px;left:6px}.mario-arms{top:12px}.mario-legs{height:6px}.back-to-top-fab{width:50px;height:50px;font-size:1.1rem;right:1.5rem;bottom:1.5rem}.scroll-progress-fab{width:50px;height:50px;min-width:50px;min-height:50px;font-size:1.1rem;right:1.5rem;bottom:1.5rem}.scroll-progress-svg{width:50px;height:50px}}@media (max-width: 480px){.scroll-progress-bar{height:2px}.mario-sprite{width:20px;height:25px}.back-to-top-fab{width:48px;height:48px;font-size:1rem;right:1rem;bottom:1rem}.scroll-progress-fab{width:48px;height:48px;min-width:48px;min-height:48px;font-size:1rem;right:1rem;bottom:1rem}.scroll-progress-svg{width:48px;height:48px}}.scroll-progress-container.hidden{opacity:0;pointer-events:none}.scroll-progress-fab{position:fixed;right:2.2rem;bottom:2.2rem;z-index:1000;width:56px;height:56px;min-width:44px;min-height:44px;border-radius:50%;background:var(--scroll-progress-bg, #181828);color:var(--scroll-progress-fg, #fff);border:none;box-shadow:0 6px 32px #3c3c7838,0 0 0 4px var(--scroll-progress-glow, #6c63ff33);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s;outline:none;overflow:hidden;touch-action:manipulation;padding:0}.scroll-progress-fab.popout{box-shadow:0 8px 36px #3c3c7847,0 0 0 6px var(--scroll-progress-glow, #6c63ff44)}.scroll-progress-fab:hover,.scroll-progress-fab:focus{background:var(--accent-secondary, #4834d4);box-shadow:0 12px 40px #3c3c7852,0 0 0 10px var(--accent-primary, #6c63ff55);transform:scale(1.09) translateY(-2px)}.scroll-progress-svg{position:absolute;left:0;top:0;width:56px;height:56px;pointer-events:none;z-index:1}.scroll-progress-bg{stroke:var(--scroll-progress-track, #fff2);opacity:.35}.scroll-progress-ring{stroke:var(--accent-primary, #6c63ff);transition:stroke-dashoffset .3s cubic-bezier(.4,2,.6,1);stroke-linecap:round;filter:drop-shadow(0 0 6px var(--accent-primary, #6c63ff55))}.scroll-progress-arrow{display:block;font-size:1.25rem;font-weight:900;line-height:1;margin-bottom:.1rem;margin-top:.2rem;letter-spacing:.05em;transition:transform .18s cubic-bezier(.4,2,.6,1)}.scroll-progress-fab:hover .scroll-progress-arrow{transform:translateY(-4px) scale(1.12)}.scroll-progress-percent{position:relative;z-index:2;font-size:.95rem;font-weight:800;letter-spacing:.5px;-webkit-user-select:none;user-select:none;text-align:center;color:var(--scroll-progress-fg, #fff);text-shadow:0 2px 8px rgba(0,0,0,.18),0 0 2px var(--scroll-progress-glow, #6c63ff44)}@media (max-width: 600px){.scroll-progress-fab{width:48px;height:48px;min-width:48px;min-height:48px;font-size:1rem;right:1rem;bottom:1rem;border-radius:50%;padding:0}.scroll-progress-svg{width:48px;height:48px}.scroll-progress-arrow{font-size:1rem;margin-top:.1rem;margin-bottom:.05rem}.scroll-progress-percent{font-size:.85rem}}:root{--scroll-progress-bg: #181828;--scroll-progress-fg: #fff;--scroll-progress-track: #fff2;--scroll-progress-glow: #6c63ff33}@media (prefers-color-scheme: light){:root{--scroll-progress-bg: #fff;--scroll-progress-fg: #222;--scroll-progress-track: #2222;--scroll-progress-glow: #6c63ff22}}.App{min-height:100vh;overflow-x:hidden;-webkit-overflow-scrolling:touch}main{padding-top:70px;width:100%}@media (max-width: 768px){main{padding-top:60px}input,textarea,select{font-size:16px}}@media (max-width: 480px){.App{font-size:14px}}
