*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-dark: #0a0a0a;--text-primary: #0a0a0a;--text-secondary: #3a3a3a;--text-muted: #888888;--accent: #000000;--border: #e8e8e8;--border-dark: #1a1a1a}::selection{background:var(--bg-dark);color:var(--bg-primary)}html{scroll-behavior:smooth}body{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;font-size:16px}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 48px}section{padding:120px 0;position:relative}.section-header{margin-bottom:80px}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:16px;display:block}.section-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.03em;line-height:1.1}.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;font-family:inherit;font-size:.875rem;font-weight:500;letter-spacing:.02em;border:1px solid var(--border);background:transparent;color:var(--text-primary);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:-1}.btn:hover{color:var(--bg-primary);border-color:var(--bg-dark)}.btn:hover:before{transform:translateY(0)}.btn-primary{background:var(--bg-dark);color:var(--bg-primary);border-color:var(--bg-dark)}.btn-primary:before{background:var(--bg-primary)}.btn-primary:hover{color:var(--text-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards}.link-hover{position:relative;display:inline-block}.link-hover:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--text-primary);transition:width .3s cubic-bezier(.4,0,.2,1)}.link-hover:hover:after{width:100%}@media(max-width:768px){body{font-size:15px}section{padding:80px 0}.container{padding:0 24px}.section-header{margin-bottom:48px}.section-title{font-size:2rem}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:24px 0;transition:all .5s cubic-bezier(.4,0,.2,1);background-color:transparent}.navbar.scrolled{background-color:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:16px 0}.navbar-container{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);transition:opacity .3s ease}.navbar-logo:hover{opacity:.6}.navbar-menu{display:flex;gap:40px}.navbar-link{font-size:.875rem;color:var(--text-secondary);transition:color .3s ease;position:relative;text-transform:capitalize}.navbar-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--text-primary);transition:width .3s cubic-bezier(.4,0,.2,1)}.navbar-link:hover{color:var(--text-primary)}.navbar-link:hover:after{width:100%}.navbar-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--text-primary);transition:opacity .3s ease}.navbar-toggle:hover{opacity:.6}@media(max-width:768px){.navbar-container{padding:0 24px}.navbar-toggle{display:flex;align-items:center;justify-content:center;z-index:1001}.navbar-menu{position:fixed;inset:0;background-color:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:32px;opacity:0;visibility:hidden;transition:all .5s cubic-bezier(.4,0,.2,1)}.navbar-menu.active{opacity:1;visibility:visible}.navbar-link{font-size:2rem;font-weight:500}.navbar-link:after{bottom:-8px;height:2px}}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0;position:relative;overflow:hidden}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.hero-text{max-width:600px}.hero-greeting{font-size:.875rem;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:24px;display:block}.hero-name{font-size:clamp(3rem,8vw,5.5rem);font-weight:600;letter-spacing:-.04em;line-height:1;margin-bottom:24px}.hero-name-line{display:block;overflow:hidden}.hero-name-text{display:block;animation:slideUp .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.2s;opacity:0;transform:translateY(100%)}.hero-name-line:nth-child(2) .hero-name-text{animation-delay:.4s}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.hero-role{font-size:1.25rem;color:var(--text-secondary);margin-bottom:32px;font-weight:400}.hero-description{font-size:1rem;color:var(--text-muted);line-height:1.8;margin-bottom:48px;max-width:480px}.hero-cta{display:flex;gap:16px;flex-wrap:wrap}.hero-visual{display:flex;justify-content:flex-end;align-items:center}.hero-shape{width:400px;height:400px;border:1px solid var(--border);position:relative;animation:float 6s ease-in-out infinite}.hero-shape:before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--border)}.hero-shape:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background:var(--bg-dark);border-radius:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}.hero-links{display:flex;gap:24px;margin-top:64px}.hero-link{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-muted);transition:color .3s ease}.hero-link:hover{color:var(--text-primary)}.hero-scroll{position:absolute;bottom:48px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--text-muted),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.8)}}@media(max-width:1024px){.hero-content{grid-template-columns:1fr;gap:60px}.hero-visual{display:none}}@media(max-width:768px){.hero{padding:100px 0 80px;min-height:auto}.hero-name{font-size:2.5rem}.hero-role{font-size:1.125rem}.hero-cta{flex-direction:column}.hero-cta .btn{text-align:center;justify-content:center}.hero-links{margin-top:48px;justify-content:flex-start}.hero-scroll{display:none}}.about{background:var(--bg-secondary)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-text p{font-size:1.125rem;color:var(--text-secondary);line-height:1.9;margin-bottom:24px}.about-text p:last-child{margin-bottom:0}.highlight{color:var(--text-primary);font-weight:500}.about-details{display:flex;flex-direction:column;gap:48px}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.stat{text-align:left}.stat-value{font-size:3rem;font-weight:600;color:var(--text-primary);letter-spacing:-.03em;line-height:1;margin-bottom:8px;display:block}.stat-label{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.about-list{display:flex;flex-direction:column;gap:16px}.about-list-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:8px}.about-list-item{font-size:1rem;color:var(--text-secondary);padding-left:20px;position:relative}.about-list-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:1px;background:var(--text-muted)}@media(max-width:1024px){.about-content{grid-template-columns:1fr;gap:60px}}@media(max-width:768px){.about-text p{font-size:1rem}.about-stats{grid-template-columns:repeat(3,1fr);gap:24px}.stat-value{font-size:2rem}}.skills-content{display:grid;grid-template-columns:repeat(2,1fr);gap:60px}.skill-category{padding:40px;background:var(--bg-secondary);transition:transform .4s cubic-bezier(.4,0,.2,1)}.skill-category:hover{transform:translateY(-8px)}.category-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}.category-number{font-size:.75rem;color:var(--text-muted);font-weight:500}.category-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.skill-list{display:flex;flex-wrap:wrap;gap:12px}.skill-item{font-size:.9rem;color:var(--text-secondary);padding:10px 20px;border:1px solid var(--border);background:var(--bg-primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.skill-item:hover{background:var(--bg-dark);color:var(--bg-primary);border-color:var(--bg-dark)}@media(max-width:1024px){.skills-content{grid-template-columns:1fr;gap:40px}}@media(max-width:768px){.skill-category{padding:32px 24px}.category-name{font-size:1.125rem}.skill-item{padding:8px 16px;font-size:.85rem}}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.project-card{position:relative;padding:48px 40px;background:var(--bg-secondary);transition:all .5s cubic-bezier(.4,0,.2,1);overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);transform:translateY(100%);transition:transform .5s cubic-bezier(.4,0,.2,1);z-index:0}.project-card:hover:before{transform:translateY(0)}.project-card:hover,.project-card:hover .project-number,.project-card:hover .project-name,.project-card:hover .project-desc,.project-card:hover .tech-tag{color:var(--bg-primary)}.project-card:hover .project-link{color:#fff9}.project-card:hover .project-link:hover{color:var(--bg-primary)}.project-card:hover .tech-tag{border-color:#fff3}.project-card>*{position:relative;z-index:1}.project-number{font-size:.75rem;color:var(--text-muted);margin-bottom:24px;display:block}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-name{font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;transition:color .5s ease}.project-links{display:flex;gap:16px}.project-link{color:var(--text-muted);transition:color .3s ease}.project-link:hover{color:var(--text-primary)}.project-desc{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin-bottom:32px;transition:color .5s ease}.project-tech{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{font-size:.8rem;color:var(--text-muted);padding:6px 14px;border:1px solid var(--border);transition:all .5s ease}.projects-footer{margin-top:60px;text-align:center}.view-all{display:inline-flex;align-items:center;gap:12px;font-size:1rem;color:var(--text-secondary);transition:color .3s ease}.view-all:hover{color:var(--text-primary)}.view-all .arrow{transition:transform .3s ease}.view-all:hover .arrow{transform:translate(4px)}@media(max-width:1024px){.projects-grid{grid-template-columns:1fr;gap:24px}}@media(max-width:768px){.project-card{padding:32px 24px}.project-name{font-size:1.25rem}.project-desc{font-size:.9rem}}.experience{background:var(--bg-secondary)}.experience-timeline{position:relative;max-width:800px}.experience-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--border)}.experience-item{position:relative;padding-left:48px;padding-bottom:64px}.experience-item:last-child{padding-bottom:0}.experience-dot{position:absolute;left:-4px;top:8px;width:9px;height:9px;background:var(--bg-dark);border-radius:50%;transition:transform .3s ease}.experience-item:hover .experience-dot{transform:scale(1.5)}.exp-period{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:12px;display:block}.exp-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px}.exp-company{font-size:1rem;color:var(--text-secondary);margin-bottom:24px;display:block}.exp-tasks{display:flex;flex-direction:column;gap:12px}.exp-tasks li{font-size:1rem;color:var(--text-secondary);line-height:1.7;padding-left:24px;position:relative}.exp-tasks li:before{content:"";position:absolute;left:0;top:12px;width:8px;height:1px;background:var(--text-muted)}@media(max-width:768px){.experience-timeline:before{left:4px}.experience-item{padding-left:32px;padding-bottom:48px}.experience-dot{left:0}.exp-title{font-size:1.25rem}.exp-tasks li{font-size:.9rem}}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-info{max-width:400px}.contact-text{font-size:1.125rem;color:var(--text-secondary);line-height:1.8;margin-bottom:48px}.contact-links{display:flex;flex-direction:column;gap:20px}.contact-link{display:inline-flex;align-items:center;gap:16px;font-size:1rem;color:var(--text-secondary);transition:all .3s ease}.contact-link:hover{color:var(--text-primary);transform:translate(8px)}.contact-form{display:flex;flex-direction:column;gap:32px}.form-group{position:relative}.form-group label{position:absolute;top:16px;left:0;font-size:1rem;color:var(--text-muted);pointer-events:none;transition:all .3s ease}.form-group input,.form-group textarea{width:100%;padding:16px 0;font-family:inherit;font-size:1rem;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--bg-dark)}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{top:-8px;font-size:.75rem;color:var(--text-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:transparent}.form-group textarea{resize:none;min-height:120px}.contact-form .btn{align-self:flex-start;margin-top:16px}@media(max-width:1024px){.contact-content{grid-template-columns:1fr;gap:64px}.contact-info{max-width:100%}}@media(max-width:768px){.contact-text{font-size:1rem}.contact-link{font-size:.9rem}}.footer{padding:48px 0;border-top:1px solid var(--border)}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-left{display:flex;flex-direction:column;gap:8px}.footer-logo{font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.footer-text{color:var(--text-muted);font-size:.875rem}.footer-links{display:flex;gap:32px}.footer-link{font-size:.875rem;color:var(--text-secondary);transition:color .3s ease;position:relative}.footer-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--text-primary);transition:width .3s ease}.footer-link:hover{color:var(--text-primary)}.footer-link:hover:after{width:100%}.scroll-top{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.scroll-top:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:-1}.scroll-top:hover{color:var(--bg-primary);border-color:var(--bg-dark)}.scroll-top:hover:before{transform:translateY(0)}@media(max-width:768px){.footer{padding:40px 0}.footer-content{flex-direction:column;gap:32px;text-align:center}.footer-left{align-items:center}.footer-links{gap:24px}}
