:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-card: rgba(255, 255, 255, .25);--text-primary: #1a202c;--text-secondary: #4a5568;--text-accent: #3182ce;--border-color: rgba(255, 255, 255, .18);--shadow-color: rgba(0, 0, 0, .1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--glass-bg: rgba(255, 255, 255, .25);--glass-border: rgba(255, 255, 255, .18);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .37);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-navbar: 100;--z-modal: 200;--z-tooltip: 300}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: rgba(15, 23, 42, .25);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-accent: #60a5fa;--border-color: rgba(15, 23, 42, .18);--shadow-color: rgba(0, 0, 0, .3);--glass-bg: rgba(15, 23, 42, .25);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-normal)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-navbar);padding:var(--space-sm) 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-bottom:1px solid var(--glass-border)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-md);display:flex;justify-content:space-between;align-items:center}.nav-brand h2{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-menu{display:flex;align-items:center;gap:var(--space-lg)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.nav-link:hover{color:var(--text-accent)}.theme-toggle{background:none;border:none;font-size:var(--font-size-lg);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:transform var(--transition-fast)}.theme-toggle:hover{transform:scale(1.1)}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:4px}.hamburger span{width:24px;height:3px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-fast)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.hero-content{text-align:center;padding:var(--space-2xl);max-width:600px;z-index:2}.hero-title{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--space-md);line-height:1.2}.highlight{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-xl)}.hero-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.hero-background{position:absolute;inset:0;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:600;text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-normal);cursor:pointer;border:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--glass-shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268780}.btn-secondary{background:transparent;color:var(--text-accent);border:2px solid var(--text-accent)}.btn-secondary:hover{background:var(--text-accent);color:#fff;transform:translateY(-2px)}section{padding:var(--space-2xl) 0}.section-title{font-size:var(--font-size-3xl);font-weight:700;text-align:center;margin-bottom:var(--space-xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about{background:var(--bg-secondary)}.about-content{padding:var(--space-xl);margin:0 auto;max-width:800px}.about-text{text-align:center}.about-text p{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-lg)}.skills-preview{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.skill-tag{background:var(--gradient-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.project-filters{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap}.filter-btn{padding:var(--space-xs) var(--space-md);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-btn.active,.filter-btn:hover{background:var(--gradient-primary);color:#fff;border-color:transparent}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.project-card{padding:var(--space-lg);transition:transform var(--transition-normal)}.project-card:hover{transform:translateY(-8px)}.project-image{height:200px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-md);background:var(--gradient-secondary);display:flex;align-items:center;justify-content:center}.placeholder-image{font-size:4rem;opacity:.7}.project-title{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-xs)}.project-description{color:var(--text-secondary);margin-bottom:var(--space-md)}.project-tech{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap}.tech-tag{background:var(--bg-secondary);padding:4px var(--space-xs);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary)}.project-links{display:flex;gap:var(--space-sm)}.project-link{color:var(--text-accent);text-decoration:none;font-weight:500;font-size:var(--font-size-sm)}.project-link:hover{text-decoration:underline}.contact{background:var(--bg-secondary)}.contact-content{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-xl);max-width:1000px;margin:0 auto}.contact-info{padding:var(--space-xl)}.contact-info h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}.contact-info p{color:var(--text-secondary);margin-bottom:var(--space-lg)}.contact-methods{display:flex;flex-direction:column;gap:var(--space-md)}.contact-method{display:flex;align-items:center;gap:var(--space-sm)}.contact-icon{font-size:var(--font-size-lg)}.contact-form{padding:var(--space-xl)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500}.form-group input,.form-group textarea{width:100%;padding:var(--space-sm);border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--text-accent)}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-start;flex-wrap:wrap;margin-top:var(--space-lg)}.form-actions .btn{min-width:140px}.form-actions .btn[type=reset]{background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color)}.form-actions .btn[type=reset]:hover{background:var(--text-secondary);color:#fff;border-color:var(--text-secondary)}.footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--space-lg) 0;text-align:center;color:var(--text-secondary)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all var(--transition-normal)}.glass-card:hover{background:#ffffff59;border-color:#ffffff40;transform:translateY(-2px)}[data-theme=dark] .glass-card:hover{background:#0f172a59;border-color:#ffffff26}.floating-shapes{position:absolute;width:100%;height:100%;overflow:hidden}.shape{position:absolute;border-radius:50%;opacity:.1;animation:float 20s infinite ease-in-out}.shape-1{width:200px;height:200px;background:var(--gradient-primary);top:20%;left:10%;animation-delay:0s}.shape-2{width:150px;height:150px;background:var(--gradient-secondary);top:60%;right:20%;animation-delay:-5s}.shape-3{width:100px;height:100px;background:var(--gradient-accent);bottom:30%;left:70%;animation-delay:-10s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-30px) rotate(120deg)}66%{transform:translateY(20px) rotate(240deg)}}.navbar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.glass-card.visible{animation:glassReveal .8s ease-out forwards}@keyframes glassReveal{0%{opacity:0;transform:translateY(30px);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;transform:translateY(0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.btn-primary{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);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 .6s}.btn-primary:hover:before{left:100%}.form-group input,.form-group textarea{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.project-card{position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.project-card:hover:before{opacity:1}.glass-light{background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-medium{background:#ffffff40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.glass-heavy{background:#ffffff59;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .glass-light{background:#0f172a26}[data-theme=dark] .glass-medium{background:#0f172a40}[data-theme=dark] .glass-heavy{background:#0f172a59}.animate-entrance{opacity:0;transform:translateY(30px)}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.fadeInUp{opacity:1!important;transform:translateY(0)!important;animation:fadeInUp .8s ease forwards}.fadeInDown{opacity:1!important;transform:translateY(0)!important;animation:fadeInDown .8s ease forwards}.fadeInLeft{opacity:1!important;transform:translate(0)!important;animation:fadeInLeft .8s ease forwards}.fadeInRight{opacity:1!important;transform:translate(0)!important;animation:fadeInRight .8s ease forwards}.scaleIn{opacity:1!important;transform:scale(1) translateY(0)!important;animation:scaleIn .7s ease forwards}.bounceIn{opacity:1!important;transform:scale(1)!important;animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55) forwards}.glassReveal{opacity:1!important;transform:translateY(0)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;animation:glassReveal 1s ease-out forwards}.slideInUp{opacity:1!important;transform:translateY(0)!important;animation:slideInUp .6s ease forwards}.rotateIn{opacity:1!important;transform:rotate(0) scale(1)!important;animation:rotateIn .8s ease forwards}.flipIn{opacity:1!important;transform:rotateY(0)!important;animation:flipIn .8s ease forwards}.zoomIn{opacity:1!important;transform:scale(1)!important;animation:zoomIn .6s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.7) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes glassReveal{0%{opacity:0;transform:translateY(40px) scale(.95);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-15deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes flipIn{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:rotateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.typewriter{overflow:hidden;border-right:2px solid var(--text-accent);white-space:nowrap;animation:typing 3s steps(40,end),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--text-accent)}}.staggered-text .word-reveal{display:inline-block;opacity:0;transform:translateY(20px);transition:all .5s ease}.staggered-text .word-reveal.revealed{opacity:1;transform:translateY(0)}.progress-bar{height:8px;background:var(--gradient-primary);border-radius:4px;transform-origin:left;transition:width 1.5s ease-out}.skill-progress{height:6px;background:var(--gradient-accent);border-radius:3px;transform-origin:left;transition:width 1.2s ease-out}.counter{font-weight:700;font-size:1.5em;color:var(--text-accent)}.morphing-shape{transition:all 1s ease;transform-origin:center}.morphing-shape.morphing-active{animation:morphShapes 4s ease-in-out infinite}@keyframes morphShapes{0%,to{border-radius:50%;transform:rotate(0) scale(1)}25%{border-radius:25% 75%;transform:rotate(90deg) scale(1.1)}50%{border-radius:75% 25% 55% 45%;transform:rotate(180deg) scale(.9)}75%{border-radius:25% 75% 45% 55%;transform:rotate(270deg) scale(1.05)}}.parallax-element{will-change:transform;transform:translateZ(0)}.animate-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.animate-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0000001a}.loading-pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.floating{animation:floating 3s ease-in-out infinite}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.rotating{animation:rotating 20s linear infinite}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wave{animation:wave 2.5s ease-in-out infinite}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.3)}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:.8}.glitch:before{animation:glitch-1 .5s infinite;color:red;z-index:-1}.glitch:after{animation:glitch-2 .5s infinite;color:#0f0;z-index:-2}@keyframes glitch-1{0%,14%,15%,49%,50%,99%,to{transform:translate(0)}15%,49%{transform:translate(-2px,2px)}}@keyframes glitch-2{0%,20%,21%,62%,63%,99%,to{transform:translate(0)}21%,62%{transform:translate(2px,-2px)}}.will-animate{will-change:transform,opacity;backface-visibility:hidden;perspective:1000px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-theme=dark] .progress-bar{box-shadow:0 0 10px #3b82f64d}[data-theme=dark] .skill-progress{box-shadow:0 0 8px #a855f74d}@media(max-width:768px){.animate-entrance,.animate-on-scroll{transform:translateY(20px)}.fadeInLeft,.fadeInRight{animation-name:fadeInUp}.bounceIn{animation-duration:.6s}}@media(prefers-contrast:high){.animate-entrance,.animate-on-scroll{border:2px solid transparent}.animate-entrance.revealed,.animate-on-scroll.revealed{border-color:var(--text-primary)}}@media print{.animate-entrance,.animate-on-scroll,.morphing-shape,.floating,.rotating{animation:none!important;transform:none!important;opacity:1!important}}.hero{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(120,199,255,.3) 0%,transparent 50%);opacity:0;animation:gradientReveal 2s ease-out .5s forwards}@keyframes gradientReveal{to{opacity:1}}.hero-content{opacity:0;transform:translateY(50px);animation:heroContentReveal 1.2s ease-out .3s forwards}@keyframes heroContentReveal{to{opacity:1;transform:translateY(0)}}.hero-title{overflow:hidden;position:relative}.hero-title .word{display:inline-block;opacity:0;transform:translateY(100px) rotateX(-90deg);animation:wordReveal .8s ease-out forwards}.hero-title .word:nth-child(1){animation-delay:.8s}.hero-title .word:nth-child(2){animation-delay:1s}.hero-title .word:nth-child(3){animation-delay:1.2s}.hero-title .word:nth-child(4){animation-delay:1.4s}@keyframes wordReveal{to{opacity:1;transform:translateY(0) rotateX(0)}}.hero-title .highlight{position:relative;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title .highlight:after{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:highlightSweep 2s ease-in-out 2s infinite}@keyframes highlightSweep{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}.hero-description{opacity:0;transform:translateY(30px);animation:descriptionReveal 1s ease-out 1.8s forwards}@keyframes descriptionReveal{to{opacity:1;transform:translateY(0)}}.hero-actions{opacity:0;transform:translateY(40px);animation:actionsReveal 1s ease-out 2.2s forwards}@keyframes actionsReveal{to{opacity:1;transform:translateY(0)}}.hero-actions .btn{transform:scale(.9);animation:buttonPop .6s ease-out forwards}.hero-actions .btn:nth-child(1){animation-delay:2.4s}.hero-actions .btn:nth-child(2){animation-delay:2.6s}@keyframes buttonPop{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.floating-shapes{position:absolute;width:100%;height:100%;overflow:hidden;pointer-events:none}.shape{position:absolute;border-radius:50%;opacity:0;filter:blur(1px);animation:shapeReveal 2s ease-out forwards,floatAdvanced 20s infinite ease-in-out}.shape-1{width:240px;height:240px;background:var(--gradient-primary);top:15%;left:5%;animation-delay:1s,1s}.shape-2{width:180px;height:180px;background:var(--gradient-secondary);top:55%;right:15%;animation-delay:1.5s,6s}.shape-3{width:120px;height:120px;background:var(--gradient-accent);bottom:25%;left:65%;animation-delay:2s,11s}.shape-4{width:80px;height:80px;background:linear-gradient(45deg,#ff6b6b,#ff8e53);top:25%;right:40%;animation-delay:2.5s,16s}.shape-5{width:60px;height:60px;background:linear-gradient(45deg,#4ecdc4,#44a08d);bottom:45%;left:20%;animation-delay:3s,3s}@keyframes shapeReveal{to{opacity:.08}}@keyframes floatAdvanced{0%,to{transform:translateY(0) translate(0) rotate(0) scale(1)}25%{transform:translateY(-40px) translate(20px) rotate(90deg) scale(1.1)}50%{transform:translateY(-20px) translate(-30px) rotate(180deg) scale(.9)}75%{transform:translateY(30px) translate(10px) rotate(270deg) scale(1.05)}}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20px 80px,rgba(120,119,198,.3) 2px,transparent 2px),radial-gradient(circle at 80px 20px,rgba(255,119,198,.3) 1px,transparent 1px),radial-gradient(circle at 40px 40px,rgba(120,199,255,.3) 1.5px,transparent 1.5px);background-size:100px 100px,80px 80px,120px 120px;opacity:0;animation:particlesReveal 3s ease-out 2s forwards,particlesFloat 10s infinite linear}@keyframes particlesReveal{to{opacity:.4}}@keyframes particlesFloat{0%{transform:translate(0) translateY(0)}to{transform:translate(-100px) translateY(-100px)}}.hero .glass-card{position:relative;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 50px #1f26875e,inset 0 1px #ffffff4d}.hero .glass-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#ffffff26,#ffffff0d);opacity:0;animation:glassShimmer 3s ease-in-out 3s infinite}@keyframes glassShimmer{0%,to{opacity:0}50%{opacity:1}}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);opacity:0;animation:scrollIndicatorReveal 1s ease-out 3s forwards}.scroll-indicator:before{content:"";display:block;width:2px;height:30px;background:var(--text-secondary);margin:0 auto 10px;opacity:.5;animation:scrollLine 2s infinite ease-in-out}.scroll-indicator:after{content:"↓";display:block;color:var(--text-secondary);font-size:1.2rem;text-align:center;animation:scrollBounce 2s infinite ease-in-out}@keyframes scrollIndicatorReveal{to{opacity:1}}@keyframes scrollLine{0%,to{transform:scaleY(1);opacity:.3}50%{transform:scaleY(1.5);opacity:.8}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.hero-interactive-area{position:absolute;top:50%;left:50%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(120,119,198,.1) 0%,transparent 70%);transform:translate(-50%,-50%);cursor:pointer;transition:all .3s ease;opacity:0;animation:interactiveAreaReveal 1s ease-out 4s forwards}.hero-interactive-area:hover{transform:translate(-50%,-50%) scale(1.5);background:radial-gradient(circle,rgba(120,119,198,.2) 0%,transparent 70%)}@keyframes interactiveAreaReveal{to{opacity:1}}@media(max-width:768px){.hero-title .word{transform:translateY(50px) rotateX(-45deg)}.shape{display:none}.shape-1,.shape-2{display:block}.hero:after{opacity:.2}}@media(prefers-reduced-motion:reduce){.hero:before,.hero-content,.hero-title .word,.hero-description,.hero-actions,.shape,.hero:after,.scroll-indicator{animation:none;opacity:1;transform:none}.hero .glass-card:before{display:none}}[data-theme=dark] .hero:before{background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.2) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(120,199,255,.2) 0%,transparent 50%)}[data-theme=dark] .hero:after{background-image:radial-gradient(circle at 20px 80px,rgba(120,119,198,.2) 2px,transparent 2px),radial-gradient(circle at 80px 20px,rgba(255,119,198,.2) 1px,transparent 1px),radial-gradient(circle at 40px 40px,rgba(120,199,255,.2) 1.5px,transparent 1.5px)}[data-theme=dark] .shape{opacity:.05}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-lg);margin:var(--space-xl) 0;padding:var(--space-lg);background:var(--glass-bg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border)}.stat-item{text-align:center;padding:var(--space-md)}.stat-number{font-size:2.5rem;font-weight:700;color:var(--text-accent);margin-bottom:var(--space-xs);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.skills-bars{margin-top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.skill-item{display:flex;flex-direction:column;gap:var(--space-xs)}.skill-name{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.skill-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;position:relative}.skill-progress{height:100%;background:var(--gradient-primary);border-radius:4px;width:0;transition:width 1.5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-progress:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.skills-preview{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap;margin:var(--space-lg) 0}.skill-tag{background:var(--gradient-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;position:relative;overflow:hidden;transition:all var(--transition-normal)}.skill-tag:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.skill-tag:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #00000026}.skill-tag:hover:before{left:100%}.about-text p{font-size:var(--font-size-lg);line-height:1.8;color:var(--text-secondary);margin-bottom:var(--space-lg);text-align:center}.about-content{padding:var(--space-2xl);margin:0 auto;max-width:900px;position:relative}.about-content:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--gradient-primary);border-radius:2px}@media(max-width:768px){.about-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md);padding:var(--space-md)}.stat-number{font-size:2rem}.skills-bars{margin-top:var(--space-lg)}.about-content{padding:var(--space-lg)}}@media(max-width:480px){.about-stats{grid-template-columns:1fr;text-align:center}.skills-preview{justify-content:center}.skill-tag{font-size:var(--font-size-xs);padding:6px var(--space-xs)}}[data-theme=dark] .skill-bar{background:#ffffff1a}[data-theme=dark] .skill-progress{box-shadow:0 0 10px #3b82f64d}[data-theme=dark] .about-stats{background:#0f172a4d;border-color:#ffffff1a}.skill-tag:nth-child(1){animation-delay:0ms}.skill-tag:nth-child(2){animation-delay:.1s}.skill-tag:nth-child(3){animation-delay:.2s}.skill-tag:nth-child(4){animation-delay:.3s}.skill-tag:nth-child(5){animation-delay:.4s}.skill-tag:nth-child(6){animation-delay:.5s}.skill-item:nth-child(1) .skill-progress{animation-delay:.5s}.skill-item:nth-child(2) .skill-progress{animation-delay:.7s}.skill-item:nth-child(3) .skill-progress{animation-delay:.9s}.skill-item:nth-child(4) .skill-progress{animation-delay:1.1s}.about-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #1f26875e}.about-content:hover{box-shadow:0 12px 40px #1f268773}@media(prefers-reduced-motion:reduce){.skill-progress,.skill-tag{transition:none}.skill-tag:hover{transform:none}}@media(prefers-contrast:high){.skill-progress{background:#06c}.skill-tag{background:#06c;border:2px solid #ffffff}.stat-number{color:#06c;-webkit-text-fill-color:unset}}.contact-form{position:relative;overflow:visible}.form-group{position:relative;margin-bottom:var(--space-lg);transition:all var(--transition-normal)}.form-group.focused{transform:translateY(-2px)}.form-group.has-error{margin-bottom:calc(var(--space-lg) + var(--space-md))}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500;color:var(--text-primary);transition:color var(--transition-fast);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.form-group.focused label,.form-group.has-success label{color:var(--text-accent)}.form-group.has-error label{color:#ef4444}.form-group input,.form-group textarea{width:100%;padding:var(--space-md) var(--space-sm);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);transition:all var(--transition-normal);position:relative;z-index:1}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.form-group input.success,.form-group textarea.success{border-color:#10b981;background:#10b9810d;box-shadow:0 0 0 3px #10b9811a}.form-group input.error,.form-group textarea.error{border-color:#ef4444;background:#ef44440d;box-shadow:0 0 0 3px #ef44441a;animation:shake .5s ease-in-out}.form-group input.typing,.form-group textarea.typing{border-color:var(--text-accent);box-shadow:0 0 0 3px #3b82f60d}.form-group.has-success:after{content:"✓";position:absolute;right:var(--space-sm);top:calc(50% - var(--space-xs));color:#10b981;font-weight:700;font-size:var(--font-size-lg);z-index:2}.form-group.has-error input,.form-group.has-error textarea{padding-right:calc(var(--space-sm) + var(--space-lg))}.error-message{color:#ef4444;font-size:var(--font-size-sm);margin-top:var(--space-xs);display:flex;align-items:flex-start;gap:var(--space-xs);opacity:0;transform:translateY(-10px);transition:all var(--transition-normal);position:absolute;top:100%;left:0;right:0;z-index:3}.error-message.show{opacity:1;transform:translateY(0)}.error-message.hide{opacity:0;transform:translateY(-10px)}.error-icon{flex-shrink:0;font-size:var(--font-size-sm)}.character-counter{position:absolute;bottom:var(--space-xs);right:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-primary);padding:2px var(--space-xs);border-radius:var(--radius-xs);border:1px solid var(--border-color);z-index:2;transition:all var(--transition-fast)}.character-counter.warning{color:#f59e0b;border-color:#f59e0b}.character-counter.error{color:#ef4444;border-color:#ef4444;background:#ef44441a}.contact-form .btn{position:relative;overflow:hidden;transition:all var(--transition-normal);min-width:120px;min-height:48px}.contact-form .btn.loading{background:var(--text-secondary);color:#fff;cursor:not-allowed}.contact-form .btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.contact-form .btn.success{background:#10b981;color:#fff}.contact-form .btn.error{background:#ef4444;color:#fff;animation:pulse .5s ease-in-out}.form-message{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);font-weight:500;display:flex;align-items:center;justify-content:space-between;opacity:0;transform:translateY(20px);transition:all var(--transition-normal);position:relative;overflow:hidden}.form-message.show{opacity:1;transform:translateY(0)}.form-message.hide{opacity:0;transform:translateY(-20px)}.form-message.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 20px #10b9814d}.form-message.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 20px #ef44444d}.form-message.info{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 20px #3b82f64d}.message-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-sm)}.message-close{background:none;border:none;color:inherit;font-size:var(--font-size-xl);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.message-close:hover{opacity:1;background:#ffffff1a}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.form-group.floating-label{position:relative}.form-group.floating-label label{position:absolute;left:var(--space-sm);top:50%;transform:translateY(-50%);background:var(--bg-primary);padding:0 var(--space-xs);transition:all var(--transition-normal);pointer-events:none;margin:0;font-size:var(--font-size-base);text-transform:none;letter-spacing:normal;color:var(--text-secondary)}.form-group.floating-label input:focus+label,.form-group.floating-label input:not(:placeholder-shown)+label,.form-group.floating-label textarea:focus+label,.form-group.floating-label textarea:not(:placeholder-shown)+label{top:0;font-size:var(--font-size-sm);color:var(--text-accent);text-transform:uppercase;letter-spacing:.5px;font-weight:500}@media(max-width:768px){.contact-content{grid-template-columns:1fr;gap:var(--space-lg)}.contact-info{order:2}.contact-form{order:1}.form-group input,.form-group textarea{padding:var(--space-sm);font-size:var(--font-size-base)}.character-counter{position:static;text-align:right;margin-top:var(--space-xs);border:none;background:transparent}}@media(prefers-color-scheme:dark){.form-group input,.form-group textarea{background:var(--bg-secondary);border-color:var(--border-color)}.character-counter{background:var(--bg-secondary)}.form-group.floating-label label{background:var(--bg-primary)}}@media(prefers-contrast:high){.form-group input,.form-group textarea{border-width:3px}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 4px #3b82f64d}.error-message{font-weight:700}}@media(prefers-reduced-motion:reduce){.form-group input,.form-group textarea,.error-message,.form-message{transition:none}.form-group input.error,.form-group textarea.error{animation:none}.contact-form .btn.loading:after{animation:none}}:root{--pwa-primary: var(--primary-color);--pwa-success: #10b981;--pwa-warning: #f59e0b;--pwa-error: #ef4444;--pwa-info: #3b82f6;--pwa-banner-bg: var(--glass-bg);--pwa-banner-border: var(--glass-border);--pwa-shadow: var(--shadow-md);--pwa-z-banner: 9999;--pwa-z-toast: 10000}.pwa-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100%);width:calc(100% - 40px);max-width:480px;z-index:var(--pwa-z-banner);background:var(--pwa-banner-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--pwa-banner-border);border-radius:16px;box-shadow:var(--pwa-shadow);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none;opacity:0}.pwa-banner.slide-in{transform:translate(-50%) translateY(0);pointer-events:all;opacity:1}.pwa-banner.hidden{transform:translate(-50%) translateY(100%);pointer-events:none;opacity:0}.pwa-banner-content{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.pwa-banner-text h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-color)}.pwa-banner-text p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.pwa-banner-actions{display:flex;gap:8px;flex-shrink:0}.pwa-btn{padding:8px 16px;border-radius:8px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.pwa-btn-install,.pwa-btn-update{background:var(--pwa-primary);color:#fff}.pwa-btn-install:hover,.pwa-btn-update:hover{background:var(--primary-hover);transform:translateY(-1px)}.pwa-btn-dismiss{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.pwa-btn-dismiss:hover{background:var(--bg-secondary);color:var(--text-color)}.pwa-btn:active{transform:translateY(0)}.pwa-install-banner .pwa-banner-text h4{color:var(--pwa-primary)}.pwa-install-banner:before{content:"📱";position:absolute;top:-8px;left:20px;font-size:1.5rem;background:var(--bg-color);padding:4px 8px;border-radius:8px;border:1px solid var(--pwa-banner-border)}.pwa-update-banner .pwa-banner-text h4{color:var(--pwa-success)}.pwa-update-banner:before{content:"🔄";position:absolute;top:-8px;left:20px;font-size:1.5rem;background:var(--bg-color);padding:4px 8px;border-radius:8px;border:1px solid var(--pwa-banner-border)}.pwa-toast-container{position:fixed;top:20px;right:20px;z-index:var(--pwa-z-toast);display:flex;flex-direction:column;gap:8px;max-width:320px}.pwa-toast{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-md);transform:translate(100%);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:280px}.pwa-toast.pwa-toast-show{transform:translate(0);opacity:1}.pwa-toast-content{padding:12px 16px;display:flex;align-items:center;gap:12px}.pwa-toast-icon{font-size:1.2rem;flex-shrink:0}.pwa-toast-message{font-size:.875rem;color:var(--text-color);line-height:1.4}.pwa-toast-success{border-left:4px solid var(--pwa-success)}.pwa-toast-error{border-left:4px solid var(--pwa-error)}.pwa-toast-warning{border-left:4px solid var(--pwa-warning)}.pwa-toast-info{border-left:4px solid var(--pwa-info)}.pwa-status{position:fixed;top:70px;right:20px;z-index:var(--pwa-z-banner);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:8px 12px;font-size:.75rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px;opacity:0;transform:translateY(-10px);transition:all .3s ease}.pwa-status.show{opacity:1;transform:translateY(0)}.pwa-status-dot{width:8px;height:8px;border-radius:50%;background:var(--pwa-success);animation:pulse 2s infinite}.pwa-status.offline .pwa-status-dot{background:var(--pwa-error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pwa-debug{position:fixed;bottom:20px;right:20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;padding:16px;font-size:.75rem;color:var(--text-secondary);max-width:280px;z-index:var(--pwa-z-banner);opacity:0;visibility:hidden;transition:all .3s ease}.pwa-debug.show{opacity:1;visibility:visible}.pwa-debug h4{margin:0 0 8px;color:var(--text-color);font-size:.875rem}.pwa-debug ul{margin:0;padding-left:16px;list-style:disc}.pwa-debug li{margin-bottom:4px}.pwa-debug .status-good{color:var(--pwa-success)}.pwa-debug .status-warning{color:var(--pwa-warning)}.pwa-debug .status-error{color:var(--pwa-error)}@media(max-width:768px){.pwa-banner{bottom:10px;width:calc(100% - 20px);left:50%}.pwa-banner-content{padding:16px;flex-direction:column;align-items:stretch;gap:12px}.pwa-banner-actions{justify-content:center}.pwa-btn{flex:1;max-width:120px}.pwa-toast-container{right:10px;left:10px;max-width:none}.pwa-toast{min-width:auto}.pwa-debug{right:10px;left:10px;max-width:none}}@media(max-width:480px){.pwa-banner-content{padding:12px}.pwa-banner-text h4{font-size:.875rem}.pwa-banner-text p{font-size:.8125rem}.pwa-btn{padding:6px 12px;font-size:.8125rem}}@keyframes slideInUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes slideOutDown{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(100%);opacity:0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(prefers-contrast:high){.pwa-banner,.pwa-toast{border-width:2px;background:var(--bg-color);-webkit-backdrop-filter:none;backdrop-filter:none}.pwa-btn{border-width:2px}}@media(prefers-reduced-motion:reduce){.pwa-banner{transition:opacity .2s ease;transform:translate(-50%) translateY(0)}.pwa-banner.hidden{opacity:0;pointer-events:none}.pwa-toast{transition:opacity .2s ease;transform:translate(0)}.pwa-status-dot{animation:none}}@media(max-width:1200px){.container{padding:0 var(--space-lg)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.project-card.featured{grid-column:span 1}}@media(max-width:768px){.container{padding:0 var(--space-md)}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;padding:var(--space-lg);border-top:1px solid var(--glass-border);gap:var(--space-md)}.nav-menu.active,.hamburger{display:flex}.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)}.hero-title{font-size:var(--font-size-3xl)}.hero-actions{flex-direction:column;align-items:center}.hero-content{padding:var(--space-xl)}.projects-grid{grid-template-columns:1fr;gap:var(--space-lg);grid-auto-rows:minmax(380px,auto)}.project-card.featured{grid-column:span 1}.project-card{max-width:500px;margin:0 auto;width:100%}.project-content{padding:var(--space-lg)}.project-image{height:180px}.project-filters{gap:var(--space-xs);margin-bottom:var(--space-xl);justify-content:center}.filter-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.filter-count{display:none}.projects-loading{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr;gap:var(--space-lg)}.contact-info,.contact-form{padding:var(--space-lg)}section{padding:var(--space-xl) 0}.section-title{font-size:var(--font-size-2xl)}}@media(max-width:480px){.container{padding:0 var(--space-sm)}.hero-title{font-size:var(--font-size-2xl)}.section-title{font-size:var(--font-size-xl)}section{padding:var(--space-lg) 0}.hero-content{padding:var(--space-lg)}.contact-info,.contact-form{padding:var(--space-md)}.about-content{padding:var(--space-lg)}.projects-grid{grid-template-columns:1fr;gap:var(--space-md);grid-auto-rows:minmax(320px,auto)}.project-card{margin:0;max-width:100%}.project-content{padding:var(--space-md);gap:var(--space-sm)}.project-image{height:140px}.project-title{font-size:var(--font-size-lg)}.project-description{font-size:var(--font-size-sm);line-height:1.5}.project-tech{gap:4px;margin-bottom:var(--space-sm)}.tech-tag{padding:3px 6px;font-size:10px;border-radius:4px}.project-links{flex-direction:column;gap:var(--space-xs)}.project-link{text-align:center;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}.project-status{top:var(--space-xs);right:var(--space-xs);padding:2px 6px;font-size:9px}.project-filters{margin-bottom:var(--space-lg);gap:4px;padding:0 var(--space-xs)}.filter-btn{padding:6px var(--space-xs);font-size:12px;min-width:60px}.project-skeleton{height:320px}.skeleton-image{height:140px}.skeleton-content{padding:var(--space-md)}.projects-empty{padding:var(--space-xl) var(--space-md)}.projects-empty .empty-icon{font-size:3rem}.projects-empty p{font-size:var(--font-size-base)}.projects-error{padding:var(--space-lg);margin:0 var(--space-sm)}.btn{width:100%;justify-content:center;padding:var(--space-sm);font-size:var(--font-size-sm)}.hero-actions .btn{width:auto;min-width:120px}.project-links .btn{width:100%}.skills-preview{justify-content:center}.skill-tag{font-size:var(--font-size-xs)}.form-group input,.form-group textarea{font-size:var(--font-size-base);padding:var(--space-sm)}}@media(max-width:320px){.hero-title{font-size:var(--font-size-xl)}.container,.nav-container{padding:0 .75rem}.projects-grid{gap:var(--space-sm);grid-auto-rows:minmax(280px,auto)}.project-content{padding:var(--space-sm)}.project-image{height:120px}.project-title{font-size:var(--font-size-base)}.project-description{font-size:12px}.project-filters{flex-wrap:wrap}.filter-btn{font-size:10px;padding:4px 8px}}@media(max-width:1024px)and (orientation:landscape){.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.project-card.featured{grid-column:span 1}}@media(max-width:768px)and (orientation:portrait){.hero{min-height:80vh}.floating-shapes{display:none}.projects-grid{grid-template-columns:1fr}}@media(min-width:1400px){.projects-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}.project-card.featured:first-child{grid-column:span 2}.project-card.featured:first-child .project-image{height:250px}}@media(min-width:1800px){.projects-grid{grid-template-columns:repeat(4,1fr)}.project-card.featured:first-child{grid-column:span 2;grid-row:span 1}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.glass-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.project-card{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}}@media(hover:none)and (pointer:coarse){.project-card:hover,.project-link:hover,.btn:hover,.filter-btn:hover{transform:none}.project-link{min-height:44px;display:flex;align-items:center;justify-content:center}.filter-btn,.btn{min-height:44px}}@media print{.navbar,.theme-toggle,.hamburger,.floating-shapes,.hero-background,.project-filters{display:none}.hero{min-height:auto;padding:2rem 0}.glass-card,.project-card{background:#fff;border:1px solid #ccc;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;break-inside:avoid}.projects-grid{grid-template-columns:1fr;gap:1rem}.project-image,.project-links{display:none}*{color:#000!important;background:#fff!important}.section-title,.project-title{color:#333!important}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.floating-shapes{display:none}.project-card,.skeleton-image,.skeleton-line{animation:none}}
