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}.App{background:linear-gradient(135deg,#1e2430,#2d3748);min-height:100vh;text-align:center;transition:all .5s cubic-bezier(.165,.84,.44,1)}.App-logo{height:40vmin;pointer-events:none;transition:transform .5s cubic-bezier(.165,.84,.44,1)}.App-header{align-items:center;background:linear-gradient(135deg,#1e2430,#2d3748);color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;margin-bottom:0;min-height:100vh}.App-link{color:#10546b;cursor:pointer}.App-logo-small{animation:fadeInRotate .5s cubic-bezier(.165,.84,.44,1);max-height:8vmin;pointer-events:none}@keyframes fadeInRotate{0%{opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}.logo-container{align-items:center;display:flex;flex-direction:column}.App-logo-small-left{align-self:center;animation:sway 3s ease-in-out infinite;margin-right:auto;max-height:6vmin;pointer-events:none}@keyframes sway{0%{transform:translateX(0) rotate(0deg)}25%{transform:translateX(5px) rotate(5deg)}75%{transform:translateX(-5px) rotate(-5deg)}85%{transform:translateX(0) rotate(0deg)}to{transform:translateX(0) rotate(50deg)}}.website-url{color:#666;font-size:.8rem;margin-top:5px}.title{margin:0}.Top-nav{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:linear-gradient(90deg,#1a2030 0,#273040);box-shadow:0 3px 10px #0000004d;color:#fff;display:flex;flex-direction:row;justify-content:space-evenly;max-height:10vh;position:fixed;transition:transform .4s cubic-bezier(.165,.84,.44,1),opacity .4s cubic-bezier(.165,.84,.44,1);width:100%;will-change:transform,opacity;z-index:100}.Top-nav-visible{transform:translateY(0)!important}.Top-nav-relative{position:relative}.caption{font-size:calc(2px + 2vmin)}.Top-nav-menu ul,.caption{align-items:center;display:flex;flex-direction:row}.Top-nav-menu ul{font-size:calc(1px + 2vmin);justify-content:center;list-style-type:none;margin:0;padding:0}.Top-nav-menu li{padding:0 1rem}.Project-gallery{background:linear-gradient(135deg,#1e2430,#2d3748);color:#fff;margin-bottom:0;margin-top:0;min-height:100vh;padding-bottom:4rem;padding-top:10vh}.section-header{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:2rem;padding-top:6vh}.Project-gallery-grid{grid-gap:3rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(600px,1fr));margin:0 auto;max-width:1400px;padding:1rem 3rem}.Gallery-element{background-color:#fff;border-radius:10px;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -4px #0003;display:flex;flex-direction:column;margin:5px 0;min-height:450px;overflow:hidden;position:relative;transition:box-shadow .3s cubic-bezier(.165,.84,.44,1);z-index:1}.Gallery-element.Gallery-element-hovered{box-shadow:0 15px 20px -5px #0006,0 8px 10px -6px #0000004d;z-index:5}.Gallery-element-header{background:linear-gradient(90deg,#0d4558 0,#10546b);border-radius:10px 10px 0 0;color:#fff;padding:1rem;position:relative;z-index:2}.Gallery-element-header h2{font-size:1.5rem;margin:0}.Gallery-element-content{background-color:#fff;display:flex;flex:1 1;flex-direction:column;min-height:280px;position:relative}.Gallery-element-image-container{backface-visibility:hidden;-webkit-backface-visibility:hidden;height:200px;overflow:hidden;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}.Gallery-element-image-container img{backface-visibility:hidden;-webkit-backface-visibility:hidden;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.165,.84,.44,1);width:100%;will-change:transform}.Gallery-element-hovered .Gallery-element-image-container img{transform:scale(1.1)}.Gallery-element-overlay{align-items:center;animation:fadeIn .3s cubic-bezier(.165,.84,.44,1) forwards;background-color:#10546be6;bottom:0;color:#fff;display:flex;justify-content:center;left:0;opacity:0;padding:1rem;position:absolute;right:0;top:0}.Gallery-element-overlay-link{bottom:0;left:0;position:absolute;right:0;top:80%}.project-details-btn{background-color:#20c0ad;border-radius:4px;color:#fff;display:inline-block;font-size:14px;margin-top:8px;padding:5px 12px;text-decoration:none;transition:background-color .3s}.project-details-btn:hover{background-color:#20c0adbf}.Gallery-element-description{border-bottom:1px solid #f5f5f5;color:#333;flex:1 1;padding:1rem}.Gallery-element-description p{font-size:.9rem;line-height:1.5;margin:0}.Gallery-element-description-hover{position:relative}.Gallery-element-footer{background:linear-gradient(180deg,#f5f5f5 0,#e8e8e8);border-radius:0 0 10px 10px;display:flex;flex-direction:row;justify-content:space-between;margin-top:0;min-height:50px;padding:1rem;position:relative;z-index:2}.Gallery-element-footer:before{background-color:#e8e8e8;content:"";height:1px;left:0;position:absolute;right:0;top:-1px;z-index:3}.Gallery-element-footer a{background:linear-gradient(180deg,#10546b 0,#0d4558);border-radius:25px;box-shadow:0 2px 4px #0003;color:#fff;flex:1 1;font-weight:500;margin:0 .3rem;padding:.7rem 1rem;position:relative;text-align:center;text-decoration:none;transition:background .3s cubic-bezier(.165,.84,.44,1),box-shadow .3s cubic-bezier(.165,.84,.44,1);z-index:3}.Gallery-element-footer a:hover{background:linear-gradient(180deg,#282c34 0,#1e2430);box-shadow:0 5px 10px #0003}.no-links{color:#777;flex:1 1;font-style:italic;text-align:center}.Contact-section{flex-direction:row;justify-content:space-around;padding-bottom:3rem;padding-top:2rem}.Contact-form-section{max-width:600px;padding-left:10%;padding-right:10%;width:80%}.Contact-form-section form{align-items:center;display:flex;flex-direction:column;justify-content:center}.Contact-form-section form label{display:inline}.Contact-form-section form input,.Contact-form-section form label{border:none;border-radius:5px;margin:.5rem;padding:.5rem;width:100%}.Contact-form-section form input{height:2rem;transition:box-shadow .3s ease}.Contact-form-section form input:focus{box-shadow:0 0 0 2px #10546b80;outline:none}.Contact-form-section form textarea{border:none;border-radius:5px;height:5rem;margin:.5rem;padding:.5rem;transition:box-shadow .3s ease;width:100%}.Contact-form-section form textarea:focus{box-shadow:0 0 0 2px #10546b80;outline:none}.Contact-form-section form button{background-color:#282c34;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:calc(10px + 2vmin);height:3rem;margin-left:auto;margin-right:auto;transition:all .3s ease;width:50%}.Contact-form-section form button:hover{background-color:#1e2430;box-shadow:0 5px 10px #0003;transform:translateY(-2px)}.Right-social-media{justify-content:space-between}.Right-social-media i{color:#282c34;font-size:calc(10px + 10vmin);padding:1.5rem}.Right-social-media i:hover{color:#1e2430}.loading-container{color:#fff}.loading-spinner{border-top-color:#10546b}.error-container{color:#fff}.retry-button:hover{background-color:#0d4558}.no-projects{color:#fff;font-size:1.2rem;padding:2rem;text-align:center}.welcome-content{align-items:center;display:flex;flex-direction:column;justify-content:center;transition:opacity .5s cubic-bezier(.215,.61,.355,1)}@media screen and (max-width:1300px){.Project-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));padding:1rem 2rem}}@media screen and (max-width:960px){.Project-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));padding:1rem}}@media screen and (max-width:768px){.Top-nav{padding:.5rem}.caption h1{font-size:1.5rem}.caption p{font-size:.8rem}}@media screen and (max-width:600px){.Project-gallery-grid{grid-template-columns:1fr;max-width:90%}.section-header{font-size:2rem}.Gallery-element{min-height:350px}.Gallery-element-image-container{height:180px}.Right-social-media{flex-direction:row}.Top-nav{flex-direction:column;padding-bottom:1rem}.Top-nav-menu ul{font-size:calc(12px + 2vmin)}}body,html{overflow-x:hidden;position:relative;width:100%}@media screen and (max-width:768px){.App-header{padding-bottom:30px;padding-top:30px}.section-header{font-size:2rem;padding-top:4vh}.Gallery-element{min-height:400px}}.mobile-visible{display:none}@media screen and (max-width:768px){.mobile-visible{display:block;margin-bottom:10px;margin-top:10px;position:relative;text-align:center}.mobile-visible .project-details-btn{background-color:#20c0ad;display:inline-block;font-size:16px;padding:8px 20px}.Top-nav-relative{flex-direction:column;padding:10px 0}.caption{margin-bottom:10px}.Top-nav-underlay{background-color:#1a202c;z-index:99}.icon-nav-container{background-color:#1a202cf2;border-radius:0 0 10px 10px;box-shadow:0 4px 8px #0003;margin-top:0;padding:8px 0}.nav-icon{background-color:#10546b33;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;padding:5px}.icon-nav-link.hovered .nav-icon,.icon-nav-link:hover .nav-icon{background-color:#20c0ad33;color:#20c0ad;transform:scale(1.2)}.Top-nav.Top-nav-visible{padding-bottom:5px}.Top-nav-navigation{margin-top:10px;width:100%}}.project-categories{flex-wrap:wrap;margin:0 auto 2rem;max-width:80%}.category-button,.project-categories{display:flex;justify-content:center;position:relative}.category-button{align-items:center;background:#10546b1a;border:2px solid #10546b;border-radius:25px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;margin:.5rem;padding:.5rem 1.2rem;transition:all .3s cubic-bezier(.165,.84,.44,1)}.category-button:hover{background:#10546b4d;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.category-button.active{background:linear-gradient(180deg,#10546b 0,#0d4558);box-shadow:0 4px 8px #0000004d;color:#fff}.category-count{align-items:center;background-color:#20c0ad;border-radius:10px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;margin-left:8px;min-width:20px;padding:0 6px}.category-button.active .category-count{background-color:#fff;color:#0d4558}.category-description{animation:fadeIn .3s cubic-bezier(.165,.84,.44,1);background-color:#10546b26;border-left:3px solid #20c0ad;border-radius:8px;color:#fff;font-size:.95rem;line-height:1.5;margin:-1rem auto 2rem;max-width:80%;padding:.75rem 1.5rem;position:relative;text-align:center}.loading-more{align-items:center;color:#fff;display:flex;flex-direction:column;margin-top:2rem}.loading-spinner-small{animation:spin 1s ease-in-out infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#10546b;height:30px;margin-bottom:.5rem;width:30px}.no-more-projects{color:#ffffffb3;font-style:italic;margin-top:2rem;text-align:center}@media screen and (max-width:768px){.project-categories{max-width:95%}.category-description{font-size:.85rem;max-width:95%;padding:.5rem 1rem}.category-button{font-size:.9rem;padding:.4rem 1rem}.category-count{font-size:.7rem;height:18px;margin-left:6px;min-width:18px}}.technology-tag{cursor:pointer;display:inline-block;text-decoration:none;transition:all .2s ease}.technology-tag:hover{background-color:#06c;box-shadow:0 2px 4px #0000001a;color:#fff;transform:translateY(-1px)}.active-filter{align-items:center;background-color:#10546b1a;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1rem auto 2rem;max-width:80%;padding:.75rem 1.5rem}.active-filter p{color:#fff;font-size:1rem;margin:0}.highlight-tag{background-color:#10546b;border-radius:20px;color:#fff;font-weight:500;padding:.25rem .75rem}.clear-filter-btn{background-color:#ffffff26;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.clear-filter-btn:hover{background-color:#ffffff40;transform:translateY(-1px)}@media (max-width:768px){.active-filter{align-items:center;flex-direction:column;gap:.5rem;max-width:90%;padding:.5rem 1rem}.active-filter p{text-align:center}}.Contact-section{background:linear-gradient(90deg,#0d4558 0,#10546b);box-shadow:0 -5px 10px #0003;color:#fff;display:flex;flex-direction:column;padding:3rem 2rem 2rem}.footer-content{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1200px;width:100%}.footer-left{flex:1 1;margin-bottom:2rem;padding-right:2rem}.footer-left h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem}.footer-left p{color:#fffc;font-size:1rem;margin-bottom:1.5rem}.Right-social-media{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:center}.Right-social-media i{color:#fff;font-size:calc(10px + 5vmin);padding:1rem;text-shadow:0 2px 4px #0003;transition:all .3s cubic-bezier(.215,.61,.355,1)}.Right-social-media i:hover{color:#20c0ad;text-shadow:0 5px 10px #0000004d;transform:translateY(-5px)}.social-button{background:none;border:none;color:#fff;cursor:pointer;display:inline-block;padding:0}.contact-button{background:linear-gradient(180deg,#20c0ad 0,#1a9e8e);font-weight:600;padding:.8rem 1.8rem}.contact-button:hover{background:linear-gradient(180deg,#22d1bc 0,#1cb39f)}.footer-copyright{border-top:1px solid #ffffff1a;color:#fff9;font-size:.9rem;margin-top:2rem;padding-top:1.5rem;text-align:center}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center}.footer-left{margin-bottom:2rem;padding-right:0}.Right-social-media{justify-content:center}.Right-social-media i{font-size:calc(10px + 4vmin);padding:.8rem}.contact-button{font-size:.9rem;padding:.7rem 1.5rem}}@media (max-width:480px){.Contact-section{padding:2rem 1rem 1.5rem}.footer-left h3{font-size:1.5rem}.Right-social-media i{font-size:calc(10px + 3vmin);padding:.6rem}}.contact-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:1000}.contact-modal.open{opacity:1;visibility:visible}.contact-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#1e2430f2;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.contact-modal-content{background:linear-gradient(135deg,#1e2430,#2d3748);border-radius:10px;box-shadow:0 15px 30px #0000004d;color:#fff;max-height:90vh;max-width:600px;overflow-y:auto;padding:2.5rem;position:relative;transform:translateY(20px);transition:transform .3s ease;width:95%;z-index:1001}.contact-modal.open .contact-modal-content{transform:translateY(0)}.close-modal-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:background-color .2s ease}.close-modal-btn:hover{background-color:#ffffff1a}.contact-form-container{display:flex;flex-direction:column}.contact-form-container h2{color:#fff;font-size:2rem;margin-bottom:.5rem;text-align:center}.contact-subtitle{color:#b3b3b3;margin-bottom:2rem;text-align:center}.contact-form{gap:1.2rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#e6e6e6;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background-color:#ffffff0d;border:1px solid #fff3;border-radius:5px;color:#fff;font-size:1rem;padding:.8rem 1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#10546b;box-shadow:0 0 0 2px #10546b4d;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff6}.submit-btn{background:linear-gradient(180deg,#10546b 0,#0d4558);border:none;border-radius:5px;box-shadow:0 3px 6px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:background .3s ease,transform .2s ease,box-shadow .2s ease}.submit-btn:hover{background:linear-gradient(180deg,#20c0ad 0,#1a9e8e);box-shadow:0 5px 10px #0000004d;transform:translateY(-2px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.submit-message{animation:fadeIn .5s ease forwards;border-radius:5px;margin:1rem 0;padding:2rem;text-align:center}.submit-message.success{background-color:#20c0ad33;border:1px solid #20c0ad80}.submit-message.error{background-color:#dc262633;border:1px solid #dc262680}.submit-message h3{font-size:1.5rem;margin-bottom:.5rem}.contact-alternative{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:1rem;text-align:center}.contact-alternative p{color:#b3b3b3;margin-bottom:.5rem}.email-link{color:#20c0ad;font-weight:500;text-decoration:none;transition:color .2s ease}.email-link:hover{color:#fff;text-decoration:underline}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.contact-button-container{margin-top:1rem;text-align:center}.contact-button{background:linear-gradient(180deg,#10546b 0,#0d4558);border:none;border-radius:25px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.7rem 1.5rem;transition:all .3s cubic-bezier(.215,.61,.355,1)}.contact-button:hover{background:linear-gradient(180deg,#20c0ad 0,#1a9e8e);box-shadow:0 5px 10px #0000004d;transform:translateY(-2px)}@media (max-width:768px){.contact-modal-content{padding:1.5rem}.contact-form-container h2{font-size:1.8rem}.submit-btn{padding:.8rem}.contact-button{font-size:.9rem;padding:.6rem 1.2rem}}@media (max-width:480px){.contact-modal-content{padding:1rem}.form-group input,.form-group textarea{padding:.7rem}}.icon-nav-container,.icon-nav-menu ul{margin:0;padding:0}.icon-nav-menu ul{display:flex;list-style:none}.icon-nav-menu li{align-items:flex-start;display:flex;height:80px;margin:0 15px}.icon-nav-link{align-items:center;border-radius:4px;box-sizing:border-box;color:#10546b;display:flex;flex-direction:column;height:100%;justify-content:flex-start;padding:8px 12px;position:relative;text-decoration:none;transition:all .3s ease}.icon-nav-link:hover{background-color:#0000000d}.icon-container{align-items:center;display:flex;height:36px;justify-content:center;transition:transform .3s ease}.nav-icon,.nav-label{transition:all .3s ease}.nav-label{height:0;margin-top:0;opacity:0;overflow:hidden;text-align:center;visibility:hidden;white-space:nowrap}.icon-nav-link.hovered .nav-icon,.icon-nav-link:hover .nav-icon{color:#20c0ad}.icon-nav-link.hovered .nav-label,.icon-nav-link:hover .nav-label{color:#20c0ad;height:auto;margin-top:5px;opacity:1;visibility:visible}@media (max-width:768px){.icon-nav-menu ul{justify-content:center}.icon-nav-menu li{height:auto;margin:0 8px}.icon-nav-link{background-color:#10546b1a;border-radius:50%;padding:8px}.icon-nav-link.hovered .nav-label,.icon-nav-link:hover .nav-label{height:0;margin-top:0;opacity:0;visibility:hidden}.icon-nav-link.hovered .icon-container,.icon-nav-link:hover .icon-container{transform:scale(1.2)}.nav-icon{color:#fff}.icon-nav-link.hovered .nav-icon,.icon-nav-link:hover .nav-icon{color:#20c0ad;transform:scale(1.1)}}.icon-nav-button{align-items:center;background:none;border:none;border-radius:4px;box-sizing:border-box;color:#10546b;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:inherit;height:100%;justify-content:flex-start;line-height:inherit;padding:8px 12px;position:relative;text-align:left;transition:all .3s ease}.icon-nav-button:hover{background-color:#0000000d}.icon-nav-button:focus{box-shadow:0 0 0 2px #10546b80;outline:none}.app{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px}.project-detail-container{background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000000d;margin:2rem auto;padding:2rem 1rem}.breadcrumbs{color:#666;font-size:.9rem;margin-bottom:1.5rem}.breadcrumbs a{color:#06c;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.project-detail-header{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:1rem}.project-detail-header h1{color:#333;font-size:2.2rem;margin-bottom:.5rem}.project-detail-meta{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.project-date{font-style:italic}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem}.technology-tag{background-color:#e9f0f7;border-radius:20px;color:#06c;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.project-detail-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.project-detail-content{grid-template-columns:3fr 2fr}}.project-media-section{display:flex;flex-direction:column;gap:1rem}.project-main-image{border-radius:8px;box-shadow:0 3px 10px #0000001a;overflow:hidden;position:relative}.featured-image{display:block;height:auto;object-fit:cover;width:100%}.image-caption{background-color:#000000b3;bottom:0;color:#fff;font-size:.9rem;left:0;margin:0;padding:.5rem 1rem;position:absolute;right:0}.project-thumbnails{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.thumbnail-item{border:2px solid #0000;border-radius:4px;cursor:pointer;height:60px;overflow:hidden;transition:all .2s ease;width:80px}.thumbnail-item:hover{transform:translateY(-2px)}.thumbnail-item.active{border-color:#06c}.thumbnail-item img{height:100%;object-fit:cover;width:100%}.project-info-section{display:flex;flex-direction:column;gap:2rem}.project-description h2{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.description-content{color:#444;line-height:1.6}.project-links{flex-wrap:wrap;margin-top:2rem}.btn{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.repo-link{background-color:#20c0ad;color:#fff}.repo-link:hover{background-color:#20c0adbf}.live-link{background-color:#333}.live-link:hover{background-color:#222}.back-button{background-color:#f0f0f0;color:#333}.back-button:hover{background-color:#e0e0e0}.project-navigation{border-top:1px solid #eee;margin-top:3rem;padding-top:1.5rem}.loader{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#20c0ad;height:40px;margin-bottom:1rem;width:40px}.error-message h2{color:#d32f2f;margin-bottom:1rem}.error-message p{color:#666;margin-bottom:2rem}:root{--primary-accent:#10546b;--secondary-accent:#20c0ad;--text-bright:#fff;--text-light:#e6e6e6;--text-muted:#b3b3b3;--bg-dark:#1a202c;--bg-card:#232a36;--bg-accent:#2dd4bf66}.App{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.about-page-container{color:#e6e6e6;color:var(--text-light);margin:0 auto;max-width:1200px;padding:40px 20px}.about-header{margin-bottom:60px;text-align:center}.about-header h1{color:#fff;color:var(--text-bright);font-size:3rem;font-weight:700;letter-spacing:1px;margin-bottom:10px}.subtitle{color:#10546b;color:var(--primary-accent);font-size:1.3rem;letter-spacing:.5px}.about-section{margin-bottom:80px}.about-header h2{color:#fff;font-size:3rem;margin-bottom:1.5rem;position:relative;text-align:center}.personal-info{align-items:center;display:flex;flex-direction:column}@media (min-width:768px){.personal-info{align-items:flex-start;flex-direction:row}}.profile-image-container{flex:0 0 300px;margin-bottom:30px}@media (min-width:768px){.profile-image-container{margin-bottom:0;margin-right:40px}}.profile-image,.profile-image-placeholder{border-radius:10px;box-shadow:0 5px 15px #0000004d;width:100%}.profile-image-placeholder{align-items:center;aspect-ratio:3/4;background-color:#10546b;background-color:var(--primary-accent);color:#fff;color:var(--text-bright);display:flex;font-size:3rem;font-weight:700;justify-content:center}.bio-content{flex:1 1}.about-content h2{font-size:2rem;text-align:center}.about-content h3{color:#fff;color:var(--text-bright);font-size:1.8rem;margin-bottom:20px}.about-content p{color:#e6e6e6;color:var(--text-light);font-size:1.1rem;line-height:1.7;margin-bottom:15px}.skills-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr}@media (min-width:768px){.skills-container{grid-template-columns:repeat(3,1fr)}}.skill-category h3{color:#fff;color:var(--text-bright);font-size:1.5rem;margin-bottom:20px;text-align:center}.skills-list{list-style:none;padding:0}.skill-item{margin-bottom:20px}.skill-name{color:#fff;color:var(--text-bright);display:block;font-size:1.1rem;font-weight:500;margin-bottom:8px}.skill-bar{background-color:#fff3;border-radius:5px;height:10px;overflow:hidden}.skill-level{background-color:#10546b;background-color:var(--primary-accent);border-radius:5px;height:100%}.timeline{padding-left:60px;position:relative}.timeline:before{background-color:#10546b;background-color:var(--primary-accent);bottom:0;content:"";left:15px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:50px;position:relative;text-align:left}.timeline-dot{align-items:center;background-color:#10546b;background-color:var(--primary-accent);border-radius:50%;box-shadow:0 0 0 4px #10546b1a;color:#fff;display:flex;height:32px;justify-content:center;left:-60px;position:absolute;top:0;transition:transform .3s ease;width:32px;z-index:1}.timeline-item:hover .timeline-dot{transform:scale(1.1)}.experience-dot{background-color:#10546b}.education-dot{background-color:#20c0ad}.timeline-date{color:#10546b;color:var(--primary-accent);font-size:1rem;font-weight:600;margin-bottom:10px}.timeline-content h3{color:#fff;color:var(--text-bright);font-size:1.4rem;margin-bottom:5px}.timeline-location{color:#b3b3b3;color:var(--text-muted);font-size:1rem;font-style:italic;margin-bottom:10px}.timeline-content p{color:#e6e6e6;color:var(--text-light);line-height:1.6}.about-cta{background-color:#2dd4bf66;background-color:var(--bg-accent);border-radius:10px;margin-top:40px;padding:40px;text-align:center}.about-cta h2{color:#fff;color:var(--text-bright);font-size:2.2rem;margin-bottom:15px}.about-cta p{color:#e6e6e6;color:var(--text-light);font-size:1.2rem;margin-bottom:30px}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.btn{border-radius:5px;display:inline-block;font-size:1.1rem;font-weight:600;padding:12px 30px;text-decoration:none;transition:all .3s ease}.primary-btn{background-color:#10546b;background-color:var(--primary-accent);color:#fff;color:var(--text-bright);font-weight:700}.primary-btn:hover{background-color:#20c0ad;transform:translateY(-3px)}.secondary-btn{background-color:initial;border:2px solid #10546b;border:2px solid var(--primary-accent);color:#10546b;color:var(--primary-accent)}.secondary-btn:hover{background-color:#2dd4bf66;background-color:var(--bg-accent);transform:translateY(-3px)}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem}.loading-spinner{animation:spin 1s ease-in-out infinite;border:5px solid #ffffff4d;border-radius:50%;border-top:5px solid var(--primary-accent);height:50px;margin-bottom:1rem;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem;text-align:center}.error-message{color:#e6e6e6;color:var(--text-light);font-size:1.1rem;margin-bottom:1rem}.retry-button{background-color:#10546b;background-color:var(--primary-accent);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;padding:.7rem 1.5rem;transition:all .3s cubic-bezier(.215,.61,.355,1)}.retry-button:hover{background-color:#20c0ad;background-color:var(--secondary-accent);transform:translateY(-2px)}body{background-color:#1a202c;background-color:var(--bg-dark)}header a{color:#10546b!important;color:var(--primary-accent)!important;font-weight:500}header a:hover{color:#fff!important;color:var(--text-bright)!important}.personal-info-simple{align-items:center;display:flex;justify-content:center;min-height:40vh}.bio-content-centered{max-width:800px;text-align:center}.bio-content-centered h3{color:#fff;color:var(--text-bright);font-size:2rem;margin-bottom:1.5rem}.bio-content-centered p{color:#e6e6e6;color:var(--text-light);font-size:1.2rem;line-height:1.7;margin-bottom:1.5rem}.resume-link-section{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem}.resume-text{color:#e6e6e6;color:var(--text-light);font-size:1rem;margin-bottom:1rem}.resume-link{align-items:center;color:#10546b;color:var(--primary-accent);display:inline-flex;font-size:1.1rem;font-weight:600;text-decoration:none;transition:color .3s ease}.resume-link:hover{color:#fff;color:var(--text-bright);text-decoration:underline}@media (max-width:768px){.bio-content-centered{text-align:left}.bio-content-centered h3{font-size:1.8rem;text-align:center}.bio-content-centered p{font-size:1.1rem}}.resume-page-container{color:var(--text-light);margin:0 auto;max-width:1000px;padding:40px 20px}.resume-actions{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem 0}.pdf-actions{display:flex;gap:1rem}.back-to-about{align-items:center;color:var(--primary-accent);display:flex;font-weight:500;gap:.5rem;text-decoration:none;transition:color .3s ease}.back-to-about:hover{color:var(--text-bright)}.download-pdf-btn,.preview-pdf-btn{align-items:center;border:none;border-radius:25px;box-shadow:0 2px 4px #0003;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.7rem 1.5rem;transition:all .3s cubic-bezier(.215,.61,.355,1)}.download-pdf-btn{background:linear-gradient(to bottom,var(--primary-accent) 0,#0d4558 100%);color:#fff}.download-pdf-btn:hover:not(:disabled){background:linear-gradient(180deg,#20c0ad 0,#1a9e8e);box-shadow:0 5px 10px #0000004d;transform:translateY(-2px)}.preview-pdf-btn{background:#ffffff1a;border:1px solid #fff3;color:var(--text-light)}.preview-pdf-btn:hover:not(:disabled){background:#fff3;color:var(--text-bright);transform:translateY(-2px)}.download-pdf-btn:disabled,.preview-pdf-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.pdf-error{background-color:#dc26261a;border:1px solid #dc26264d;border-radius:8px;color:#ff6b6b;margin-bottom:2rem;padding:1rem;text-align:center}.pdf-error p{font-size:.9rem;margin:0}.resume-header{margin-bottom:3rem;text-align:center}.resume-header h2{color:var(--text-bright);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.resume-header .subtitle{color:var(--primary-accent);font-size:1.2rem;letter-spacing:.5px}.resume-section{border-bottom:1px solid #ffffff1a;margin-bottom:3rem;padding-bottom:2rem}.resume-section:last-child{border-bottom:none}.resume-section h3{color:var(--text-bright);font-size:1.8rem;margin-bottom:1.5rem;position:relative}.resume-section h3:after{background-color:var(--primary-accent);border-radius:2px;bottom:-.5rem;content:"";height:3px;left:0;position:absolute;width:50px}.resume-section h4{color:var(--text-bright);font-size:1.3rem;margin-bottom:1rem}.resume-section p{color:var(--text-light);font-size:1rem;line-height:1.6;margin-bottom:1rem}.resume-projects-list{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.resume-project-item{background-color:#ffffff0d;border-left:4px solid var(--primary-accent);border-radius:10px;display:flex;gap:2rem;padding:2rem;transition:all .3s ease}.resume-project-item:hover{background-color:#ffffff14;transform:translateX(5px)}.project-number{color:var(--primary-accent);font-size:1.5rem;font-weight:700;line-height:1;min-width:3rem}.project-content{flex:1 1}.project-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.project-title{color:var(--text-bright);font-size:1.4rem;margin:0}.project-title-link{color:var(--text-bright);text-decoration:none;transition:color .3s ease}.project-title-link:hover{color:var(--primary-accent);text-decoration:underline}.project-links{display:flex;flex-shrink:0;gap:1rem}.project-link{border-radius:20px;font-size:.9rem;font-weight:500;padding:.4rem 1rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.live-link{background-color:var(--primary-accent);color:#fff}.live-link:hover{background-color:#20c0ad;transform:translateY(-2px)}.repo-link{background-color:#ffffff1a;border:1px solid #fff3;color:var(--text-light)}.repo-link:hover{background-color:#fff3;color:var(--text-bright)}.project-description{color:var(--text-light);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.project-tech-stack{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.stack-label{color:var(--text-bright);font-size:.9rem;font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:var(--primary-accent);border-radius:15px;color:#fff;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.view-all-projects{margin-top:2rem;text-align:center}.resume-cta{background-color:var(--bg-accent);border-radius:10px;margin-top:3rem;padding:2.5rem;text-align:center}.resume-cta h3{color:var(--text-bright);font-size:2rem;margin-bottom:1rem}.resume-cta p{color:var(--text-light);font-size:1.1rem;margin-bottom:2rem}@media (max-width:768px){.resume-page-container{padding:20px 15px}.resume-actions{align-items:stretch;flex-direction:column;gap:1rem}.back-to-about{justify-content:center;order:2}.pdf-actions{justify-content:center;order:1}.resume-header h2{font-size:2rem}.resume-section h3{font-size:1.5rem}.skills-container{grid-template-columns:1fr}.resume-project-item{flex-direction:column;gap:1rem;padding:1.5rem}.project-number{font-size:1.2rem;min-width:auto}.project-header{align-items:flex-start;flex-direction:column;gap:1rem}.project-links{justify-content:flex-start;width:100%}.project-tech-stack{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:480px){.resume-page-container{padding:15px 10px}.resume-header h2{font-size:1.8rem}.resume-section{margin-bottom:2rem}.resume-cta{padding:1.5rem}.cta-buttons{flex-direction:column;gap:1rem}.btn{width:100%}.resume-project-item{padding:1rem}.project-links{flex-direction:column;gap:.5rem}.project-link{text-align:center}.pdf-actions{flex-direction:column;gap:.5rem}.download-pdf-btn,.preview-pdf-btn{justify-content:center;width:100%}.resume-page-container{padding:15px 10px}.resume-header h2{font-size:1.8rem}.resume-section{margin-bottom:2rem}.resume-cta{padding:1.5rem}.cta-buttons{flex-direction:column;gap:1rem}.btn{width:100%}.resume-project-item{padding:1rem}.project-links{flex-direction:column;gap:.5rem}.project-link{text-align:center}}
/*# sourceMappingURL=main.b707353d.css.map*/