.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.hero-content{text-align:center;max-width:800px;margin:0 auto}.hero-title{font-size:clamp(2.5rem,8vw,5rem);font-weight:700;margin-bottom:1rem;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);margin-bottom:1.5rem;font-weight:400}.hero-description{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--text-secondary);margin-bottom:3rem;line-height:1.8;max-width:600px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;border-radius:8px;font-weight:500;font-size:1rem;transition:all .3s ease;position:relative;overflow:hidden;border:2px solid transparent}.btn span{position:relative;z-index:1}.btn-primary{background:var(--gradient-1);color:var(--bg-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #3b82f64d}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translateY(-2px)}.hero-social{display:flex;gap:1.5rem;justify-content:center}.social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:1.25rem;transition:all .3s ease;border:1px solid var(--border-color)}.social-link:hover{background:var(--bg-tertiary);color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-2px)}@media (max-width: 768px){.hero-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:250px}}.about{padding:100px 0}.section-title{font-size:clamp(2rem,5vw,3rem);text-align:center;margin-bottom:4rem;position:relative;display:inline-block;width:100%}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--gradient-1);border-radius:2px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-text p{color:var(--text-secondary);font-size:1.125rem;line-height:1.8;margin-bottom:1.5rem}.about-text p:last-child{margin-bottom:0}.about-skills h3{font-size:1.5rem;margin-bottom:2rem;color:var(--text-primary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.skill-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:all .3s ease}.skill-item:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translateY(-4px)}.skill-icon{font-size:2rem;color:var(--accent-primary);display:block;margin-bottom:.5rem}.skill-name{font-size:.875rem;color:var(--text-secondary);font-weight:500}@media (max-width: 968px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-skills{max-width:600px;margin:0 auto}}@media (max-width: 640px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.skill-item{padding:1rem .75rem}.skill-icon{font-size:1.5rem}}.projects{padding:120px 0;background:var(--bg-secondary);position:relative}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2.5rem;margin-bottom:3.5rem}.project-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;padding:2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.project-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,transparent 0%,var(--accent-primary) 50%,transparent 100%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:xor;opacity:0;transition:opacity .4s ease}.project-card:hover{border-color:var(--accent-primary);box-shadow:0 20px 25px -5px #3b82f61a,0 10px 10px -5px #3b82f60a,0 0 0 1px #3b82f60d;transform:translateY(-8px) scale(1.02)}.project-card:hover:before{opacity:.3}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem}.project-header h3{font-size:1.625rem;color:var(--text-primary);font-weight:700;line-height:1.3;margin:0;flex:1}.project-links{display:flex;gap:1rem;flex-shrink:0}.project-links a{color:var(--text-secondary);font-size:1.375rem;transition:all .3s cubic-bezier(.4,0,.2,1);padding:.5rem;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.project-links a:hover{color:var(--accent-primary);transform:translateY(-3px) scale(1.1);box-shadow:0 4px 12px #3b82f633;border-color:var(--accent-primary);background:#3b82f60d}.project-description{color:var(--text-secondary);line-height:1.7;margin-bottom:1.75rem;font-size:1.025rem;opacity:.9}.project-tech{display:flex;flex-wrap:wrap;gap:.75rem}.tech-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:.5rem 1rem;border-radius:24px;font-size:.875rem;font-weight:600;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tech-tag:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s ease}.project-card:hover .tech-tag{border-color:var(--accent-primary);color:var(--accent-primary);background:#3b82f60d;transform:translateY(-2px)}.project-card:hover .tech-tag:before{left:100%}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}}@media (max-width: 768px){.projects{padding:80px 0}.projects-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.project-card{padding:2rem;border-radius:16px}.project-card:before{border-radius:16px}.project-header{flex-direction:column;align-items:flex-start;gap:1rem}.project-header h3{font-size:1.375rem}.project-links{align-self:flex-end}.project-links a{font-size:1.25rem;padding:.375rem}.tech-tag{padding:.375rem .875rem;font-size:.8rem}}@media (max-width: 480px){.projects-grid{grid-template-columns:1fr}.project-card{padding:1.5rem}.project-header{margin-bottom:1rem}.project-description{font-size:.95rem;margin-bottom:1.5rem}}.contact{padding:100px 0 0;min-height:80vh;display:flex;flex-direction:column;justify-content:space-between}.contact-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:800px;margin:0 auto;width:100%}.contact-intro{font-size:1.125rem;color:var(--text-secondary);line-height:1.8;margin-bottom:3rem;max-width:600px}.contact-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%;margin-bottom:3rem}.contact-method:last-child:nth-child(odd){grid-column:1 / -1;width:calc(50% - .75rem);margin:0 auto}.contact-method{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease;text-align:left}.contact-method:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translateY(-4px)}.contact-icon{font-size:2rem;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;width:48px;height:48px}.contact-details{display:flex;flex-direction:column;gap:.25rem}.contact-label{font-size:.875rem;color:var(--text-tertiary);font-weight:500}.contact-value{font-size:1rem;color:var(--text-primary);font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.contact-value.email{overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:none;hyphens:none}.contact-cta{margin-top:2rem}.footer{background:var(--bg-secondary);padding:2rem 0;text-align:center;margin-top:100px;border-top:1px solid var(--border-color)}.footer p{color:var(--text-tertiary);font-size:.875rem}@media (max-width: 768px){.contact-methods{grid-template-columns:1fr;gap:1rem}.contact-method{padding:1.25rem}.contact-method:last-child:nth-child(odd){width:100%;grid-column:unset}.contact-intro{font-size:1rem;margin-bottom:2rem}}.app{min-height:100vh;position:relative;overflow:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.background-effects{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.2;animation:float 20s infinite ease-in-out}.gradient-orb-1{width:600px;height:600px;background:var(--gradient-1);top:-300px;right:-300px;animation-delay:0s}.gradient-orb-2{width:400px;height:400px;background:linear-gradient(135deg,#06b6d4,#0891b2);bottom:-200px;left:-200px;animation-delay:5s}.gradient-orb-3{width:500px;height:500px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);top:50%;left:50%;animation:float-centered 20s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-20px) scale(1.05)}50%{transform:translateY(10px) scale(.95)}75%{transform:translateY(-10px) scale(1.02)}}@keyframes float-centered{0%,to{transform:translate(-50%,-50%) translateY(0) scale(1)}25%{transform:translate(-50%,-50%) translateY(-20px) scale(1.05)}50%{transform:translate(-50%,-50%) translateY(10px) scale(.95)}75%{transform:translate(-50%,-50%) translateY(-10px) scale(1.02)}}section{padding:80px 0}@media (max-width: 768px){.container{padding:0 16px}section{padding:60px 0}.gradient-orb{filter:blur(80px)}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-tertiary: #707070;--accent-primary: #3b82f6;--accent-secondary: #1d4ed8;--border-color: #2a2a2a;--gradient-1: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--gradient-2: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background-color:var(--accent-primary);color:var(--bg-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}
