:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #1a1a2e;--bg-card-hover: #222240;--bg-glass: rgba(26, 26, 46, .6);--text-primary: #f0f0f5;--text-secondary: #a0a0b8;--text-muted: #6b6b82;--accent-primary: #7c5cfc;--accent-secondary: #00d4aa;--accent-warm: #ff6b6b;--accent-gold: #ffd700;--gradient-primary: linear-gradient(135deg, #7c5cfc 0%, #00d4aa 100%);--gradient-warm: linear-gradient(135deg, #ff6b6b 0%, #ffd700 100%);--gradient-hero: linear-gradient(180deg, #0a0a0f 0%, #12121a 50%, #0a0a0f 100%);--gradient-card: linear-gradient(145deg, rgba(124, 92, 252, .08), rgba(0, 212, 170, .08));--border-subtle: rgba(124, 92, 252, .15);--border-glow: rgba(124, 92, 252, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 64px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(124, 92, 252, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", var(--font-sans);--font-mono: "JetBrains Mono", monospace;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;max-width:100%;margin:0;padding:0;text-align:left}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}::selection{background:#7c5cfc59;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9b7dfc}.section{max-width:1200px;margin:0 auto;padding:0 20px}.section-header{text-align:center;margin-bottom:48px}.section-badge{display:inline-block;padding:6px 16px;font-size:.8rem;font-weight:600;color:var(--accent-primary);background:#7c5cfc1a;border:1px solid rgba(124,92,252,.2);border-radius:50px;margin-bottom:16px}.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--text-primary);margin-bottom:12px}.section-subtitle{font-size:clamp(.9rem,2vw,1.05rem);color:var(--text-secondary);max-width:500px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);text-decoration:none;border:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 20px #7c5cfc4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #7c5cfc73}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#7c5cfc0f}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,40px);height:70px;background:transparent;transition:.3s background}.navbar.scrolled{background:#0a0a0fd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md)}.nav-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{position:relative;padding:8px 18px;font-size:.9rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;overflow:hidden;transition:color .3s ease,letter-spacing .4s cubic-bezier(.22,1,.36,1)}.nav-link-label{position:relative;z-index:1;display:inline-block;transition:transform .35s cubic-bezier(.22,1,.36,1)}.nav-link-line{position:absolute;bottom:2px;left:50%;width:0;height:2px;background:var(--gradient-primary);border-radius:2px;transform:translate(-50%);transition:width .4s cubic-bezier(.22,1,.36,1);box-shadow:0 0 8px #7c5cfc00}.nav-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(124,92,252,.15),transparent 70%);border-radius:50%;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease;pointer-events:none}.nav-link:hover{color:var(--text-primary);letter-spacing:.04em}.nav-link:hover .nav-link-label{transform:translateY(-1px)}.nav-link:hover .nav-link-line{width:80%;box-shadow:0 0 12px #7c5cfc80}.nav-link:hover:before{width:120px;height:120px}.nav-link.active{color:var(--accent-primary)}.nav-link.active .nav-link-line{width:60%;box-shadow:0 0 10px #7c5cfc66}.nav-link.active:before{width:80px;height:80px}.lang-selector{display:flex;gap:4px;margin-left:12px;padding:4px;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.lang-btn{padding:4px 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);border-radius:6px;transition:var(--transition-fast);background:none;border:none;cursor:pointer}.lang-btn:hover{color:var(--text-secondary)}.lang-btn.active{background:var(--accent-primary);color:#fff}.nav-overlay{position:fixed;inset:0;background:#00000080;z-index:998}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer;z-index:1001}.nav-toggle span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:var(--transition-fast)}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:100px clamp(20px,5vw,60px) 60px;overflow:hidden;background:var(--gradient-hero)}.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:blobFloat 8s ease-in-out infinite}.hero-blob-1{width:min(400px,60vw);height:min(400px,60vw);background:var(--accent-primary);top:-10%;right:10%;animation-delay:0s}.hero-blob-2{width:min(300px,50vw);height:min(300px,50vw);background:var(--accent-secondary);bottom:10%;left:-5%;animation-delay:-3s}.hero-blob-3{width:min(250px,40vw);height:min(250px,40vw);background:var(--accent-warm);top:40%;right:-5%;animation-delay:-5s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.hero-content{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(24px,5vw,60px);max-width:1200px;margin:0 auto;width:100%}.hero-text{flex:1;min-width:0}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:50px;font-size:clamp(.7rem,1.5vw,.8rem);color:var(--accent-primary);margin-bottom:20px}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent-secondary);flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.hero-greeting{font-size:clamp(.95rem,2vw,1.1rem);color:var(--text-secondary);margin-bottom:8px}.hero-name{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:12px}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-role{font-size:clamp(1rem,2.5vw,1.2rem);color:var(--accent-primary);font-weight:500;margin-bottom:16px}.hero-desc{font-size:clamp(.9rem,1.8vw,1rem);color:var(--text-secondary);line-height:1.7;max-width:500px;margin-bottom:28px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:40px}.hero-stats{display:flex;gap:clamp(16px,4vw,32px);padding-top:28px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.hero-stat-number{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-label{font-size:clamp(.7rem,1.5vw,.8rem);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.hero-visual{flex-shrink:0}.hero-avatar-wrapper{position:relative;width:clamp(180px,25vw,320px);height:clamp(180px,25vw,320px)}.hero-avatar-ring{position:absolute;inset:-12px;border-radius:50%;border:2px solid transparent;background:var(--gradient-primary) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinRing 8s linear infinite}@keyframes spinRing{to{transform:rotate(360deg)}}.hero-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--bg-card)}.about-section{padding:clamp(60px,8vw,100px) clamp(16px,4vw,40px);background:var(--bg-secondary)}.about-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,5vw,60px);align-items:start}.about-image-wrap{position:relative}.about-image{width:100%;border-radius:var(--radius-lg);object-fit:cover;aspect-ratio:3/4;border:2px solid var(--border-subtle)}.about-image-decoration{position:absolute;inset:16px -16px -16px 16px;border:2px solid var(--accent-primary);border-radius:var(--radius-lg);z-index:-1;opacity:.3}.about-content h3{font-family:var(--font-display);font-size:1.3rem;color:var(--accent-primary);margin:28px 0 14px}.about-content h3:first-child{margin-top:0}.about-content p{color:var(--text-secondary);line-height:1.8;margin-bottom:12px}.skills-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.skill-tag{padding:6px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:50px;font-size:.85rem;color:var(--text-secondary);transition:var(--transition-fast)}.skill-tag:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#7c5cfc14}.experience-list{margin-bottom:24px}.experience-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-subtle);transition:border-color var(--transition-fast)}.experience-item:hover{border-color:var(--accent-primary)}.exp-dot{width:12px;height:12px;border-radius:50%;background:var(--accent-primary);flex-shrink:0;margin-top:6px}.exp-date{font-size:.8rem;color:var(--accent-secondary);font-weight:600;text-transform:uppercase;letter-spacing:1px}.exp-role{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.exp-company{font-size:.9rem;color:var(--accent-primary)}.exp-desc{font-size:.85rem;color:var(--text-muted);margin-top:4px}.portfolio-section{padding:clamp(60px,8vw,100px) clamp(16px,4vw,40px);background:var(--bg-primary)}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px}.filter-btn{padding:8px 20px;font-size:.85rem;font-weight:600;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:50px;cursor:pointer;transition:var(--transition-fast)}.filter-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px}.portfolio-empty{margin:0 auto 26px;padding:10px 16px;width:fit-content;color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);font-size:.9rem}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);animation:cardFadeIn .5s ease-out both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-glow);border-color:var(--border-glow)}.project-card.search-hit{border-color:var(--accent-secondary);box-shadow:0 0 0 2px #00d4aa80,0 0 24px #00d4aa59}.project-thumbnail{position:relative;height:200px;overflow:hidden;background:var(--bg-secondary)}.project-thumbnail img,.project-thumbnail video{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth)}.project-card:hover .project-thumbnail img,.project-card:hover .project-thumbnail video{transform:scale(1.08)}.project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--gradient-card)}.project-overlay{position:absolute;inset:0;background:#0a0a0fbf;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.project-card:hover .project-overlay{opacity:1}.project-overlay-icon{font-size:2rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);border-radius:50%;transform:scale(0);transition:transform var(--transition-bounce)}.project-card:hover .project-overlay-icon{transform:scale(1)}.project-info{padding:20px}.project-category-badge{display:inline-block;padding:4px 12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--accent-secondary);background:#00d4aa1a;border-radius:50px;margin-bottom:10px}.project-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.project-desc{font-size:.85rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tech-tag{padding:3px 10px;font-size:.7rem;font-weight:600;background:#7c5cfc1a;color:var(--accent-primary);border-radius:50px;border:1px solid rgba(124,92,252,.2)}.modal-backdrop{position:fixed;inset:0;z-index:2000;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;z-index:10;width:36px;height:36px;border-radius:50%;background:#00000080;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}.modal-close:hover{background:var(--accent-warm);border-color:transparent}.modal-media{width:100%;aspect-ratio:16/10;background:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden}.modal-media img,.modal-media video{width:100%;height:100%;object-fit:contain}.modal-media iframe{width:100%;height:100%;border:none}.gallery-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:var(--bg-secondary)}.gallery-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}.gallery-btn:hover{background:var(--accent-primary);border-color:transparent}.gallery-dots{display:flex;gap:8px}.gallery-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);cursor:pointer;transition:var(--transition-fast)}.gallery-dot.active{background:var(--accent-primary);transform:scale(1.3)}.modal-body{padding:24px}.modal-title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:10px}.modal-desc{color:var(--text-secondary);line-height:1.7;margin-bottom:20px}.modal-actions{display:flex;gap:12px;flex-wrap:wrap}.contact-section{padding:clamp(60px,8vw,100px) clamp(16px,4vw,40px);background:var(--bg-secondary)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,4vw,40px);align-items:start}.contact-info-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;transition:var(--transition-fast)}.contact-info-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.contact-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#7c5cfc1a;border-radius:var(--radius-sm);flex-shrink:0}.contact-info-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.contact-info-value{font-size:1rem;color:var(--text-primary);font-weight:500}.contact-link{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.contact-link:hover{color:var(--accent-primary)}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group input,.form-group textarea{width:100%;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:var(--transition-fast);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc26}.form-group textarea{min-height:150px;resize:vertical}.form-feedback{padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;animation:fadeIn .3s ease-out}.form-feedback.success{background:#00d4aa1a;border:1px solid rgba(0,212,170,.3);color:var(--accent-secondary)}.form-feedback.error{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:var(--accent-warm)}.footer{background:var(--bg-primary);border-top:1px solid var(--border-subtle);padding:60px clamp(16px,4vw,40px) 30px}.footer-content{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:clamp(24px,4vw,40px);max-width:1200px;margin:0 auto 40px}.footer-brand{font-family:var(--font-display);font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}.footer-desc{color:var(--text-muted);font-size:.9rem;line-height:1.7;margin-bottom:16px}.footer-social{display:flex;gap:12px}.social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:1.2rem;color:var(--text-secondary);text-decoration:none;transition:var(--transition-fast)}.social-link:hover{transform:translateY(-3px)}.social-link.github:hover{border-color:#333;background:#333;color:#fff}.social-link.linkedin:hover{border-color:#0a66c2;background:#0a66c2;color:#fff}.social-link.twitter:hover{border-color:#000;background:#000;color:#fff}.footer-column h4{font-family:var(--font-display);font-size:1.1rem;color:var(--text-primary);margin-bottom:12px}.footer-column p{color:var(--text-muted);font-size:.85rem;line-height:1.6;margin-bottom:14px}.footer-search{display:flex;gap:8px}.footer-search input{flex:1;min-width:0;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none;transition:var(--transition-fast)}.footer-search input::placeholder{color:var(--text-muted)}.footer-search input:focus{border-color:var(--accent-primary)}.footer-search button{display:flex;align-items:center;justify-content:center;padding:10px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.footer-search button:hover{background:#6a4ae0;transform:scale(1.05)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--border-subtle);max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:8px}.footer-bottom span{font-size:.8rem;color:var(--text-muted)}@media(max-width:1024px){.hero-avatar-wrapper{width:250px;height:250px}.footer-content{grid-template-columns:1fr 1fr}}@media(max-width:900px){.hero{padding:100px 20px 40px}.hero-content{flex-direction:column-reverse;text-align:center}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions,.hero-stats{justify-content:center}.hero-avatar-wrapper{width:200px;height:200px}.about-grid{grid-template-columns:1fr;gap:30px}.about-image-wrap{max-width:300px;margin:0 auto}.contact-grid{grid-template-columns:1fr}}@media(max-width:768px){.navbar{padding:0 16px}.nav-toggle{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:min(280px,80vw);height:100vh;height:100dvh;flex-direction:column;justify-content:center;gap:16px;background:var(--bg-secondary);border-left:1px solid var(--border-subtle);transition:right var(--transition-smooth);z-index:999;padding:20px}.nav-links.open{right:0}.nav-link{font-size:1.1rem;padding:12px 20px;width:100%;text-align:left}.lang-selector{margin-left:0;margin-top:16px;align-self:flex-start}.portfolio-section{padding:60px 16px}.projects-grid,.form-row{grid-template-columns:1fr}.modal{max-height:95vh;max-height:95dvh;border-radius:var(--radius-lg)}.modal-media{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-body{padding:16px}.footer-content{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;text-align:center}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:100%;max-width:280px;justify-content:center}}@media(max-width:400px){.hero-name{font-size:1.8rem}.hero-badge{font-size:.65rem;padding:6px 12px}.hero-stats{gap:12px}.hero-stat-number{font-size:1.2rem}.section-title{font-size:1.6rem}.btn{padding:10px 20px;font-size:.85rem}.skill-tag{padding:4px 12px;font-size:.8rem}.filter-btn{padding:6px 14px;font-size:.8rem}}
