body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-bottom:1px solid var(--border);left:0;padding:1.5rem 0;position:fixed;top:0;width:100%;z-index:100}.dark-mode .header{background:#0f172acc}nav{align-items:center;display:flex;justify-content:space-between}.logo{color:var(--primary);font-size:1.5rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a{color:var(--text);font-weight:500;text-decoration:none;transition:color .3s ease}.dark-mode .nav-links a{color:var(--text-light)}.nav-links a:hover{color:var(--primary)}.nav-links button{background:none;border:none;color:var(--text);cursor:pointer}.dark-mode .nav-links button{color:var(--text-light)}@media (max-width:768px){.nav-links{gap:1.5rem}}.hero{align-items:center;display:flex;min-height:100vh;padding-top:80px}.hero-content{margin:0 auto;max-width:800px;text-align:center}.greeting{color:var(--primary);display:inline-block;font-size:1.2rem;margin-bottom:1rem}.hero h1{font-size:4rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}.name-highlight{background:linear-gradient(90deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:#0000;position:relative}.hero h2{font-size:1.8rem;font-weight:500;margin-bottom:2rem}.hero h2,.hero-text{color:var(--text-light)}.hero-text{font-size:1.2rem;line-height:1.7;margin-bottom:3rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.btn{border-radius:8px;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 10px 20px #8b5cf64d}.btn-secondary{border:2px solid var(--primary);color:var(--primary)}.btn-secondary:hover{background:#8b5cf61a;box-shadow:0 10px 20px #8b5cf61a}@media (max-width:768px){.hero h1{font-size:3rem}.hero h2{font-size:1.5rem}.hero-text{font-size:1.1rem}.hero-buttons{align-items:center;flex-direction:column}.btn{max-width:250px;text-align:center;width:100%}}.projects-section{background:var(--bg-secondary);padding:8rem 0;position:relative}.section-header{margin-bottom:4rem;text-align:center}.section-subtitle{color:var(--primary);display:inline-block;letter-spacing:2px;margin-bottom:1rem;text-transform:uppercase}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.project-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 30px #0000000d;overflow:hidden;padding:2rem;position:relative;transition:all .4s ease}.project-card:before{background:linear-gradient(to bottom,var(--primary),var(--primary-dark));content:"";height:100%;left:0;position:absolute;top:0;width:4px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.project-year{color:var(--text-light);font-size:.9rem;font-weight:500}.project-links{display:flex;gap:1rem}.project-links a{color:var(--text-light);font-size:1.2rem;transition:all .3s ease}.project-links a:hover{color:var(--primary)}.project-card h3{color:var(--text);font-size:1.5rem;margin-bottom:1rem}.project-description{color:var(--text-light);line-height:1.7;margin-bottom:2rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.8rem}.tech-stack span{background:#8b5cf61a;border-radius:100px;color:var(--primary);font-size:.8rem;font-weight:500;padding:.4rem 1rem}.project-card:hover{box-shadow:0 15px 40px #8b5cf626;transform:translateY(-5px)}@media (max-width:768px){.projects-section{padding:5rem 0}.projects-grid{grid-template-columns:1fr}}.contact-section{background:var(--bg);padding:6rem 0}.contact-content{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.contact-info{padding:2rem}.contact-info h3{color:var(--text);font-size:1.5rem;margin-bottom:1.5rem}.contact-info p{color:var(--text-light);line-height:1.7;margin-bottom:2rem}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.detail-item{align-items:center;display:flex;gap:1rem}.detail-item svg{color:var(--primary);height:24px;width:24px}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text);font-weight:500}.form-group input,.form-group textarea{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.8rem 1rem;transition:all .3s ease}.form-group textarea{min-height:150px;resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a;outline:none}.submit-btn{align-self:flex-start;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.submit-btn:hover{background:var(--primary-dark);box-shadow:0 10px 20px #8b5cf64d}.alert{border-radius:8px;font-weight:500;margin-top:1.5rem;padding:1rem;text-align:center}.alert.success{background-color:#10b9811a;border:1px solid #10b981;color:#10b981}.alert.error{background-color:#ef44441a;border:1px solid #ef4444;color:#ef4444}.submit-btn{overflow:hidden;position:relative}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.submit-btn:disabled:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (max-width:768px){.contact-content{gap:2rem;grid-template-columns:1fr}.submit-btn{width:100%}}.footer{background:#f8fafc;background:var(--bg-secondary);overflow:hidden;padding:5rem 0 2rem;position:relative}.footer:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed);background:linear-gradient(90deg,var(--primary),var(--primary-dark));content:"";height:2px;left:0;position:absolute;top:0;width:100%}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem;position:relative;z-index:1}.footer-info{max-width:300px;position:relative}.footer-logo{background:linear-gradient(90deg,#8b5cf6,#7c3aed);background:linear-gradient(90deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:#0000;display:inline-block;font-size:1.8rem;font-weight:800;margin-bottom:1.5rem;text-decoration:none;transition:transform .3s ease}.footer-logo:hover{transform:translateY(-3px)}.footer-info p{color:#64748b;color:var(--text-light);font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}.footer-links h3,.footer-social h3{color:#1e293b;color:var(--text);display:inline-block;font-size:1.3rem;font-weight:600;margin-bottom:1.8rem;position:relative}.footer-links h3:after,.footer-social h3:after{background:#8b5cf6;background:var(--primary);border-radius:3px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:40px}.footer-links ul{list-style:none}.footer-links li{margin-bottom:1rem;padding-left:1.5rem;position:relative;transition:transform .3s ease}.footer-links li:before{color:#8b5cf6;color:var(--primary);content:"›";font-weight:700;left:0;position:absolute;transition:transform .3s ease}.footer-links a{color:#64748b;color:var(--text-light);font-size:.95rem;text-decoration:none;transition:all .3s ease}.footer-links li:hover{transform:translateX(5px)}.footer-links li:hover:before{transform:translateX(3px)}.footer-links a:hover{color:#8b5cf6;color:var(--primary)}.social-icons{display:flex;flex-wrap:wrap;gap:1.2rem}.social-icons a{align-items:center;background:#8b5cf61a;border-radius:50%;color:#8b5cf6;color:var(--primary);display:flex;font-size:1.2rem;height:42px;justify-content:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:42px}.social-icons a:hover{background:#8b5cf6;background:var(--primary);box-shadow:0 5px 15px #8b5cf64d;color:#fff;transform:translateY(-3px)}.footer-bottom{padding-top:3rem;position:relative;text-align:center}.footer-bottom:before{background:#0000001a;background:var(--border);content:"";height:1px;left:50%;max-width:800px;position:absolute;top:0;transform:translateX(-50%);width:80%}.footer-bottom p{color:#64748b;color:var(--text-light);font-size:.9rem;letter-spacing:.5px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.social-icons a:hover{animation:float 1.5s ease-in-out infinite}@media (max-width:768px){.footer{padding:3rem 0 2rem;text-align:center}.footer-content{gap:2.5rem;grid-template-columns:1fr}.footer-info{margin-bottom:1.5rem;max-width:100%}.footer-links h3:after,.footer-social h3:after{left:50%;transform:translateX(-50%)}.footer-links li{padding-left:0}.footer-links li:before{display:none}.social-icons{justify-content:center}.footer-links li:hover{transform:none}}:root{--primary:#8b5cf6;--primary-dark:#7c3aed;--text:#1e293b;--text-light:#64748b;--bg:#fff;--bg-secondary:#f8fafc;--border:#0000001a}.dark-mode{--primary:#8b5cf6;--primary-dark:#7c3aed;--text:#f8fafc;--text-light:#94a3b8;--bg:#0f172a;--bg-secondary:#1e293b;--border:#ffffff1a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;background-color:var(--bg);color:#1e293b;color:var(--text);font-family:Inter,sans-serif;overflow-x:hidden;transition:all .3s ease}.app{display:flex;flex-direction:column;min-height:100vh}.custom-cursor{border-radius:50%;height:20px;pointer-events:none;position:fixed;transition:transform .1s ease,background .3s ease;width:20px;z-index:9999}.container{margin:0 auto;max-width:1200px;padding:0 2rem}section{padding:6rem 0}.section-title{background:linear-gradient(90deg,#8b5cf6,#7c3aed);background:linear-gradient(90deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-subtitle{color:#64748b;color:var(--text-light);font-size:1rem;margin-bottom:3rem;max-width:600px}@media (max-width:768px){.container{padding:0 1.5rem}section{padding:4rem 0}.section-title{font-size:2rem}}
/*# sourceMappingURL=main.5a38a594.css.map*/