*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#141414;--bg-card-hover:#1a1a1a;--border-color:#1e1e1e;--border-light:#2a2a2a;--text-primary:#fff;--text-secondary:#999;--text-muted:#666;--accent-green:#22c55e;--accent-green-dim:#22c55e26;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Outfit", "Inter", sans-serif;--font-script:"Great Vibes", cursive;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition:.3s ease}html{scroll-behavior:smooth;max-width:100vw;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw;line-height:1.6;overflow-x:hidden}#root{max-width:100vw;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{border:none;outline:none;font-family:inherit}::selection{background:var(--accent-green);color:var(--bg-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.perimeter-wrapper{pointer-events:none;z-index:9998;border-radius:24px;position:fixed;inset:12px}.perimeter-wrapper:before{content:"";border-radius:inherit;border:1px solid var(--border-color);opacity:.5;position:absolute;inset:0}.perimeter-trail-container{border-radius:inherit;-webkit-mask-composite:xor;padding:2px;position:absolute;inset:-1px;overflow:hidden;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.perimeter-trail-container:after{content:"";transform-origin:50%;background:conic-gradient(#0000 0% 40%,#22c55e00 40%,#22c55e80 60%,#fff 70%,#22c55e80 80%,#22c55e00 100%);width:150vmax;height:150vmax;animation:10s linear infinite spinPerimeter;position:absolute;top:50%;left:50%}@keyframes spinPerimeter{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.app{min-height:100vh;position:relative}main{padding-right:60px}.side-nav{z-index:100;background:var(--bg-card);border-left:1px solid var(--border-color);border-radius:var(--radius-lg) 0 0 var(--radius-lg);flex-direction:column;align-items:center;gap:4px;padding:12px 10px;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.nav-link{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-muted);transition:all var(--transition);justify-content:center;align-items:center;display:flex;position:relative}.nav-link:hover{color:var(--text-primary);background:var(--bg-card-hover)}.nav-link.active{color:var(--accent-green);background:var(--accent-green-dim)}.nav-link .tooltip{background:var(--bg-card);color:var(--text-primary);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition);border:1px solid var(--border-color);padding:6px 12px;font-size:.75rem;font-weight:500;position:absolute;right:52px}.nav-link:hover .tooltip{opacity:1}.hero{padding:80px 40px 40px}.hero-layout{grid-template-columns:320px 1fr;gap:60px;width:100%;max-width:1200px;margin:0 auto;display:grid}.profile-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;align-self:start;align-items:center;padding:28px 24px;display:flex;position:sticky;top:40px}.profile-card-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:24px;display:flex}.logo-mark{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent-green);font-size:.85rem;font-weight:700;font-family:var(--font-heading);justify-content:center;align-items:center;display:flex}.availability-badge{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.72rem;font-weight:500;display:flex}.pulse-dot{background:var(--accent-green);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.profile-photo-wrapper{width:100%;margin-bottom:20px;position:relative}.profile-photo{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;overflow:hidden}.profile-photo img{object-fit:cover;width:100%;height:100%}.photo-placeholder{width:100%;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.photo-placeholder span{font-size:.75rem}.profile-name-overlay{font-family:var(--font-script);color:var(--text-primary);text-shadow:0 2px 16px #000c;font-size:2.8rem;font-weight:400;line-height:1;position:absolute;bottom:16px;left:16px}.profile-info{text-align:center;margin-bottom:20px}.profile-email{color:var(--text-primary);margin-bottom:4px;font-size:.82rem;font-weight:500}.profile-location{color:var(--text-muted);font-size:.75rem}.profile-socials{gap:10px;margin-bottom:24px;display:flex}.social-icon{background:var(--bg-secondary);border:1px solid var(--border-light);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.social-icon:hover{color:var(--text-primary);border-color:var(--text-muted)}.download-cv-btn{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition);justify-content:space-between;align-items:center;padding:14px 20px;font-size:.85rem;font-weight:500;display:flex}.download-cv-btn:hover{border-color:var(--accent-green);color:var(--accent-green)}.hero-content{flex-direction:column;justify-content:center;min-width:0;padding-top:20px;display:flex;overflow:hidden}.hero-location{color:var(--text-muted);margin-bottom:48px;font-size:.82rem}.hero-time{color:var(--text-secondary);margin-left:12px}.intro-label{color:var(--text-secondary);margin-bottom:16px;font-size:.82rem;font-weight:500}.hero-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;overflow-wrap:break-word;word-break:break-word;margin-bottom:20px;font-size:3.2rem;font-weight:700;line-height:1.1}.hero-description{color:var(--text-muted);max-width:520px;margin-bottom:32px;font-size:.95rem;line-height:1.7}.skill-tags{flex-wrap:wrap;gap:10px;margin-bottom:48px;display:flex}.skill-tag{border:1px solid var(--border-light);color:var(--text-secondary);transition:all var(--transition);background:0 0;border-radius:24px;padding:8px 18px;font-size:.82rem;font-weight:500}.skill-tag:hover{border-color:var(--text-muted);color:var(--text-primary)}.hero-stats{grid-template-columns:1fr 1fr;gap:20px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 24px}.stat-label{color:var(--text-muted);margin-bottom:12px;font-size:.78rem;font-weight:500;display:block}.stat-value{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-size:3rem;font-weight:300;display:block}.section{padding:100px 40px}.section-container{max-width:1100px;margin:0 auto}.section-label{color:var(--accent-green);margin-bottom:12px;font-size:.82rem;font-weight:500}.section-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:16px;font-size:2.4rem;font-weight:700}.section-subtitle{color:var(--text-muted);max-width:500px;margin-bottom:48px;font-size:.95rem;line-height:1.6}.about-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;display:grid}.about-text p{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem;line-height:1.8}.about-text strong{color:var(--text-primary);font-weight:600}.about-highlights{flex-direction:column;gap:16px;display:flex}.highlight-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition);padding:24px}.highlight-card:hover{border-color:var(--border-light)}.highlight-icon{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--accent-green);justify-content:center;align-items:center;margin-bottom:14px;display:flex}.highlight-card h3{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:6px;font-size:1rem;font-weight:600}.highlight-card p{color:var(--text-muted);font-size:.82rem;line-height:1.5}.skills-section{background:var(--bg-secondary)}.skills-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition), transform var(--transition);padding:28px 24px}.skill-card:hover{border-color:var(--border-light);transform:translateY(-2px)}.skill-card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.skill-card-icon{color:var(--accent-green)}.skill-card-category{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--bg-secondary);border-radius:12px;padding:4px 10px;font-size:.7rem;font-weight:600}.skill-card-name{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:6px;font-size:1.1rem;font-weight:600}.skill-card-desc{color:var(--text-muted);margin-bottom:18px;font-size:.82rem;line-height:1.5}.skill-bar{background:var(--bg-secondary);border-radius:2px;height:4px;overflow:hidden}.skill-bar-fill{background:var(--accent-green);border-radius:2px;width:0%;height:100%;transition:width 1.2s ease-out}.projects-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition);overflow:hidden}.project-card:hover{border-color:var(--border-light);transform:translateY(-3px)}.project-image{aspect-ratio:16/10;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-image img{transform:scale(1.03)}.project-overlay{opacity:0;transition:opacity var(--transition);background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-link{background:var(--text-primary);width:48px;height:48px;color:var(--bg-primary);transition:transform var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.project-link:hover{transform:scale(1.1)}.project-info{padding:24px}.project-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:8px;font-size:1.2rem;font-weight:600}.project-desc{color:var(--text-muted);margin-bottom:16px;font-size:.85rem;line-height:1.6}.project-tech{flex-wrap:wrap;gap:8px;display:flex}.project-tech span{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:16px;padding:4px 12px;font-size:.72rem;font-weight:500}.posters-section{background:var(--bg-secondary)}.posters-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;display:grid}.poster-card{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);transition:border-color var(--transition), transform var(--transition);overflow:hidden}.poster-card:hover{border-color:var(--border-light);transform:translateY(-2px)}.poster-card img{aspect-ratio:3/4;object-fit:cover;width:100%}.poster-placeholder{aspect-ratio:3/4;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.poster-placeholder p{font-size:.85rem;font-weight:500}.poster-placeholder span{color:var(--border-light);font-size:.72rem}.contact-grid{grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;display:grid}.contact-cards{flex-direction:column;gap:16px;display:flex}.contact-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition);align-items:center;gap:16px;padding:24px;display:flex}.contact-card:hover{border-color:var(--border-light)}.contact-icon{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);width:48px;min-width:48px;height:48px;color:var(--accent-green);justify-content:center;align-items:center;display:flex}.contact-card h3{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:2px;font-size:.95rem;font-weight:600}.contact-card p{color:var(--text-muted);font-size:.82rem}.contact-form{flex-direction:column;gap:16px;display:flex}.form-group input,.form-group textarea{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition);padding:14px 18px;font-size:.9rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-green)}.form-group textarea{resize:vertical;min-height:120px}.form-submit-btn{background:var(--accent-green);color:var(--bg-primary);border-radius:var(--radius-md);transition:all var(--transition);justify-content:center;align-self:flex-start;align-items:center;gap:10px;padding:14px 28px;font-size:.9rem;font-weight:600;display:flex}.form-submit-btn:hover{opacity:.9;transform:translateY(-1px)}.greeting-container{z-index:9999;pointer-events:none;position:fixed;top:15px;left:50%;transform:translate(-50%)}.greeting-text{-webkit-backdrop-filter:blur(8px);color:var(--text-primary);white-space:nowrap;background:#141414d9;border:1px solid #2a2a2acc;border-radius:24px;padding:8px 24px;font-size:.9rem;font-weight:500;animation:9s ease-in-out infinite pulseGreeting;display:inline-block;box-shadow:0 4px 12px #0000004d}@keyframes pulseGreeting{0%{opacity:0}5%{opacity:1}72%{opacity:1}78%{opacity:0}to{opacity:0}}.footer{border-top:1px solid var(--border-color);text-align:center;padding:32px 40px}.footer p{color:var(--text-muted);font-size:.82rem}.mobile-nav-toggle{z-index:200;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-primary);justify-content:center;align-items:center;display:none;position:fixed;top:20px;right:20px}.mobile-nav-overlay{display:none}@media (width<=1024px){.hero-layout{grid-template-columns:280px 1fr;gap:40px}.hero-title{font-size:2.6rem}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.side-nav{display:none}.mobile-nav-toggle{display:flex}.mobile-nav-overlay{z-index:150;opacity:0;pointer-events:none;transition:opacity var(--transition);background:#000c;display:block;position:fixed;inset:0}.mobile-nav-overlay.open{opacity:1;pointer-events:all}.mobile-nav-menu{background:var(--bg-card);border-left:1px solid var(--border-color);z-index:160;width:280px;height:100vh;transition:right var(--transition);flex-direction:column;gap:4px;padding:80px 24px 40px;display:flex;position:fixed;top:0;right:-280px}.mobile-nav-overlay.open .mobile-nav-menu{right:0}.mobile-nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition);align-items:center;gap:12px;padding:14px 16px;font-size:.9rem;font-weight:500;display:flex}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--text-primary);background:var(--bg-card-hover)}.mobile-nav-link.active{color:var(--accent-green)}main{padding-right:0}.hero{min-height:auto;padding:80px 20px 20px}.hero-layout{grid-template-columns:1fr;gap:40px}.profile-card{max-width:360px;margin:0 auto;position:static}.hero-title,.stat-value{font-size:2.2rem}.hero-stats{grid-template-columns:1fr}.section{padding:60px 20px}.about-grid{grid-template-columns:1fr;gap:32px}.skills-grid,.projects-grid,.posters-grid{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:20px;margin-left:-20px;margin-right:-20px;padding-bottom:20px;padding-left:20px;padding-right:20px;scroll-padding-left:20px;display:flex;overflow:auto hidden}.skills-grid::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.projects-grid::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.posters-grid::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.skill-card,.project-card,.poster-card{scroll-snap-align:center;flex:0 0 85%;width:85%;min-width:85%;max-width:85%}.contact-grid{grid-template-columns:1fr;gap:32px}.section-title{font-size:1.8rem}}@media (width<=480px){.hero{padding:70px 16px 16px}.hero-title{font-size:1.8rem}.hero-stats{grid-template-columns:1fr}.section{padding:48px 16px}.section-title{font-size:1.6rem}.footer{padding:24px 16px}}
