@charset "UTF-8";html,body{background:#272727;-ms-overflow-style:none;scrollbar-width:none;overflow-x:hidden;font-family:system-ui;color:#fefae0;scroll-behavior:smooth;min-height:100vh}html ::-webkit-scrollbar,body ::-webkit-scrollbar{display:none}.flex{display:flex}.scroll-text{margin-left:25%;font-size:2rem}h1,h2,h3,h4,p,label{color:#fefae0}h1{font-size:8rem;margin-block:1.5rem;font-weight:700;text-align:center}@media screen and (max-width: 768px){h1{font-size:4rem}}h2{font-size:2.5rem;text-align:center;font-weight:600;margin-bottom:3rem;color:#fefae0}@media screen and (max-width: 768px){h2{font-size:2.2rem}}h3{font-size:3rem;text-align:center;font-weight:500;margin-block:1.5rem}h4{font-size:3rem;text-align:center;font-weight:100;margin-block:1rem;margin-bottom:2rem}p{line-height:2rem}label{font-size:1.5rem}section{background:#272727;min-height:auto;position:relative}.section-line{width:50vw;max-width:30rem;opacity:.5;height:1px;border-bottom:1px solid #fefae0;margin:auto;margin-block:2rem}.welcome-section{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:0 20px;text-align:center}.typing-cursor{display:inline-block;margin-left:5px;width:10px;height:calc(3rem + 2vw);background-color:#ffe600;opacity:.8}.blinking{animation:blink .8s step-start infinite}@keyframes blink{50%{opacity:0}}.welcome-content{display:flex;flex-direction:column;align-items:center}h1{margin:0;color:#fefae0}h2{font-size:calc(3rem + 2vw);margin-top:0;margin-bottom:2rem;color:#fefae0;font-weight:100}.down-icon{display:flex;justify-content:center;align-items:center;margin-top:20px;animation:bounce 2s infinite;cursor:pointer}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.about-section{background:#272727;padding:2rem 4rem;max-width:1200px;margin:0 auto}@media screen and (max-width: 768px){.about-section{padding:2rem 1rem}}.about-section h2{margin-bottom:3rem;text-align:center;font-size:2.5rem;color:#fefae0;position:relative}.about-section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#86bbd8,#d3e6f1);border-radius:2px}.about-section .about-content{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:1000px;margin:0 auto;text-align:center;background:linear-gradient(135deg,#86bbd81a,#86bbd80d);border:2px solid rgba(134,187,216,.2);border-radius:1rem;padding:2rem;padding:3rem 2rem;box-shadow:0 8px 25px #0000001a}@media screen and (min-width: 769px){.about-section .about-content{flex-direction:row;text-align:left;gap:3rem;padding:4rem 3rem}}@media screen and (max-width: 768px){.about-section .about-content{padding:2rem 1.5rem}}.about-section .about-content .profile-image{border-radius:1rem;margin-bottom:2rem;max-width:100%;height:auto;display:block;box-shadow:0 8px 25px #0003;border:3px solid rgba(134,187,216,.2);transition:all .3s ease}.about-section .about-content .profile-image:hover{transform:scale(1.02);box-shadow:0 12px 35px #00000040;border-color:#86bbd866}@media screen and (min-width: 769px){.about-section .about-content .profile-image{margin-bottom:0;flex-shrink:0;width:300px;height:300px;object-fit:cover}}@media screen and (max-width: 768px){.about-section .about-content .profile-image{width:250px;height:250px;object-fit:cover}}.about-section .about-content .about-text{flex:1}.about-section .about-content .about-text p{font-size:1.1rem;line-height:1.7;color:#fffef9;margin-bottom:1.5rem}.about-section .about-content .about-text p:last-child{margin-bottom:0}@media screen and (min-width: 769px){.about-section .about-content .about-text p{font-size:1.2rem;line-height:1.8}}@media (prefers-color-scheme: dark){.about-section .about-content{background:linear-gradient(135deg,#86bbd808,#86bbd803);border-color:#86bbd826}.about-section .profile-image{border-color:#86bbd84d}.about-section .profile-image:hover{border-color:#86bbd880}}.portfolio-section{padding:2rem 4rem;max-width:1200px;margin:0 auto}@media screen and (max-width: 768px){.portfolio-section{padding:2rem 1rem}}.portfolio-section h2{margin-bottom:3rem;text-align:center;font-size:2.5rem;color:#fefae0;position:relative}.portfolio-section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#86bbd8,#d3e6f1);border-radius:2px}.portfolio-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.portfolio-link{text-decoration:none;display:block;color:inherit}.portfolio-link:focus{outline:2px solid #86bbd8;outline-offset:4px;border-radius:.5rem}.portfolio-item{display:flex;align-items:center;gap:2rem;background:linear-gradient(135deg,#86bbd81a,#86bbd80d);border:2px solid rgba(134,187,216,.2);border-radius:1rem;padding:2rem;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);cursor:pointer}.portfolio-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:1rem;padding:2px;background:linear-gradient(45deg,transparent,#86bbd8,transparent);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:source-out;mask-composite:subtract;opacity:0;transition:opacity .3s ease}.portfolio-item:hover:before{opacity:1}.portfolio-item:hover{background:linear-gradient(135deg,#86bbd826,#86bbd814);border-color:#86bbd866;box-shadow:0 8px 25px #86bbd826}.portfolio-item:hover .portfolio-item-icon .project-icon{transform:scale(1.1)}.portfolio-item:hover .portfolio-item-title{color:#add1e4}@media screen and (max-width: 768px){.portfolio-item{flex-direction:column;text-align:center;gap:1rem;padding:1.5rem}}.portfolio-item-icon{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f8f9fa);border-radius:.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.portfolio-item-icon .project-icon{width:50px;height:50px;object-fit:contain;transition:transform .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.portfolio-item-icon .project-icon:not(img){font-size:50px}@media screen and (max-width: 768px){.portfolio-item-icon{width:60px;height:60px}.portfolio-item-icon .project-icon{width:40px;height:40px}.portfolio-item-icon .project-icon:not(img){font-size:40px}}.portfolio-item-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.portfolio-item-title{font-size:1.5rem;font-weight:600;color:#fefae0;margin:0;display:flex;align-items:center;gap:.5rem;transition:color .3s ease;line-height:1.3}.portfolio-item-title .external-link-icon{font-size:1rem;opacity:.7;transition:all .3s ease}.portfolio-item-title:hover .external-link-icon{opacity:1;transform:translate(2px)}@media screen and (max-width: 768px){.portfolio-item-title{font-size:1.3rem;justify-content:center}}.portfolio-item-description{font-size:1rem;color:#fff;margin:0;line-height:1.5;opacity:.9}@media screen and (max-width: 768px){.portfolio-item-description{font-size:.9rem}}.projects-footer{text-align:center;font-size:1.1rem;color:#fff;font-style:italic;opacity:.8}.projects-footer:before{content:"✦";margin-right:10px;color:#86bbd8}.projects-footer:after{content:"✦";margin-left:10px;color:#86bbd8}@media (prefers-color-scheme: dark){.portfolio-item{background:linear-gradient(135deg,#86bbd814,#86bbd808)}.portfolio-item:hover{background:linear-gradient(135deg,#86bbd81f,#86bbd80f)}.portfolio-item-icon{background:linear-gradient(145deg,#2a2a2a,#1f1f1f);box-shadow:0 4px 12px #0000004d}}.skills-section{padding:2rem 4rem;max-width:1200px;margin:0 auto}@media screen and (max-width: 768px){.skills-section{padding:2rem 1rem}}.skills-section h2{margin-bottom:3rem;text-align:center;font-size:2.5rem;color:#fefae0;position:relative}.skills-section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#86bbd8,#d3e6f1);border-radius:2px}.skills{display:flex;flex-wrap:wrap;justify-content:center;width:50rem;margin:auto}@media screen and (max-width: 768px){.skills{max-width:90vw}}.skills .skill-container{display:flex;flex-direction:column;color:#fefae0;text-align:center;padding:1rem}.skills .skill-logo{width:5rem;height:5rem;color:#fff}.skill-link{cursor:pointer;-webkit-user-select:none;user-select:none}.modal{position:absolute;top:25%;min-width:50vw;min-height:50vh;border-radius:.5rem;z-index:100;border:5px solid #fefae0}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10}.contact-section{padding:2rem 4rem;max-width:1200px;margin:0 auto}@media screen and (max-width: 768px){.contact-section{padding:2rem 1rem}}.contact-section h2{margin-bottom:3rem;text-align:center;font-size:2.5rem;color:#fefae0;position:relative}.contact-section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#86bbd8,#d3e6f1);border-radius:2px}.contact-content{display:flex;flex-direction:column;gap:2rem;align-items:center}.contact-intro{text-align:center}.contact-intro .contact-subheader{font-size:1.2rem;color:#fff;max-width:600px;margin:0 auto;line-height:1.5;opacity:.9}@media screen and (max-width: 768px){.contact-intro .contact-subheader{font-size:1.1rem}}.contact-main{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;width:100%;max-width:1000px;align-items:start}@media screen and (max-width: 968px){.contact-main{grid-template-columns:1fr;gap:2rem}}.contact-info{background:linear-gradient(135deg,#86bbd81a,#86bbd80d);border:2px solid rgba(134,187,216,.2);border-radius:1rem;padding:2rem;-webkit-user-select:text;user-select:text}.contact-info .contact-info-header{margin-bottom:1.5rem;text-align:center}.contact-info .contact-info-header h4{font-size:1.3rem;font-weight:600;color:#fefae0;margin:0}.contact-info .contact-methods{display:flex;flex-direction:column;gap:1.5rem}.contact-info .contact-method{display:flex;align-items:center;gap:1rem}.contact-info .contact-method .contact-icon{font-size:1.2rem;color:#86bbd8;flex-shrink:0}.contact-info .contact-method .contact-details{display:flex;flex-direction:column;gap:.25rem}.contact-info .contact-method .contact-details .contact-label{font-size:.9rem;color:#fff;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.contact-info .contact-method .contact-details .contact-link{color:#86bbd8;text-decoration:none;font-weight:600;font-size:1rem;transition:all .3s ease}.contact-info .contact-method .contact-details .contact-link:hover{color:#add1e4;transform:translate(2px)}.contact-info .contact-method .contact-details .contact-link:focus{outline:2px solid #86bbd8;outline-offset:2px;border-radius:4px}#contact-form{background:linear-gradient(135deg,#86bbd81a,#86bbd80d);border:2px solid rgba(134,187,216,.2);border-radius:1rem;padding:2rem;box-shadow:0 8px 25px #0000000d}#contact-form .form-header{margin-bottom:1.5rem;text-align:center}#contact-form .form-header h4{font-size:1.3rem;font-weight:600;color:#fefae0;margin:0}#contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media screen and (max-width: 768px){#contact-form .form-grid{grid-template-columns:1fr}}#contact-form .form-grid .field-full{grid-column:1/-1}@media screen and (max-width: 768px){#contact-form{padding:1.5rem}}.field-container{display:flex;flex-direction:column}.field-container label{color:#fefae0;font-family:system-ui;font-weight:600;font-size:.9rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.field-container label .field-icon{color:#86bbd8;font-size:.8rem}.field-container input,.field-container textarea{padding:.75rem;font-size:.95rem;border:2px solid rgba(134,187,216,.2);border-radius:.5rem;background:#ffffffe6;transition:all .3s ease;font-family:inherit}.field-container input:focus,.field-container textarea:focus{outline:none;border-color:#86bbd8;box-shadow:0 0 0 3px #86bbd81a;background:#fff}.field-container input::placeholder,.field-container textarea::placeholder{color:#999;font-size:.9rem}.field-container textarea{resize:vertical;font-family:inherit;line-height:1.5;min-height:80px}#submit-button{width:100%;border-radius:.5rem;background:linear-gradient(135deg,#4c9ac5,#73b0d2);font-weight:600;font-size:1.1rem;padding:1rem 2rem;cursor:pointer;font-family:system-ui,sans-serif;color:#fff;border:none;transition:all .3s ease;box-shadow:0 4px 12px #346b8666}#submit-button:hover:not(:disabled){background:linear-gradient(135deg,#5fa5cc,#86bbd8);transform:translateY(-2px);box-shadow:0 6px 20px #346b8680}#submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #346b8666}#submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}#submit-button:focus{outline:2px solid rgb(211.1375,230.35,240.8625);outline-offset:4px}.spinner{border:3px solid rgba(255,255,255,.3);border-left-color:#fff;border-radius:50%;width:1.2em;height:1.2em;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.contact-info{background:linear-gradient(135deg,#86bbd814,#86bbd808)}#contact-form{background:linear-gradient(135deg,#86bbd808,#86bbd803)}.field-container input,.field-container textarea{background:#282828e6;border-color:#86bbd84d;color:#fefae0}.field-container input:focus,.field-container textarea:focus{background:#282828}.field-container input::placeholder,.field-container textarea::placeholder{color:#ccc}}.project-page-template{padding:2rem 4rem;color:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;position:relative}.project-page-template .back-button{margin-bottom:1rem;background:transparent;border:none;color:#fff;font-size:3rem;cursor:pointer;display:flex;align-items:center;gap:.5rem}.project-page-template .back-button p{font-size:1.5rem;margin:0}.project-page-template .back-button:hover{filter:brightness(.8)}.project-page-template .project-title{text-align:center;font-size:3rem;margin-bottom:2rem;color:#fff}.project-page-template .project-description{width:100%;max-width:800px;text-align:center;margin:2rem 0;padding:1.5rem;background:#0000004d;border-radius:8px;font-size:1.2rem;line-height:1.6}.project-page-template .image-stack{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin:2rem 0}.project-page-template .image-stack .stacked-image-container{display:flex;justify-content:center;align-items:center;border-radius:10px;overflow:hidden}.project-page-template .image-stack .stacked-image-container .stacked-image{width:30rem;max-width:90vw;height:auto;object-fit:cover}.project-page-template .no-images{text-align:center;color:#fc0;font-size:1.5rem;margin:2rem 0}.project-page-template .project-features,.project-page-template .project-technologies{width:100%;max-width:800px;margin:2rem 0;padding:1.5rem;background:#0000004d;border-radius:8px;text-align:center}.project-page-template .project-features h3,.project-page-template .project-technologies h3{color:#fff;font-size:1.8rem;margin-bottom:1rem}.project-page-template .project-features ul,.project-page-template .project-technologies ul{list-style-type:none;padding:0}.project-page-template .project-features li,.project-page-template .project-technologies li{color:#fff;font-size:1.2rem;line-height:2rem;margin:.5rem 0;text-align:center}.project-page-template .project-link{margin:2rem 0;text-align:center}.project-page-template .project-link a{font-size:1.2rem;text-decoration:none;background:#fc0;padding:.8rem 1.5rem;border-radius:8px;color:#000;transition:background-color .3s ease-in-out}.project-page-template .project-link a:hover{background-color:#e0b300}.project-page-template .project-not-found{text-align:center;font-size:2rem;color:red;margin-top:4rem}
