@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);:root{--bg-color:#1e1e22;--bg-secondary:#16161a;--text-color:#f5f5f5;--text-secondary:#b8b8b8;--accent-color:#2a81b9;--accent-hover:#2270a3;--card-bg:#2a2a30;--card-hover:#33333a;--border-color:#3a3a40;--shadow:#0000004d}*{box-sizing:border-box}*,body{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1e1e22;background-color:var(--bg-color);color:#f5f5f5;color:var(--text-color);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#2a81b9;color:var(--accent-color);text-decoration:none;transition:all .3s ease}a:hover{color:#2270a3;color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}button{background-color:#2a81b9;background-color:var(--accent-color);border:none;border-radius:8px;color:#000;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}button:hover{background-color:#2270a3;background-color:var(--accent-hover);box-shadow:0 4px 12px #2a81b94d;transform:translateY(-2px)}button:active{transform:translateY(0)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#16161a;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#2a81b9;background:var(--accent-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#2270a3;background:var(--accent-hover)}.container{margin:0 auto;max-width:1200px;padding:0 2rem}section{min-height:auto;padding:4rem 0}.card{background-color:#2a2a30;background-color:var(--card-bg);border:1px solid #3a3a40;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease}.card:hover{background-color:#33333a;background-color:var(--card-hover);box-shadow:0 8px 24px #0000004d;box-shadow:0 8px 24px var(--shadow);transform:translateY(-4px)}input,select,textarea{background-color:#2a2a30;background-color:var(--card-bg);border:1px solid #3a3a40;border:1px solid var(--border-color);border-radius:8px;color:#f5f5f5;color:var(--text-color);font-family:inherit;font-size:1rem;padding:.75rem;transition:all .3s ease}input:focus,select:focus,textarea:focus{border-color:#2a81b9;border-color:var(--accent-color);box-shadow:0 0 0 3px #2a81b91a;outline:none}.tag{background-color:#2a81b926;border-radius:20px;display:inline-block;font-size:.875rem;font-weight:500;margin:.25rem;padding:.25rem .75rem}.link-button,.tag{color:#2a81b9;color:var(--accent-color)}.link-button{align-items:center;background-color:initial;border:2px solid #2a81b9;border:2px solid var(--accent-color);border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.link-button:hover{background-color:#2a81b9;background-color:var(--accent-color);color:#000}.grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out forwards}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.container{padding:0 1rem}section{padding:2rem 0}.grid{gap:1rem;grid-template-columns:1fr}}html{scroll-behavior:smooth}#root{display:flex;flex-direction:column;min-height:100vh}.text-center{text-align:center}.text-accent{color:var(--accent-color)}.text-secondary{color:var(--text-secondary)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-column{flex-direction:column}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.navbar{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 10px #0000004d;padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-brand{color:var(--text-color);font-size:1.5rem;gap:.5rem;text-decoration:none;transition:all .3s ease}.brand-initials,.navbar-brand{align-items:center;display:flex;font-weight:700}.brand-initials{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));border-radius:8px;color:#fff;height:40px;justify-content:center;text-shadow:0 1px 2px #0003;width:40px}.brand-name{display:none}@media (min-width:768px){.brand-name{display:inline}}.navbar-brand:hover{color:var(--accent-color)}.navbar-toggle{color:var(--text-color);cursor:pointer;display:none;font-size:1.5rem;z-index:1001}.navbar-menu{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.navbar-item,.navbar-link{position:relative}.navbar-link{color:var(--text-color);font-size:1rem;font-weight:500;padding:.5rem 0;text-decoration:none;transition:all .3s ease}.navbar-link:after{background-color:var(--accent-color);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar-link.active:after,.navbar-link:hover:after{width:100%}.navbar-link.active,.navbar-link:hover{color:var(--accent-color)}@media (max-width:768px){.navbar-toggle{display:block}.navbar-menu{align-items:center;background-color:var(--card-bg);box-shadow:-5px 0 15px #0000004d;flex-direction:column;gap:2rem;height:100vh;justify-content:center;max-width:300px;position:fixed;right:-100%;top:0;transition:right .3s ease-in-out;width:70%}.navbar-menu.active{right:0}.navbar-link{font-size:1.25rem}}.footer{background-color:var(--card-bg);border-top:1px solid var(--border-color);margin-top:auto;padding:3rem 0 1rem}.footer-container{margin:0 auto;max-width:1200px;padding:0 2rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.footer-section h3{color:var(--accent-color);font-size:1.5rem;margin-bottom:.5rem}.footer-section h4{color:var(--text-color);font-size:1.1rem;margin-bottom:1rem}.footer-tagline{color:var(--text-secondary);font-size:.95rem}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--text-secondary);font-size:.95rem;text-decoration:none;transition:all .3s ease}.footer-links a:hover{color:var(--accent-color);padding-left:5px}.social-links{display:flex;flex-wrap:wrap;gap:1rem}.social-link{align-items:center;background-color:var(--bg-color);border-radius:50%;color:var(--text-color);display:flex;font-size:1.2rem;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.social-link:hover{background-color:var(--accent-color);color:#000;transform:translateY(-3px)}.footer-bottom{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;padding-top:2rem;text-align:center}.footer-bottom p{margin:.5rem 0}.footer-note{font-size:.85rem}.accent{color:var(--accent-color);font-weight:600}@media (max-width:768px){.footer-content{grid-template-columns:1fr;text-align:center}.footer-links{align-items:center;display:flex;flex-direction:column}.social-links{justify-content:center}}.project-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.project-card.featured{border:2px solid var(--accent-color)}.project-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px var(--shadow);cursor:pointer}.project-card-link{color:inherit;display:flex;flex:1 1;flex-direction:column;text-decoration:none}.project-thumbnail{background-color:var(--bg-color);height:250px;overflow:hidden;position:relative;width:100%}.project-thumbnail-img{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease,opacity .3s ease;width:100%}.project-thumbnail-img.hidden{opacity:0;pointer-events:none}.project-card:hover .project-thumbnail-img:not(.hidden){transform:scale(1.1)}.project-thumbnail-video{border:none}.project-thumbnail video,.project-thumbnail-video{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.project-overlay{background:linear-gradient(0deg,#000000e6,#0009,#0000);bottom:0;left:0;padding:3rem 1.5rem 1.5rem;position:absolute;right:0;transition:all .3s ease}.project-card:hover .project-overlay{background:linear-gradient(0deg,#000000f2,#000000b3,#0000)}.featured-badge{color:#fff;font-size:.75rem;padding:.25rem .75rem;position:absolute;right:1rem;top:1rem;z-index:10}.project-content{display:flex;flex:1 1;flex-direction:column;padding:1rem 1.5rem}.project-title{font-size:1.5rem;font-weight:600;margin:0;text-shadow:2px 2px 4px #000c}.project-tags{margin-top:auto}.project-footer{background-color:#0003;border-top:1px solid var(--border-color);justify-content:space-between;padding:1rem 1.5rem}.project-footer,.view-details{align-items:center;display:flex}.view-details{color:var(--accent-color);font-size:.9rem;font-weight:600;gap:.5rem;text-decoration:none;transition:all .3s ease}.view-details:hover{color:var(--accent-hover);gap:.75rem}.github-link{align-items:center;background-color:var(--bg-color);border-radius:50%;color:var(--text-color);display:flex;font-size:1.25rem;height:36px;justify-content:center;text-decoration:none;transition:all .3s ease;width:36px}.github-link:hover{background-color:var(--accent-color);color:#000;transform:rotate(1turn)}@media (max-width:768px){.project-thumbnail{height:180px}.project-title{font-size:1.25rem}}.section-header{margin-bottom:3rem}.section-header.centered{align-items:center;display:flex;flex-direction:column;text-align:center}.section-title{color:var(--text-color);font-size:2.5rem;font-weight:700;margin-bottom:.5rem;position:relative}.section-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1rem;max-width:600px}.section-divider{background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));border-radius:2px;height:4px;margin-top:1rem;width:60px}.section-header.centered .section-divider{margin-left:auto;margin-right:auto}@media (max-width:768px){.section-title{font-size:2rem}.section-subtitle{font-size:1rem}}.home{display:flex;flex-direction:column;min-height:100vh}.hero-section{align-items:center;background:linear-gradient(135deg,var(--bg-color) 0,var(--bg-secondary) 100%);display:flex;min-height:calc(100vh - 80px);padding:4rem 0;position:relative}.hero-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.hero-text{display:flex;flex-direction:column;gap:1.5rem}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin:0}.hero-subtitle{color:var(--text-secondary);font-size:1.75rem;font-weight:400;margin:0}.hero-description{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;max-width:600px}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:var(--accent-color);color:#000}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px #2a81b94d;transform:translateY(-2px)}.btn-secondary{background-color:initial;border:2px solid var(--accent-color);color:var(--accent-color)}.btn-secondary:hover{background-color:var(--accent-color);color:#000}.hero-socials{display:flex;gap:1rem;margin-top:1rem}.social-icon{align-items:center;background-color:var(--card-bg);border-radius:50%;color:var(--text-color);display:flex;font-size:1.5rem;height:48px;justify-content:center;text-decoration:none;transition:all .3s ease;width:48px}.social-icon:hover{background-color:var(--accent-color);color:#000;transform:translateY(-3px)}.hero-image{align-items:center;display:flex;justify-content:center}.image-wrapper{border:4px solid var(--accent-color);border-radius:50%;box-shadow:0 8px 32px #2a81b94d;height:400px;overflow:hidden;position:relative;width:400px}.image-wrapper img{height:100%;object-fit:cover;width:100%}.scroll-indicator{bottom:2rem;color:var(--accent-color);cursor:pointer;font-size:2rem;left:50%;position:absolute;transform:translateX(-50%);transition:transform .3s ease,color .3s ease;z-index:10}.scroll-indicator:hover{color:var(--accent-hover);transform:translateX(-50%) scale(1.1)}.about-section{background-color:var(--bg-secondary);padding:5rem 0}.about-content{margin:0 auto;max-width:900px}.about-content p{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.featured-projects-section{padding:5rem 0}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:3rem}.view-all-projects{display:flex;justify-content:center;margin-top:3rem}.activities-section{padding:5rem 0}.activities-feed-wrapper{margin:0 auto;max-width:100%;min-height:400px}@media (max-width:968px){.hero-content{gap:3rem;grid-template-columns:1fr;text-align:center}.hero-text{align-items:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.5rem}.hero-description{text-align:center}.hero-actions,.hero-socials{justify-content:center}.image-wrapper{height:300px;width:300px}}@media (max-width:768px){.hero-section{min-height:auto;padding:3rem 0}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.image-wrapper{height:250px;width:250px}.projects-grid{grid-template-columns:1fr}.about-content p{font-size:1rem}.scroll-indicator{bottom:1rem;font-size:1.5rem}}.projects-page{display:flex;flex-direction:column;min-height:100vh}.projects-header-section{background:linear-gradient(135deg,var(--bg-color) 0,var(--bg-secondary) 100%);padding:4rem 0 2rem}.projects-filters{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:900px}.search-box{align-items:center;background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;display:flex;position:relative;transition:all .3s ease}.search-box:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #2a81b91a}.search-icon{color:var(--text-secondary);font-size:1.25rem;left:1rem;position:absolute}.search-input{background:#0000;border:none;color:var(--text-color);font-size:1rem;outline:none;padding:1rem 1rem 1rem 3rem;width:100%}.clear-search,.search-input::placeholder{color:var(--text-secondary)}.clear-search{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:absolute;right:1rem;transition:all .3s ease}.clear-search:hover{color:var(--accent-color);transform:rotate(90deg)}.tags-filter-container{display:flex;flex-direction:column;gap:1rem}.tags-filter-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.tags-filter-label{color:var(--text-color);font-size:1rem;font-weight:600}.clear-tags-btn{background-color:initial;border:1px solid var(--accent-color);border-radius:20px;color:var(--accent-color);cursor:pointer;font-size:.875rem;font-weight:600;padding:.375rem 1rem;transition:all .3s ease}.clear-tags-btn:hover{background-color:var(--accent-color);color:#000}.tags-filter{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start;position:relative}.tags-filter.collapsed{max-height:5.5rem;overflow:hidden}.tags-filter.expanded{max-height:none}.filter-tag{align-items:center;background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:25px;color:var(--text-color);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1.25rem;position:relative;transition:all .3s ease}.filter-tag:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.filter-tag.active{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff;font-weight:600}.filter-tag.all-tag{font-weight:600}.tag-remove-icon{font-size:.75rem;margin-left:.25rem}.expand-tags-btn{align-items:center;background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:25px;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;margin:0 auto;padding:.75rem 1.5rem;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.expand-tags-btn:hover{background-color:#2a81b91a;border-color:var(--accent-color);color:var(--accent-color)}.active-filters{align-items:center;background-color:#2a81b91a;border:1px solid #2a81b94d;border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem}.filters-label{color:var(--text-color);font-weight:600}.active-filter-tag{background-color:var(--card-bg);border-radius:15px;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.375rem .875rem}.active-filter-tag,.remove-filter-tag{align-items:center;color:var(--accent-color)}.remove-filter-tag{background:none;border:none;cursor:pointer;display:flex;font-size:.75rem;padding:0;transition:all .2s ease}.remove-filter-tag:hover{color:var(--text-color);transform:scale(1.2)}.clear-all-filters{background-color:initial;border:1px solid var(--accent-color);border-radius:15px;color:var(--accent-color);cursor:pointer;font-size:.875rem;font-weight:600;margin-left:auto;padding:.375rem 1rem;transition:all .3s ease}.clear-all-filters:hover{background-color:var(--accent-color);color:#000}.projects-grid-section{flex:1 1;padding:3rem 0 5rem}.results-count{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-bottom:2rem;text-align:center}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.no-results{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:4rem 2rem;text-align:center}.no-results h3{color:var(--text-color);font-size:2rem;margin:0}.no-results p{color:var(--text-secondary);font-size:1.1rem;margin:0}@media (max-width:768px){.projects-header-section{padding:3rem 0 1.5rem}.search-input{font-size:.9rem;padding:.875rem .875rem .875rem 2.75rem}.search-icon{font-size:1rem;left:.875rem}.tags-filter-header{align-items:flex-start;flex-direction:column}.tags-filter{justify-content:flex-start}.tags-filter.collapsed{max-height:6rem}.filter-tag{font-size:.85rem;padding:.4rem 1rem;white-space:nowrap}.expand-tags-btn{font-size:.85rem;padding:.6rem 1.25rem}.projects-grid{gap:1.5rem;grid-template-columns:1fr}.no-results h3{font-size:1.5rem}.no-results p{font-size:1rem}}.project-details-page{display:flex;flex-direction:column;min-height:100vh}.project-details-section{flex:1 1;padding:2rem 0 5rem}.back-link-wrapper{margin-bottom:2rem}.back-link{align-items:center;color:var(--accent-color);display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;text-decoration:none;transition:all .3s ease}.back-link:hover{color:var(--accent-hover);gap:.75rem}.project-header{margin-bottom:3rem}.project-header-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.project-title-section{flex:1 1}.featured-badge{background-color:var(--accent-color);border-radius:20px;color:#000;display:inline-block;font-size:.875rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding:.375rem 1rem;text-transform:uppercase}.project-title{color:var(--text-color);font-size:3rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.project-date{color:var(--text-secondary);font-size:1rem;margin:0}.project-links{display:flex;flex-wrap:wrap;gap:1rem}.project-link-btn{align-items:center;background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color);display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.project-link-btn:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.project-link-btn.primary{background-color:var(--accent-color);border-color:var(--accent-color);color:#000}.project-link-btn.primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.project-image{align-items:center;border-radius:16px;box-shadow:0 10px 40px #0000004d;display:flex;justify-content:center;margin-bottom:3rem;max-height:600px;overflow:hidden;width:100%}.project-image img{height:100%;object-fit:cover;object-position:center;width:100%}.project-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:2fr 1fr;margin-bottom:4rem}.project-main h2{color:var(--text-color);font-size:2rem;margin-bottom:1.5rem}.project-main h3{color:var(--text-color);font-size:1.5rem;margin:2rem 0 1rem}.project-description-block{margin-bottom:.5rem}.project-description-clipper{position:relative}.project-description{overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}.project-description.collapsed{max-height:280px}.project-description.expanded{max-height:8000px}.project-description-fade{background:linear-gradient(to bottom,#0000,var(--bg-color));bottom:0;height:5rem;left:0;pointer-events:none;position:absolute;right:0}.project-description-toggle{align-items:center;background-color:initial;border:1px solid var(--border-color);border-radius:8px;color:var(--accent-color);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.5rem;margin-top:1rem;padding:.625rem 1.25rem;transition:all .25s ease}.project-description-toggle:hover{background-color:#2a81b91f;border-color:var(--accent-color);transform:translateY(-1px)}.project-description-toggle:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.project-description p{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.project-description p:last-child{margin-bottom:0}.project-features{list-style:none;padding:0}.project-features li{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;padding:.75rem 0 .75rem 1.75rem;position:relative}.project-features li:before{color:var(--accent-color);content:"▹";font-size:1.25rem;font-weight:700;left:0;position:absolute}.project-gallery{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}.gallery-item{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;cursor:zoom-in;display:flex;font-family:inherit;justify-content:center;overflow:hidden;padding:0;transition:all .3s ease;width:100%}.gallery-item:hover{border-color:var(--accent-color);box-shadow:0 8px 24px var(--shadow);transform:translateY(-4px)}.gallery-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.gallery-item img{display:block;height:auto;object-fit:cover;object-position:center;pointer-events:none;width:100%}.gallery-lightbox{align-items:center;animation:lightbox-fade-in .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000e0;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:2000}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-content{align-items:center;display:flex;flex-direction:column;gap:.75rem;max-height:90vh;max-width:min(1200px,95vw);position:relative}.lightbox-content img{border-radius:8px;box-shadow:0 12px 48px #00000080;height:auto;max-height:calc(90vh - 2.5rem);max-width:100%;object-fit:contain;width:auto}.lightbox-counter{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0}.lightbox-close,.lightbox-nav{box-shadow:none;line-height:1;padding:0}.lightbox-close{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;font-size:1.25rem;height:2.75rem;justify-content:center;position:fixed;right:1.25rem;top:1.25rem;transition:all .2s ease;width:2.75rem;z-index:2001}.lightbox-close svg{flex-shrink:0;height:1.25rem;width:1.25rem}.lightbox-close:hover{background-color:var(--card-bg);border-color:var(--accent-color);box-shadow:none;color:var(--accent-color);transform:scale(1.05)}.lightbox-nav{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;font-size:1.1rem;height:3rem;justify-content:center;position:fixed;top:50%;transform:translateY(-50%);transition:all .2s ease;width:3rem;z-index:2001}.lightbox-nav svg{flex-shrink:0;height:1.1rem;width:1.1rem}.lightbox-nav:hover{background-color:var(--card-bg);border-color:var(--accent-color);box-shadow:none;color:var(--accent-color);transform:translateY(-50%) scale(1.05)}.lightbox-prev{left:1.25rem}.lightbox-next{right:1.25rem}.project-videos{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:2rem 0}.video-wrapper{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-wrapper iframe,.video-wrapper video{border-radius:12px;height:100%;left:0;position:absolute;top:0;width:100%}.project-sidebar{display:flex;flex-direction:column;gap:1.5rem}.project-info-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.project-info-card h3{color:var(--text-color);font-size:1.25rem;margin-bottom:1rem}.project-info-card p{color:var(--text-secondary);margin:0}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-external-links{display:flex;flex-direction:column;gap:.75rem}.external-link{align-items:center;color:var(--accent-color);display:flex;font-weight:500;gap:.5rem;text-decoration:none;transition:all .3s ease}.external-link:hover{color:var(--accent-hover);padding-left:.5rem}.sidebar-contributions{display:flex;flex-direction:column;gap:.625rem;list-style:none;margin:0;padding:0}.sidebar-contributions li{color:var(--text-secondary);font-size:.95rem;line-height:1.5;padding-left:1rem;position:relative}.sidebar-contributions li:before{color:var(--accent-color);content:"•";left:0;position:absolute}.sidebar-collaborator-link{align-items:flex-start}.sidebar-collaborator-link svg{flex-shrink:0;margin-top:.15rem}.sidebar-collaborator-label{display:flex;flex-direction:column;gap:.125rem}.sidebar-collaborator-name{color:inherit;font-weight:600}.sidebar-collaborator-role{color:var(--text-secondary);font-size:.875rem;font-weight:400}.sidebar-collaborator-entry{color:var(--text-secondary);font-size:.95rem;line-height:1.4}.sidebar-collaborator-entry .sidebar-collaborator-name{color:var(--text-color)}.other-projects-section{border-top:1px solid var(--border-color);padding:3rem 0;text-align:center}.other-projects-section h2{color:var(--text-color);font-size:2rem;margin-bottom:1.5rem}.view-all-btn{align-items:center;background-color:var(--accent-color);border-radius:8px;color:#000;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;text-decoration:none;transition:all .3s ease}.view-all-btn:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px #2a81b94d;transform:translateY(-2px)}@media (max-width:968px){.project-content{gap:2rem;grid-template-columns:1fr}.project-title{font-size:2.25rem}.project-header-content{flex-direction:column}.project-links{width:100%}.project-link-btn{flex:1 1;justify-content:center}}@media (max-width:768px){.project-title{font-size:1.75rem}.project-main h2{font-size:1.5rem}.project-main h3{font-size:1.25rem}.project-description p{font-size:1rem}.project-image{max-height:300px}.project-gallery,.project-videos{grid-template-columns:1fr}.gallery-lightbox{padding:1rem}.lightbox-close{right:.75rem;top:.75rem}.lightbox-nav{height:2.5rem;width:2.5rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}.resume-page{display:flex;flex-direction:column;min-height:100vh}.resume-header-section{background:linear-gradient(135deg,var(--bg-color) 0,var(--bg-secondary) 100%);padding:4rem 0 2rem}.resume-header{margin-bottom:2rem}.resume-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.resume-title{color:var(--text-color);font-size:3rem;font-weight:700;margin:0 0 .5rem}.resume-subtitle{color:var(--text-secondary);font-size:1.5rem;margin:0}.download-btn{align-items:center;background-color:var(--accent-color);border-radius:8px;color:#000;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;text-decoration:none;transition:all .3s ease}.download-btn:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px #2a81b94d;transform:translateY(-2px)}.resume-content-section{flex:1 1;padding:3rem 0 5rem}.resume-section{margin-bottom:5rem;position:relative}.section-icon{color:var(--accent-color);font-size:3rem;opacity:.2;position:absolute;right:0;top:0}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skill-category{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease}.skill-category:hover{border-color:var(--accent-color);box-shadow:0 8px 24px var(--shadow);transform:translateY(-4px)}.skill-category-title{color:var(--text-color);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.skill-items{display:flex;flex-wrap:wrap;gap:.5rem}.skill-item{background-color:#2a81b926;border-radius:20px;color:var(--accent-color);font-size:.9rem;font-weight:500;padding:.375rem .875rem}.experience-timeline{display:flex;flex-direction:column;gap:2rem}.experience-item{background-color:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid var(--accent-color);border-radius:12px;padding:2rem;transition:all .3s ease}.experience-item:hover{border-left-width:8px;box-shadow:0 8px 24px var(--shadow);transform:translateX(4px)}.experience-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.experience-title{color:var(--text-color);font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.experience-company{color:var(--accent-color);font-size:1.1rem;font-weight:500;margin:0}.experience-period{color:var(--text-secondary);font-size:1rem;font-weight:500;white-space:nowrap}.experience-description{list-style:none;margin:0;padding:0}.experience-description li{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;padding:.5rem 0 .5rem 1.75rem;position:relative}.experience-description li:before{color:var(--accent-color);content:"▹";font-size:1.25rem;font-weight:700;left:0;position:absolute}.education-list{display:flex;flex-direction:column;gap:2rem}.education-item{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s ease}.education-item:hover{border-color:var(--accent-color);box-shadow:0 8px 24px var(--shadow);transform:translateY(-4px)}.education-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.education-degree{color:var(--text-color);font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.education-institution{color:var(--accent-color);font-size:1.1rem;font-weight:500;margin:0}.education-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.education-gpa{background:#2a81b926;border-radius:20px;color:var(--accent-color);font-size:.9rem;font-weight:600;padding:.25rem .75rem;white-space:nowrap}.education-period{color:var(--text-secondary);font-size:1rem;font-weight:500;white-space:nowrap}.education-details{list-style:none;margin:0;padding:0}.education-details li{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;padding:.5rem 0 .5rem 1.75rem;position:relative}.education-details li:before{color:var(--accent-color);content:"▹";font-size:1.25rem;font-weight:700;left:0;position:absolute}.additional-info{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.info-card h4{color:var(--accent-color);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.info-card p{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;margin:0}@media (max-width:768px){.resume-title{font-size:2rem}.resume-subtitle{font-size:1.25rem}.resume-header-content{align-items:flex-start;flex-direction:column}.download-btn{justify-content:center;width:100%}.skills-grid{grid-template-columns:1fr}.education-header,.experience-header{flex-direction:column}.education-period,.experience-period{width:100%}.additional-info{grid-template-columns:1fr}.section-icon{font-size:2rem}}
/*# sourceMappingURL=main.9d68e883.css.map*/