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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#fluid-canvas{height:100vh!important;left:50%!important;pointer-events:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:100vw!important}.theBall{background-color:#ff7272cc}.zooming.theBall{background-color:#ff7272}*{box-sizing:border-box;max-width:100%}::-webkit-scrollbar{display:none!important;height:0!important;width:0!important}#fluid-canvas{height:100%!important;left:0!important;max-height:100vh!important;max-width:100vw!important;overflow:hidden!important;pointer-events:none!important;position:fixed!important;top:0!important;width:100%!important;z-index:0!important}.App{height:auto;text-align:center}.App,.App-header{box-sizing:border-box;max-width:100vw;min-height:100vh;overflow-x:hidden;position:relative;width:100%}.App-header{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-direction:column;justify-content:flex-start;margin:0;overflow-y:auto;padding:0}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body,html{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{display:none;height:0!important;width:0!important}body,html{max-width:100vw;overflow-x:hidden}body{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#0a0a0f,#1a1a2e 40%,#16213e 80%,#0f3460);background-attachment:fixed;background-size:cover;color:#f5f5f5;height:auto;margin:0;min-height:100vh;overflow-y:auto;padding:0;position:relative;transition:background .6s cubic-bezier(.23,1,.32,1);width:100%}.theBall,.theBall-outer{height:20px;width:20px}.theBall-outer{left:-20px;pointer-events:none!important;position:fixed;top:-20px;z-index:10000000000000000000}.theBall{background-color:#4a90e2cc;border-radius:50%;position:absolute;transform-origin:center center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.zooming.theBall{background-color:#4a90e2;transform:scale(2)}.mouse-move{bottom:-130px;left:50%;margin-left:-50px;position:absolute;width:65px}.mouse-move a{border-radius:900px;display:inline-block;font-size:12px;height:65px;letter-spacing:2px;line-height:65px;text-align:center;text-transform:uppercase;width:65px}.mouse-move .boom:after,.mouse-move .boom:before{animation:clipMe 8s linear infinite;border-radius:900px;bottom:0;box-shadow:inset 0 0 0 2px;content:"";left:0;margin:0;position:absolute;right:0;top:0;z-index:-1}.mouse-move .boom:before{animation-delay:-4s}@keyframes clipMe{0%,to{clip:rect(0,220px,2px,0)}25%{clip:rect(0,2px,220px,0)}50%{clip:rect(218px,220px,220px,0)}75%{clip:rect(0,220px,220px,218px)}}.banner_canvas{height:100%;left:0;position:fixed;top:0;width:100%}.portfolio-title{color:#4a90e2;font-size:6rem;font-weight:700;letter-spacing:3px;margin-bottom:.2em;text-shadow:0 0 20px #4a90e24d}.portfolio-subtitle{color:#7bb3f0;font-size:3rem;font-weight:400;margin-bottom:1.2em;opacity:.9;text-shadow:0 0 15px #7bb3f04d}.portfolio-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181ce6;border-radius:40px;display:flex;gap:.8em;justify-content:center;margin:1.5em auto;padding:.8em;position:relative;width:fit-content;z-index:1}.portfolio-section:before{display:none}.portfolio-nav a{background:#4a90e21a;border:1px solid #4a90e233;border-radius:20px;color:#fff;font-size:1.2em;font-weight:500;margin:0;padding:.6em 1.2em;text-decoration:none;transition:all .3s ease}.portfolio-nav a:hover{background:#4a90e2e6;border-color:#0000;transform:translateY(-2px)}.portfolio-section{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181cd9;border-left:none;border-top:1px solid #4a90e21a;margin:0;max-width:100vw;overflow:hidden;padding:2rem max(3vw,1.5rem);position:relative;transform:translateZ(0);transition:all .3s ease;width:100%}.portfolio-section .content-wrapper{margin:0 auto;max-width:1200px;position:relative}.portfolio-section:hover{box-shadow:0 5px 25px 0 #0006,0 0 50px #4a90e226;transform:translateY(-5px) translateZ(0)}.portfolio-section:before{background:linear-gradient(180deg,#0000,#4a90e2);content:"";height:50px;left:-2.5px;opacity:.5;position:absolute;top:-50px;width:5px}.portfolio-section h2,.portfolio-section h3{color:#7bb3f0;display:inline-block;font-size:2.5rem;margin-bottom:1.2em;position:relative}.portfolio-section h2:after,.portfolio-section h3:after{background:linear-gradient(90deg,#7bb3f0,#0000);bottom:-8px;content:"";height:3px;left:0;position:absolute;width:100%}.portfolio-section ul{display:none}.portfolio-section li{color:#f5f5f5;margin-bottom:.5em}.portfolio-section li,.portfolio-section p{font-size:1.6em;line-height:1.6}.certificates-banner,.certificates-section,.styled-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181bf2;border-bottom:1px solid #4a90e21a;border-top:1px solid #4a90e21a;color:#f5f5f5;margin:0 calc(-50vw + 50%);padding:4rem max(10vw,2rem);position:relative;width:100vw}.styled-section:after{display:none}.styled-section{border-left:none;border-right:none;margin:0}.profile-section{align-items:center;border:none;display:flex;flex-direction:column;margin:0;max-width:100vw;padding:2rem max(5vw,1.5rem);width:100%}.profile-content{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:1fr auto 1fr;max-width:1200px;width:100%}.profile-info,.profile-summary{text-align:left}.profile-summary h2{color:#7bb3f0;display:inline-block;font-size:1.8rem;margin:0 0 .8rem;position:relative}.profile-summary h2:after{background:linear-gradient(90deg,#7bb3f0,#0000);bottom:-6px;content:"";height:3px;left:0;position:absolute;width:100%}.profile-summary p{color:#ffffffe0;font-size:1.05rem;line-height:1.7;margin:0}.profile-section h1{color:#4a90e2;font-size:4rem;letter-spacing:2px;margin:0 0 .5rem;text-shadow:0 0 20px #4a90e24d}.profile-section .title{color:#ffffffe6;font-size:1.8rem;font-weight:500;line-height:1.4;margin:0 0 .5rem}.profile-section .location{color:#7bb3f0;font-size:1.4rem;font-weight:500;margin:0 0 1rem}.profile-section .description{color:#ffffffe6;font-size:1.6rem;line-height:1.6;margin:0}.profile-image{border:3px solid #4a90e24d;border-radius:50%;box-shadow:0 0 30px #4a90e233;flex-shrink:0;height:200px;overflow:hidden;transition:all .3s ease;width:200px}.profile-image:hover{border-color:#4a90e280;box-shadow:0 0 40px #4a90e24d;transform:scale(1.05)}.profile-image img{height:100%;object-fit:cover;width:100%}.certificates-section{background:linear-gradient(90deg,#18181bf2 60%,#222222f2);border-left:none;border-right:none;box-shadow:none;margin:0 auto;max-width:100vw;padding-left:0;padding-right:0;width:100%}.certificates-section h2,.technologies-banner h2{color:#7bb3f0;display:inline-block;font-size:2.2rem;margin-bottom:1rem;position:relative}.certificates-section h2:after,.technologies-banner h2:after{background:linear-gradient(90deg,#7bb3f0,#0000);bottom:-8px;content:"";height:3px;left:0;position:absolute;width:100%}.content-wrapper{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1400px;padding:0 1rem;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}80%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes float{0%{transform:translateY(0) translateZ(0)}50%{transform:translateY(-10px) translateZ(0)}to{transform:translateY(0) translateZ(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%{box-shadow:0 0 20px #4a90e24d}50%{box-shadow:0 0 40px #4a90e280}to{box-shadow:0 0 20px #4a90e24d}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.23,1,.32,1) both}.animate-slide-in{animation:slideIn .7s cubic-bezier(.23,1,.32,1) both}.animate-pop{animation:popIn .5s cubic-bezier(.23,1,.32,1) both}section[id]{scroll-margin-top:80px}.projects-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:1.5rem;width:100%}.project-card{box-sizing:border-box;display:flex;flex-direction:column;height:auto}.project-image{height:130px}.project-desc{color:#ffffffe0;flex:1 1 auto;font-size:.9rem;line-height:1.45;margin:0 0 .7rem}.expand-btn{background:none;border:none;color:#7bb3f0;cursor:pointer;font-size:.85rem;font-weight:600;padding:0;text-decoration:underline;transition:color .2s ease}.expand-btn:focus,.expand-btn:hover{color:#4a90e2;outline:none}.tag-expand-btn{background:#7bb3f026;border:1px solid #7bb3f04d;border-radius:20px;font-size:.8rem;padding:.3rem .7rem;text-decoration:none}.project-bottom{flex-shrink:0;margin-top:auto;padding-top:.5rem}.project-content{padding:1.5rem}.project-links{gap:1rem;margin-top:0;padding-top:0}.project-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181cd9;border:1px solid #4a90e21a;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:#4a90e24d;box-shadow:0 10px 30px #0000004d,0 0 60px #4a90e233;transform:translateY(-10px)}.project-image{flex-shrink:0;height:140px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{justify-content:space-between;padding:1rem;position:relative}.project-content h4{font-size:1.5rem;margin-bottom:.6rem}.project-content p{color:#ffffffe6;flex:1 1 auto;font-size:1rem;line-height:1.4;margin-bottom:.8rem}.project-technologies{gap:.5rem;margin-bottom:1rem;margin-top:0;padding-top:0}.tech-tag{background:#7bb3f026;border:1px solid #7bb3f033;border-radius:20px;color:#7bb3f0;font-size:1.1rem;padding:.4rem .8rem;transition:all .3s ease}.tech-tag:hover{background:#7bb3f040;transform:translateY(-2px)}.project-link{border-radius:25px;font-size:1.2rem;padding:.8rem 1.5rem}.project-link.live{background:#4a90e2e6;color:#fff}.project-link.github{background:#ffffff1a;border:1px solid #fff3;color:#fff}.project-link:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.project-link.live:hover{background:#4a90e2}.project-link.github:hover{background:#fff3}.contact-info{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.contact-info p{align-items:center;display:flex;font-size:1.4rem;gap:.5rem;margin:0}.contact-info a{color:#1976d2;font-size:1.4rem;font-weight:500;text-decoration:none;transition:color .2s}.contact-info a:hover{color:#e53935}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out;visibility:hidden;will-change:opacity,visibility}.fade-in-section.is-visible{opacity:1;transform:translateY(0);visibility:visible}.stagger-children>*{animation:fadeInUp .5s ease forwards;opacity:0}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.2s}.stagger-children>:nth-child(3){animation-delay:.3s}.stagger-children>:nth-child(4){animation-delay:.4s}.stagger-children>:nth-child(5){animation-delay:.5s}.stagger-children>:nth-child(n+6){animation-delay:.6s}@media (max-width:768px){.portfolio-section{margin:1em auto;padding:1rem}.projects-grid{grid-template-columns:1fr}.portfolio-title{font-size:3rem}.portfolio-subtitle{font-size:1.8rem}.portfolio-nav{flex-wrap:wrap;justify-content:center}.profile-content{gap:1.5rem;grid-template-columns:1fr;justify-items:center}.profile-info{text-align:center;width:100%}.profile-summary{text-align:left;width:100%}.profile-image{height:150px;margin:0 auto;width:150px}.profile-section h1{font-size:2.5rem}}.project-card{overflow:hidden;position:relative}.project-card:after{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-75%;pointer-events:none;position:absolute;top:0;transform:skewX(-25deg);transition:.75s;width:50%}.project-card:hover:after{left:125%;transition-timing-function:ease-in-out}.certificates-summary{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem auto;max-width:700px;padding:1rem;width:100%}.qualifications-list{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;list-style:none;margin:0;padding:0}.qualifications-list li{background:#18181cd9;border:1px solid #4a90e233;border-radius:20px;color:#ffffffe6;font-size:.95rem;padding:.4rem 1rem}.view-all-certs-btn{align-items:center;background:#0f346059;border:1px solid #4a90e266;border-radius:30px;color:#7bb3f0;display:inline-flex;font-size:1.1rem;font-weight:600;justify-content:center;padding:.9rem 1.8rem;text-decoration:none;transition:all .3s ease}.view-all-certs-btn:hover{background:#4a90e240;border-color:#4a90e2b3;box-shadow:0 10px 30px #4a90e233;color:#fff;transform:translateY(-3px)}.certs-buttons-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;width:100%}@media (max-width:480px){.certs-buttons-row{align-items:stretch;flex-direction:column}}.technologies-banner{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181bf2;border-bottom:1px solid #4a90e21a;border-top:1px solid #4a90e21a;color:#f5f5f5;display:flex;flex-direction:column;margin:0;max-width:100vw;padding:3rem max(5vw,1.5rem);position:relative;width:100%}.tech-columns{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin-top:1rem;max-width:1400px;width:100%}.tech-category{background:#0f34601f;border:1px solid #4a90e226;border-radius:12px;flex:1 1 200px;margin:0;max-width:260px;padding:.9rem}.category-title{align-items:center;color:#4a90e2;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:.7rem;text-align:center;text-shadow:0 0 10px #4a90e24d;text-transform:capitalize}.category-title-icon{flex-shrink:0;height:22px;object-fit:contain;width:22px}.technologies-grid{display:flex;flex-direction:column;gap:.5rem}.technology-card{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:8px;display:flex;gap:.5rem;padding:.4rem .6rem;transition:all .2s ease}.technology-card:hover{background:#0f34604d;border-color:#4a90e266}.technology-icon{flex-shrink:0;height:20px;object-fit:contain;opacity:.9;transition:transform .2s ease;width:20px}.technology-card:hover .technology-icon{opacity:1;transform:scale(1.1)}.tech-name{color:#cfe3fb;font-size:.85rem;font-weight:500;margin:0}.floating-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181cf2;border-bottom:1px solid #4a90e21a;left:0;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .3s ease;z-index:1000}.floating-nav.visible{transform:translateY(0)}.nav-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem}.nav-brand{color:#4a90e2;font-size:1.6rem;font-weight:700;text-shadow:0 0 15px #4a90e233}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:#fff;font-size:1.2rem;font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.nav-links a:after{background:#4a90e2;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-links a:hover{color:#4a90e2}.nav-links a:hover:after{width:100%}#fluid-canvas,.banner_canvas{pointer-events:none!important}@media (hover:hover) and (pointer:fine){#fluid-canvas{pointer-events:auto!important}}.highlight-text{color:#4a90e2;font-weight:600;text-shadow:0 0 10px #4a90e24d;transition:all .3s ease}.status-no{color:#e53935;font-weight:600}.collapsible-section{margin-top:1.5rem;width:100%}.collapsible-header{align-items:center;background:#0f346033;border:1px solid #4a90e233;border-radius:12px;color:#7bb3f0;cursor:pointer;display:flex;font-size:1.4rem;font-weight:600;justify-content:space-between;padding:1rem 1.5rem;text-align:left;transition:all .3s ease;width:100%}.collapsible-header:hover{background:#0f34604d;border-color:#4a90e266}.collapsible-header:focus{outline:2px solid #64b5f6;outline-offset:2px}.collapse-icon{color:#7bb3f0;transition:transform .3s ease}.collapse-icon.expanded{transform:rotate(180deg)}.collapsible-content{animation:slideDown .3s ease;background:#0f34601a;border-radius:12px;margin-top:1rem;padding:2rem}.collapsible-content p{font-size:1.4rem;line-height:1.6;margin:.8rem 0}.contact-details{display:flex;flex-direction:column;gap:1.5rem;margin-top:0;padding:1rem 0 1rem 1.5rem}.contact-details p{align-items:center;display:flex;font-size:1.4rem;gap:1.5rem;margin:0}.contact-label{color:#7bb3f0;font-weight:600;min-width:100px;text-align:left}.contact-link{color:#4a90e2;font-weight:500;text-decoration:none;transition:all .3s ease}.contact-link:hover{color:#7bb3f0;text-shadow:0 0 8px #7bb3f066}.project-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:16px;margin:2rem 0;padding:2rem;width:100%}.search-container{margin-bottom:2rem}.search-input{background:#18181ccc;border:2px solid #4a90e24d;border-radius:25px;color:#fff;font-size:1.2rem;max-width:500px;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.search-input:focus{border-color:#4a90e2;outline:none}.search-input::placeholder{color:#fff9}.filter-container{display:flex;flex-direction:column;gap:1rem}.filter-label{color:#7bb3f0;font-size:1.4rem;font-weight:600;text-shadow:0 0 10px #7bb3f04d}.technology-filters{display:flex;flex-wrap:wrap;gap:.8rem}.filter-btn{background:#7bb3f026;border:1px solid #7bb3f04d;border-radius:25px;color:#7bb3f0;cursor:pointer;font-size:1.1rem;font-weight:500;padding:.8rem 1.5rem;transition:all .3s ease}.filter-btn:hover{background:#7bb3f040;transform:translateY(-2px)}.filter-btn.active{background:#4a90e2cc;border-color:#4a90e2;color:#fff}.clear-filters-btn{background:#e5393533;border:1px solid #e539354d;border-radius:25px;color:#e53935;cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:1rem;padding:.8rem 1.5rem;transition:all .3s ease}.clear-filters-btn:hover{background:#e539354d;transform:translateY(-2px)}.project-controls-compact{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;width:100%}.search-bar-container{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181ce6;border:2px solid #4a90e24d;border-radius:30px;display:flex;flex-wrap:nowrap;gap:.5rem;overflow:hidden;padding:.5rem;transition:all .3s ease}.search-bar-container:focus-within{border-color:#4a90e2}.search-input-compact{background:#0000;border:none;color:#fff;flex:1 1;font-size:1.1rem;outline:none;padding:.8rem 1rem}.search-input-compact::placeholder{color:#ffffff80}.filter-toggle-btn{align-items:center;background:#4a90e233;border:1px solid #4a90e24d;border-radius:25px!important;color:#7bb3f0;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:500;gap:.5rem;padding:.8rem 1.2rem;transition:all .3s ease;white-space:nowrap}.filter-toggle-btn:hover{background:#4a90e24d;border-radius:25px!important;transform:translateY(-1px)}.filter-toggle-btn:focus{border-radius:25px!important;outline:2px solid #64b5f6;outline-offset:2px}.filter-toggle-btn.active{background:#4a90e2cc;border-radius:25px!important;color:#fff}.filter-toggle-btn svg{height:16px;width:16px}.clear-btn-compact{align-items:center;background:#e5393533;border:1px solid #e539354d;border-radius:50%;color:#e53935;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;padding:0;transition:all .3s ease;width:32px}.clear-btn-compact:hover{background:#e5393566;transform:rotate(90deg)}.technology-filters-expanded{animation:slideDown .3s ease;background:#0f346026;border-radius:16px;display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-chip{background:#7bb3f026;border:1px solid #7bb3f04d;border-radius:20px;color:#7bb3f0;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.2rem;transition:all .3s ease}.filter-chip:hover{background:#7bb3f040;transform:translateY(-2px)}.filter-chip.active{background:#4a90e2cc;border-color:#4a90e2;color:#fff}.active-filter-tag{background:#4a90e233;border-radius:12px;color:#7bb3f0;font-size:.95rem;padding:.6rem 1rem;text-align:center}.active-filter-tag strong{color:#fff}.results-info{font-size:1.2rem;margin:1rem 0}.no-results,.results-info{color:#ffffffb3;text-align:center}.no-results{padding:3rem}.no-results p{font-size:1.4rem;margin-bottom:2rem}.work-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f346033;border:1px solid #4a90e233;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.work-status p{font-size:1.4rem;margin:.5rem 0}.cv-button{border-bottom:1px solid #4a90e280;color:#4a90e2;display:inline;font-weight:500;margin-left:.5rem;padding-bottom:2px;text-decoration:none;transition:all .3s ease}.cv-button:hover{border-bottom:1px solid #7bb3f0;color:#7bb3f0}.cv-button:focus{outline:2px solid #64b5f6;outline-offset:2px}@media (max-width:768px){.nav-brand{display:none}.nav-content{justify-content:center}.project-controls{padding:1.5rem}.technology-filters{justify-content:center}.filter-btn{font-size:1rem;padding:.6rem 1.2rem}.search-input{font-size:1.1rem;padding:.8rem 1.2rem}.contact-details{gap:.8rem}.search-bar-container{gap:.3rem;padding:.4rem}.search-input-compact{font-size:1rem;min-width:0;padding:.6rem .8rem}.filter-toggle-btn{font-size:.9rem;gap:.3rem;padding:.6rem .9rem}.filter-toggle-btn svg{height:14px;width:14px}.clear-btn-compact{font-size:1rem;height:28px;width:28px}.contact-details p{align-items:flex-start;flex-direction:column;font-size:1.2rem;gap:.5rem}.contact-label{min-width:auto}.collapsible-header{font-size:1.2rem;padding:.8rem 1rem}.collapsible-content{padding:1rem}.collapsible-content p{font-size:1.2rem}.highlight-text{color:#fff!important;font-weight:600;text-shadow:0 1px 2px #00000080}.floating-nav a,.portfolio-nav a{color:#fff!important;font-weight:500;text-shadow:0 1px 3px #000000b3}.project-card h4{color:#fff!important;text-shadow:0 1px 2px #000c}.project-card p{color:#fffffff2!important;line-height:1.5;text-shadow:0 1px 2px #0009}.tech-name{color:#fff!important;text-shadow:0 1px 2px #000000b3}.tech-description{color:#ffffffe6!important;text-shadow:0 1px 2px #00000080}.profile-section h1{color:#fff!important;text-shadow:0 2px 4px #000c}.profile-section .description{color:#fffffff2!important;font-size:1.1rem;line-height:1.6;text-shadow:0 1px 2px #0009}.contact-link,.profile-section .location a{color:#fff!important;text-shadow:0 1px 2px #000000b3}.contact-link{background-color:#4a90e24d;border:1px solid #fff3;border-radius:4px;display:inline-block;max-width:100%;overflow-wrap:break-word;padding:.3rem .6rem;word-break:break-all}.contact-details{overflow:hidden;width:100%}.contact-details p{overflow-wrap:break-word;width:100%;word-break:break-word}.portfolio-section h2,.styled-section h3,.technologies-banner h2{color:#fff!important;text-shadow:0 2px 4px #000c}.floating-nav a,.portfolio-nav a,.project-link,.view-all-certs-btn{align-items:center;display:flex;justify-content:center;min-height:44px;padding:.8rem 1.2rem}.portfolio-section,.styled-section,.technologies-banner{margin:.8rem 0;padding:1.5rem 1rem}body{font-size:16px;line-height:1.6}.project-card{border-radius:10px;margin-bottom:1rem;padding:1rem}.floating-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:.5rem 1rem}.portfolio-nav{gap:1rem;margin:1rem 0;padding:1rem}.tech-category{margin:1rem 0}.technologies-grid{gap:1rem;padding:.5rem}.technology-card{border-radius:10px;padding:1rem}.App{min-height:100vh;min-height:100dvh}*{box-sizing:border-box}*,img{max-width:100%}img{display:block;height:auto}}[tabindex]:focus,a:focus,button:focus{border-radius:4px;outline:2px solid #64b5f6;outline-offset:2px;transition:outline .2s ease-in-out}.floating-nav a:focus,.portfolio-nav a:focus{background-color:#64b5f61a;outline:2px solid #64b5f6;outline-offset:-2px}.project-link:focus,.view-all-certs-btn:focus{box-shadow:0 8px 25px #64b5f64d;outline:2px solid #64b5f6;transform:translateY(-5px) scale(1.02)}.contact-link:focus{background-color:#64b5f61a;border-radius:4px;padding:2px 4px}.technology-card:focus{box-shadow:0 6px 20px #64b5f633;outline:2px solid #64b5f6;transform:scale(1.05)}.skip-link{background:#000;border-radius:4px;color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;transition:top .3s ease;z-index:10000}.skip-link:focus{outline:2px solid #64b5f6;top:6px}.project-card{transition:transform .2s ease,box-shadow .2s ease,outline .2s ease}@media (prefers-contrast:high){[tabindex]:focus,a:focus,button:focus{background-color:#000;outline:3px solid #fff}}@media (prefers-reduced-motion:reduce){:focus{transition:none}}.profile-contact-badges{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.contact-badge{align-items:center;background:#0f346059;border:1px solid #4a90e24d;border-radius:20px;color:#7bb3f0;display:inline-flex;font-size:1.1rem;font-weight:500;gap:.4rem;padding:.45rem .9rem;text-decoration:none;transition:all .25s ease;word-break:break-all}.contact-badge:hover{background:#4a90e240;border-color:#4a90e299;color:#fff;transform:translateY(-2px)}.skill-card-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.skill-card-list li{color:#ffffffd9;font-size:.8rem;line-height:1.3;padding-left:.9rem;position:relative}.skill-card-list li:before{color:#4a90e2;content:"•";left:0;position:absolute}.section-subtitle{color:#ffffffb3;font-size:1.3rem;font-style:italic;margin:.6rem 0 .5rem}@media (max-width:768px){.profile-contact-badges{gap:.5rem}.contact-badge{font-size:.95rem;padding:.4rem .7rem;word-break:break-all}.tech-category{flex:1 1 45%}.skill-card-list li{font-size:.85rem}}.status-yes{color:#4caf50;font-weight:600}.project-content{display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;min-height:0;padding:.9rem}.project-content h4{color:#4a90e2;font-size:1.1rem;margin:0 0 .3rem;text-shadow:0 0 15px #4a90e233}.project-technologies{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.35rem;margin:0}.project-links{display:flex;flex-shrink:0;gap:.6rem;margin-top:.5rem}.project-link{border-radius:20px;flex:1 1;font-size:.95rem;font-weight:500;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:all .3s ease}.skills-certs-section{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181bf2;border-bottom:1px solid #4a90e21a;border-top:1px solid #4a90e21a;display:flex;flex-direction:column;margin:0;max-width:100vw;padding:3rem max(5vw,1.5rem);width:100%}.skills-certs-section h2{color:#7bb3f0;display:inline-block;font-size:2.2rem;margin-bottom:.4rem;position:relative}.skills-certs-section h2:after{background:linear-gradient(90deg,#7bb3f0,#0000);bottom:-8px;content:"";height:3px;left:0;position:absolute;width:100%}.skills-cta-row{flex-wrap:wrap;margin:.5rem 0 2rem}.skills-carousel,.skills-cta-row{display:flex;gap:1rem;justify-content:center;width:100%}.skills-carousel{align-items:center;max-width:1100px;outline:none;padding:1rem 0;position:relative}.skills-carousel:focus-visible{border-radius:12px;outline:2px solid #7bb3f0;outline-offset:4px}.carousel-stage{height:420px;max-width:820px;perspective:1200px;position:relative;width:100%}.carousel-card{left:50%;max-height:380px;opacity:calc(1 - min(.85, var(--abs-offset) * .4));overflow-y:auto;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) translateX(calc(var(--offset)*130px)) translateY(calc(var(--abs-offset)*10px)) scale(calc(1 - min(.35, var(--abs-offset) * .18)));transition:transform .45s cubic-bezier(.23,1,.32,1),opacity .45s ease;width:260px;z-index:calc(10 - var(--abs-offset))}.carousel-card.active{pointer-events:auto;z-index:10}.carousel-card-content{background:#0f346066;border:1px solid #4a90e240;border-radius:12px;box-shadow:0 8px 24px #00000059;box-sizing:border-box;padding:1rem;width:100%}.carousel-card.active .carousel-card-content{background:#0f34608c;border-color:#7bb3f099}.carousel-arrow{background:#0f346080;border:1px solid #4a90e266;border-radius:50%;color:#7bb3f0;cursor:pointer;flex-shrink:0;font-size:1.1rem;height:44px;transition:background .2s ease,transform .2s ease;width:44px;z-index:5}.carousel-arrow:focus-visible,.carousel-arrow:hover{background:#4a90e259;transform:scale(1.08)}.carousel-dots{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.carousel-dot{background:#0000;border:1px solid #4a90e280;border-radius:50%;cursor:pointer;height:10px;padding:0;width:10px}.carousel-dot.active{background:#7bb3f0}.carousel-current-label{color:#7bb3f0;font-weight:600;margin-top:.5rem}@media (prefers-reduced-motion:reduce){.carousel-card{transition:none}}@media (max-width:900px){.carousel-stage{height:360px;max-width:100%}.carousel-card{width:200px}}@media (max-width:600px){.skills-carousel{gap:.5rem}.carousel-arrow{height:36px;width:36px}.carousel-stage{height:340px}.carousel-card{width:170px}}.profile-section{padding-bottom:3rem;padding-top:3rem}@media (max-width:1100px) and (min-width:769px){.profile-content{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.profile-image{grid-column:1/2;grid-row:1/2}.profile-info{grid-column:2/3;grid-row:1/2}.profile-summary{grid-column:1/3;grid-row:2/3}}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.80295752.css.map*/