.about{min-height:100vh;padding:4rem 2rem;background:radial-gradient(ellipse at center,rgba(135,206,250,.04) 0,transparent 70%),#0f0f1a;color:#e0e0e0;align-items:center;justify-content:center;overflow:hidden}.about,.about-inner{display:flex;position:relative}.about-inner{max-width:1200px;width:100%;flex-direction:column;gap:2rem;z-index:2}.about__content{display:flex;align-items:center;gap:4rem}@media(max-width:768px){.about__content{flex-direction:column;gap:2rem}}.about__text{flex:1;text-align:left}@media(max-width:768px){.about__text{text-align:center}}.about__image{flex:0 0 300px;display:flex;justify-content:center}@media(max-width:768px){.about__image{flex:0 0 auto}}.about__picture-frame{position:relative;width:280px;height:350px;background:linear-gradient(135deg,#ac8cf2,#87cefa);border-radius:20px;padding:8px;box-shadow:0 20px 40px rgba(172,140,242,.3);transition:transform .3s ease,box-shadow .3s ease}.about__picture-frame:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(172,140,242,.4)}@media(max-width:768px){.about__picture-frame{width:240px;height:300px}}@media(max-width:480px){.about__picture-frame{width:200px;height:250px}}.about__profile-image{width:100%;height:100%;object-fit:cover;border-radius:16px;background:#1a1a2e}.about__title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#ac8cf2,#87cefa);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}@media(max-width:768px){.about__title{font-size:2rem;text-align:center}}.about__description{font-size:1.2rem;line-height:1.6;color:#a1a1aa;margin-bottom:1rem}.about__description:last-child{margin-bottom:0}@media(max-width:768px){.about__description{font-size:1.1rem}}.about:before{top:-50px;height:50px;background:linear-gradient(180deg,transparent 0,#0f0f1a);z-index:1}.about:after,.about:before{content:"";position:absolute;left:0;right:0}.about:after{top:0;bottom:0;z-index:0;pointer-events:none}.blog-container{min-height:100vh;padding:6rem 2rem 4rem;background:radial-gradient(ellipse at center,rgba(135,206,250,.04) 0,transparent 70%),#0f0f1a;color:#e0e0e0;position:relative;overflow:hidden}@media(max-width:768px){.blog-container{padding:8rem 1rem 4rem}}.blog-container .blog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;max-width:1200px;margin-left:auto;margin-right:auto}@media(max-width:768px){.blog-container .blog-header{flex-direction:column;gap:1rem;text-align:center}}.blog-container h1{font-size:2.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#ac8cf2,#87cefa);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.blog-container .view-all-link{color:#87cefa;text-decoration:none;font-weight:600;font-size:1.1rem;transition:all .3s ease;padding:.5rem 1rem;border:1px solid rgba(135,206,250,.3);border-radius:8px}.blog-container .view-all-link:hover{color:#ac8cf2;border-color:rgba(172,140,242,.6);transform:translateY(-2px)}.blog-container .blog-posts{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.blog-container .blog-posts{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.blog-container .blog-posts{grid-template-columns:repeat(2,1fr);gap:3rem}}.blog-container .blog-post-preview{padding:2rem;border:1px solid rgba(172,140,242,.3);border-radius:16px;background:rgba(26,26,46,.8);backdrop-filter:blur(10px);transition:all .3s ease}.blog-container .blog-post-preview:hover{transform:translateY(-5px);border-color:rgba(172,140,242,.6);box-shadow:0 20px 40px rgba(172,140,242,.1)}.blog-container .blog-post-preview h2{font-size:1.8rem;margin-bottom:.75rem;color:#e0e0e0;line-height:1.3}.blog-container .blog-post-preview .post-date{font-size:.9rem;color:#ac8cf2;margin-bottom:1rem;font-weight:500}.blog-container .blog-post-preview .post-description{margin-bottom:1.5rem;color:#a1a1aa;line-height:1.6}.blog-container .blog-post-preview .post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.blog-container .blog-post-preview .post-tags .post-tag{padding:.25rem .75rem;background:linear-gradient(135deg,rgba(172,140,242,.2),rgba(135,206,250,.2));color:#ac8cf2;border-radius:12px;font-size:.8rem;font-weight:500;border:1px solid rgba(172,140,242,.3)}.blog-container .blog-post-preview .read-more{color:#87cefa;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;transition:color .3s ease}.blog-container .blog-post-preview .read-more:hover{color:#ac8cf2}.blog-container:before{content:"";position:absolute;top:-50px;left:0;right:0;height:50px;background:linear-gradient(180deg,transparent 0,#0f0f1a);z-index:1}.contact-section{min-height:100vh;padding:6rem 2rem;background:radial-gradient(ellipse at center,rgba(172,140,242,.04) 0,transparent 70%),#0f0f1a;color:#e0e0e0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.contact-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0,#0f0f1a);pointer-events:none;z-index:1}@media(max-width:768px){.contact-section{padding:4rem 1rem;min-height:auto}}.contact-container{max-width:800px;width:100%;position:relative;z-index:2}.contact-intro{text-align:center;margin-bottom:3rem}.contact-intro .contact-title{font-size:3rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#ac8cf2,#87cefa);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}@media(max-width:768px){.contact-intro .contact-title{font-size:2.5rem}}.contact-intro .contact-description{font-size:1.2rem;color:#a1a1aa;line-height:1.6;max-width:600px;margin:0 auto}@media(max-width:768px){.contact-intro .contact-description{font-size:1rem}}.contact-form{background:rgba(26,26,46,.8);backdrop-filter:blur(20px);border:1px solid rgba(172,140,242,.3);border-radius:20px;padding:3rem;box-shadow:0 20px 40px rgba(0,0,0,.2);transition:all .3s ease-in-out}.contact-form:hover{border-color:rgba(172,140,242,.6);box-shadow:0 0 0 1px rgba(172,140,242,.3),0 0 20px rgba(172,140,242,.1)}@media(max-width:768px){.contact-form{padding:2rem 1.5rem;border-radius:16px}}.form-group-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}@media(max-width:768px){.form-group-container{grid-template-columns:1fr;gap:1.25rem}}.form-group{display:flex;flex-direction:column}.form-group.form-group-full{grid-column:1/-1}.form-label{font-size:.95rem;font-weight:600;color:#e0e0e0;margin-bottom:.5rem;transition:color .3s ease-in-out}.form-input,.form-textarea{padding:1rem 1.25rem;background:rgba(15,15,26,.6);border:2px solid rgba(172,140,242,.2);border-radius:12px;color:#e0e0e0;font-size:1rem;transition:all .3s ease-in-out;backdrop-filter:blur(10px)}.form-input::placeholder,.form-textarea::placeholder{color:#a1a1aa;opacity:.7}.form-input:focus,.form-textarea:focus{outline:none;border-color:#ac8cf2;box-shadow:0 0 0 1px rgba(172,140,242,.3),0 0 20px rgba(172,140,242,.1);background:rgba(15,15,26,.8)}.form-input:focus+.form-label,.form-textarea:focus+.form-label{color:#ac8cf2}.form-input:hover,.form-textarea:hover{border-color:rgba(172,140,242,.4)}.form-input:invalid:not(:placeholder-shown),.form-textarea:invalid:not(:placeholder-shown){border-color:#ef4444}.form-input:valid:not(:placeholder-shown),.form-textarea:valid:not(:placeholder-shown){border-color:#10b981}.form-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.6}.form-submit{width:100%;padding:1.25rem 2rem;background:linear-gradient(135deg,#ac8cf2,#87cefa);color:#0f0f1a;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease-in-out;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem}.form-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px rgba(172,140,242,.4)}.form-submit:active{transform:translateY(0)}.form-submit:disabled{opacity:.7;cursor:not-allowed}.form-submit.submitting{pointer-events:none}.form-submit .spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,0);border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-message{padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500;animation:slideIn .3s ease-out}.status-message span{font-size:1.2rem;font-weight:700}.status-message.success{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-message.error{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.3)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group{position:relative}.form-group .form-input:focus+.form-label,.form-group .form-textarea:focus+.form-label{color:#ac8cf2}.contact-form:hover .form-label{color:rgb(249.5,249.5,249.5)}@media(max-width:480px){.contact-section{padding:3rem 1rem}.contact-intro .contact-title{font-size:2rem}.form-submit{padding:1rem 1.5rem;font-size:1rem}}.hero{min-height:100vh;justify-content:center;background:radial-gradient(ellipse at center,rgba(172,140,242,.04) 0,transparent 70%),#0f0f1a;overflow:hidden}.hero,.hero-inner{display:flex;align-items:center;flex-direction:column;gap:3rem;position:relative}.hero-inner{max-width:1200px;width:100%;padding:0 2rem;z-index:1}@media(min-width:768px){.hero-inner{flex-direction:row;justify-content:space-between;gap:4rem}}.hero:after{content:"";position:absolute;bottom:-50px;left:0;right:0;height:50px;background:linear-gradient(180deg,#0f0f1a 0,transparent);z-index:1}.hero .tech-element{position:absolute;color:rgba(135,206,250,.6);font-family:Courier New,monospace;font-size:16px;pointer-events:none;z-index:0}.hero .tech-element:first-child{top:5%;left:5%;animation:float-code 8s ease-in-out infinite}.hero .tech-element:nth-child(2){top:15%;right:10%;animation:float-code 6s ease-in-out infinite reverse}.hero .tech-element:nth-child(3){bottom:10%;left:15%;animation:float-code 10s ease-in-out infinite}.hero .tech-element:nth-child(4){bottom:20%;right:5%;animation:float-code 7s ease-in-out infinite reverse}.hero .tech-element:nth-child(5){top:30%;left:10%;animation:float-code 9s ease-in-out infinite}.hero .tech-element:nth-child(6){top:40%;right:15%;animation:float-code 11s ease-in-out infinite reverse}.hero .tech-element:nth-child(7){bottom:5%;left:25%;animation:float-code 12s ease-in-out infinite}.hero .tech-element:nth-child(8){top:50%;right:20%;animation:float-code 13s ease-in-out infinite reverse}.hero .tech-element:nth-child(9){top:25%;left:20%;animation:float-code 14s ease-in-out infinite}.hero .tech-element:nth-child(10){bottom:25%;right:25%;animation:float-code 15s ease-in-out infinite reverse}.hero .tech-element:nth-child(11){bottom:20%;right:15%;animation:float-code 15s ease-in-out infinite reverse}.hero__imagewrapper{position:relative;display:inline-block;z-index:1;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.hero__imagewrapper.loaded{opacity:1;transform:translateY(0)}.hero__imagewrapper:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:40%;background:conic-gradient(#ac8cf2 0deg 270deg,transparent 270deg 1turn);z-index:0;-webkit-mask-image:radial-gradient(circle,rgb(0,0,0) 80%,rgba(0,0,0,0) 100%);mask-image:radial-gradient(circle,rgb(0,0,0) 80%,rgba(0,0,0,0) 100%);box-shadow:0 0 10px 5px rgba(172,140,242,.5);opacity:0;transition:opacity .6s ease-in-out}.hero__imagewrapper.loaded.show-border:before{opacity:1;animation:borderRotate 4.5s linear infinite}.hero__imagecontainer{position:relative;width:200px;height:200px;border-radius:50%;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.1);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;z-index:1;background:linear-gradient(135deg,rgba(172,140,242,.1),rgba(135,206,250,.1))}.hero__imagecontainer:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.hero__imagecontainer:not(.loaded){animation:imagePulse 2s ease-in-out infinite}@media(min-width:640px){.hero__imagecontainer{width:250px;height:250px}}@media(min-width:1024px){.hero__imagecontainer{width:300px;height:300px}}.hero__image{object-fit:cover;transition:transform .3s ease-in-out,opacity .5s ease-in-out;opacity:0}.hero__image.loaded{opacity:1}.hero__image:hover{transform:scale(1.05)}.hero__content{text-align:center;max-width:600px;z-index:1}@media(min-width:768px){.hero__content{text-align:left;flex:1}}.hero__greeting{font-size:1.2rem;color:#a1a1aa;margin-bottom:.5rem;font-weight:500}@media(min-width:640px){.hero__greeting{font-size:1.4rem}}.hero__name{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2;background:linear-gradient(135deg,#ac8cf2,#87cefa);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}@media(min-width:640px){.hero__name{font-size:3.5rem}}@media(min-width:1024px){.hero__name{font-size:4rem}}.hero__title{font-size:1.5rem;color:#e0e0e0;margin-bottom:1.5rem;font-weight:600}@media(min-width:640px){.hero__title{font-size:1.8rem}}@media(min-width:1024px){.hero__title{font-size:2rem}}.hero__description{font-size:1.1rem;color:#a1a1aa;line-height:1.6;margin-bottom:2rem}@media(min-width:640px){.hero__description{font-size:1.2rem}}.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media(min-width:768px){.hero__cta{justify-content:flex-start}}.hero__button{padding:.875rem 2rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .2s ease;border:2px solid rgba(0,0,0,0);cursor:pointer;font-size:1rem}.hero__button--primary{background:linear-gradient(135deg,#ac8cf2,#87cefa);color:#0f0f1a}.hero__button--primary:hover{background:linear-gradient(135deg,rgb(155.46484375,117.08984375,239.41015625),rgb(110.52,196.004,248.98));transform:translateY(-2px);box-shadow:0 10px 20px rgba(135,206,250,.2)}.hero__button--secondary{background:rgba(0,0,0,0);color:#ac8cf2;border:2px solid #ac8cf2}.hero__button--secondary:hover{background:rgba(172,140,242,.1);border-color:#87cefa;color:#87cefa;transform:translateY(-2px)}.hero__button--linkedin{background:#0077b5;color:#fff;border:2px solid #0077b5}.hero__button--linkedin:hover{background:#005885;border-color:#005885;transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,119,181,.3)}@keyframes imagePulse{0%,to{background:linear-gradient(135deg,rgba(172,140,242,.1),rgba(135,206,250,.1))}50%{background:linear-gradient(135deg,rgba(172,140,242,.2),rgba(135,206,250,.2))}}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@keyframes techPulse{0%{opacity:.3}to{opacity:.7}}@keyframes float-code{0%,to{transform:translateY(0) translateX(0) rotate(0deg);opacity:.3}25%{transform:translateY(-10px) translateX(5px) rotate(1deg);opacity:.6}50%{transform:translateY(-5px) translateX(-3px) rotate(-1deg);opacity:.4}75%{transform:translateY(-15px) translateX(2px) rotate(.5deg);opacity:.7}}@keyframes borderRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes dotsMove{0%{background-position:0 0,0 0}to{background-position:100px 100px,-100px -100px}}@keyframes floatLines{0%{background-position:0 0}to{background-position:100px 100px}}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-delay-1{animation-delay:.2s}.animate-delay-2{animation-delay:.4s}.animate-delay-3{animation-delay:.6s}@media(max-width:640px){.tech-element{display:none}}.projects{min-height:100vh;padding:4rem 2rem;background:radial-gradient(ellipse at center,rgba(172,140,242,.04) 0,transparent 70%),#0f0f1a;color:#e0e0e0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.projects .projects-inner{max-width:1200px;width:100%;position:relative;z-index:2}.projects h1{font-size:2.5rem;font-weight:700;margin-bottom:3rem;background:linear-gradient(135deg,#ac8cf2,#87cefa);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;text-align:center}@media(max-width:768px){.projects h1{font-size:2rem}}.projects ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.projects ul{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.projects ul{grid-template-columns:repeat(3,1fr);gap:3rem}}.projects ul li{display:contents}.projects ul .project-card{padding:2rem;border:1px solid rgba(172,140,242,.3);border-radius:16px;background:rgba(26,26,46,.8);backdrop-filter:blur(10px);transition:all .3s ease;display:flex;flex-direction:column;height:100%}.projects ul .project-card:hover{transform:translateY(-5px);border-color:rgba(172,140,242,.6);box-shadow:0 20px 40px rgba(172,140,242,.1)}.projects ul .project-content{flex:1;display:flex;flex-direction:column}.projects ul h2{font-size:1.8rem;margin-bottom:.75rem;color:#e0e0e0;line-height:1.3}.projects ul p{margin-bottom:1.5rem;color:#a1a1aa;line-height:1.6;flex:1}.projects ul .project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.projects ul .project-tags .tag{padding:.25rem .75rem;background:rgba(172,140,242,.2);border:1px solid rgba(172,140,242,.4);border-radius:20px;color:#ac8cf2;font-size:.85rem;font-weight:500}.projects ul .project-date{color:#a1a1aa;font-size:.9rem;margin-bottom:1.5rem;opacity:.8}.projects ul .project-link{color:#87cefa;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;transition:color .3s ease;margin-top:auto;padding:.75rem 1.5rem;border:2px solid #87cefa;border-radius:8px;text-align:center;justify-content:center}.projects ul .project-link:hover{color:#ac8cf2;border-color:#ac8cf2;background:rgba(172,140,242,.1)}.projects .no-featured{text-align:center;padding:4rem 2rem}.projects .no-featured p{color:#a1a1aa;font-size:1.2rem;margin-bottom:2rem}.projects .no-featured .view-all-link{color:#87cefa;text-decoration:none;font-weight:600;padding:1rem 2rem;border:2px solid #87cefa;border-radius:8px;transition:all .3s ease}.projects .no-featured .view-all-link:hover{color:#ac8cf2;border-color:#ac8cf2;background:rgba(172,140,242,.1)}.projects:before{top:-50px;height:50px;background:linear-gradient(180deg,transparent 0,#0f0f1a);z-index:1}.projects:after,.projects:before{content:"";position:absolute;left:0;right:0}.projects:after{top:0;bottom:0;z-index:0;pointer-events:none}.skills-section{padding:3rem 1rem;background:#0f0f1a;text-align:center;min-height:auto;display:flex;flex-direction:column;justify-content:center}@media(min-width:768px){.skills-section{padding:4rem 2rem;min-height:70vh}}.skills-section .skills-container{max-width:900px;margin:0 auto;width:100%}.skills-section .skills-intro{margin-bottom:2rem}@media(min-width:768px){.skills-section .skills-intro{margin-bottom:3rem}}.skills-section .skills-intro .skills-title{font-size:2rem;font-weight:700;color:#e0e0e0;margin-bottom:1rem;background:linear-gradient(135deg,#ac8cf2,#87cefa);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}@media(min-width:768px){.skills-section .skills-intro .skills-title{font-size:3rem}}.skills-section .skills-intro .skills-description{font-size:1rem;color:#a1a1aa;max-width:600px;margin:0 auto;line-height:1.6}@media(min-width:768px){.skills-section .skills-intro .skills-description{font-size:1.2rem}}.skills-section .skills-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}@media(min-width:768px){.skills-section .skills-grid{gap:1rem}}.skills-section .skill-item{background-color:rgba(172,140,242,.1);border:1px solid rgba(172,140,242,.3);color:#c1c1c9;padding:.5rem 1rem;border-radius:16px;font-size:.8rem;font-weight:500;transition:all .3s ease;cursor:default;opacity:0;transform:translateY(20px)}.skills-section .skill-item:hover{background-color:rgba(172,140,242,.2);border-color:#ac8cf2;color:#e0e0e0;transform:translateY(-2px) scale(1.03);box-shadow:0 6px 15px rgba(172,140,242,.1)}@media(min-width:768px){.skills-section .skill-item{font-size:1rem;padding:.85rem 1.75rem;border-radius:20px}.skills-section .skill-item:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px rgba(172,140,242,.15)}}.animate-fade-in-up{animation-name:fadeInUpSkills;animation-duration:.5s;animation-fill-mode:forwards;animation-timing-function:ease-out}@keyframes fadeInUpSkills{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}