.projects-section{background:#000;color:#fff;font-family:Geist,SF Pro Display,sans-serif;width:100%;min-height:100vh;padding:6rem 0;position:relative;z-index:1;pointer-events:auto}.title-wrap{margin-bottom:2rem;text-align:center;padding:0 max(1.5rem,calc(50% - 46rem))}.section-title{font-size:5rem;font-weight:700;color:#fff;line-height:1;margin:0 auto;opacity:.2;filter:blur(8px);transform:translateY(15px);transition:opacity .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,filter,transform}.section-title.revealed{opacity:1;filter:blur(0);transform:translateY(0);animation:title-glow 4s ease-in-out infinite}.projects-section.hash-navigated .section-title{opacity:1!important;filter:blur(0)!important;transform:translateY(0)!important}.carousel-wrap{position:relative;width:100%;padding:3rem 0;overflow:visible;transition:opacity .8s ease,transform .8s ease}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.5rem;padding:1.5rem;padding-left:max(1.5rem,calc(50% - 46rem));padding-right:5%;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;cursor:grab;will-change:transform,scroll-position;touch-action:pan-x}.carousel::-webkit-scrollbar{display:none}.carousel:active{cursor:grabbing}.project-card{flex:0 0 auto;width:22rem;height:34rem;border-radius:1.25rem;overflow:hidden;position:relative;cursor:pointer;transition:transform .5s cubic-bezier(.2,.8,.2,1);background-color:#00000080;box-shadow:0 20px 50px -12px #00000080;transform-style:preserve-3d;scroll-snap-align:start;will-change:transform,opacity;-webkit-tap-highlight-color:transparent}.card-glow{position:absolute;inset:-2px;z-index:-1;border-radius:1.35rem;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#1e1e1e00);opacity:0;transition:opacity .5s}.card-img{width:100%;height:100%;object-fit:cover;position:absolute;transition:all .7s cubic-bezier(.2,.8,.2,1);filter:saturate(.9) brightness(.8) contrast(1.1)}.card-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,#000c,#0006,#0000004d 60%,#000c);z-index:1;transition:.5s}.card-content{position:absolute;z-index:2;padding:2rem;bottom:0;width:100%;transition:transform .5s}.project-card:hover:not(.is-dragging):not(.is-touching){transform:translateY(-12px) scale(1.02)}.project-card:hover:not(.is-dragging):not(.is-touching) .card-glow{opacity:1;box-shadow:0 0 20px #ffffff26}.project-card:hover:not(.is-dragging):not(.is-touching) .card-img{transform:scale(1.05);filter:saturate(1.1) brightness(.9)}.project-card:hover:not(.is-dragging):not(.is-touching) .card-content{transform:translateY(-8px)}.card-category{font-size:.8rem;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.1em;opacity:.85}.card-title{font-size:1.7rem;font-weight:700;line-height:1.3;max-width:20rem;margin-bottom:1rem}.card-line{width:3rem;height:3px;background:linear-gradient(90deg,#fffc,#ffffff1a);margin:1rem 0;transition:width .5s}.project-card:hover:not(.is-dragging):not(.is-touching) .card-line{width:5rem}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tag{padding:.35rem .75rem;border-radius:2rem;font-size:.7rem;font-weight:500;background:#ffffff1a;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.05)}.more-projects-card{display:flex;align-items:center;justify-content:center;background:#1e1e28b3;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.more-projects-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;z-index:2}.more-title{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:#fff}.more-icon{width:48px;height:48px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.more-projects-card:hover:not(.is-dragging):not(.is-touching) .more-icon{background:#fff3;transform:translate(5px)}.mobile-more-button{display:none;width:180px;height:48px;margin:2rem auto;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:24px;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;text-align:center;line-height:48px;text-decoration:none}.mobile-more-button:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 8px 16px -4px #0000004d}.modal{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.modal-content{position:relative;width:100%;max-width:70rem;max-height:85vh;overflow-y:auto;background:#111;border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.1)}.modal-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:50%;background:#00000080;color:#fff;font-size:1.5rem;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}@media (max-width: 1280px){.section-title{font-size:4.5rem}.project-card{width:20rem;height:30rem}}@media (min-width: 769px) and (max-width: 1024px){.project-card{width:18rem;height:28rem}.carousel{padding-left:3rem}.card-title{font-size:1.5rem}}@media (max-width: 768px){.projects-section{padding:4rem 0}.section-title{font-size:3.5rem;margin-bottom:4rem}.carousel{display:none}.carousel-wrap{padding:0}.carousel-wrap:after{content:"";display:table;clear:both}.mobile-projects-grid{display:flex;flex-direction:column;gap:1.5rem;padding:0 1.5rem}.mobile-projects-grid .project-card{width:100%;height:24rem;margin:0;scroll-snap-align:none;transform:none!important;transition:transform .3s ease,box-shadow .3s ease}.mobile-projects-grid .project-card:active{transform:scale(.98)!important}.mobile-more-button{display:block}.more-projects-card{display:none}}@media (max-width: 480px){.section-title{font-size:2.8rem}.mobile-projects-grid .project-card{height:22rem}}@keyframes title-glow{0%{text-shadow:0 0 0 rgba(255,255,255,0)}50%{text-shadow:0 0 5px rgba(255,255,255,.2),0 0 10px rgba(255,255,255,.05)}to{text-shadow:0 0 0 rgba(255,255,255,0)}}html,body,main{background-color:#000}.contact-section{background-color:#000;will-change:opacity,transform,filter;-webkit-transform:translateY(20px);-webkit-backface-visibility:hidden;-webkit-font-smoothing:antialiased;margin-bottom:13rem;margin-top:5rem}.contact-container{max-width:800px;margin:0 auto;padding:0 20px;position:relative;z-index:2;text-align:center}.contact-heading{font-family:Geist,sans-serif;font-size:3rem;font-weight:700;margin-bottom:20px;color:#fff;position:relative;display:inline-block}.contact-description{font-family:Geist,sans-serif;font-size:1.2rem;color:#ccc;max-width:600px;margin:0 auto 40px;line-height:1.8}.contact-buttons{display:flex;justify-content:center;margin-bottom:40px}.primary-button{font-family:Geist,sans-serif;padding:16px 30px;border-radius:50px;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0003;background-color:#1e1e1ecc;color:#fff}.primary-button:hover{background-color:#282828e6;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}@media (max-width: 768px){.contact-section{padding:70px 0}.contact-heading{font-size:2.5rem}.contact-description{font-size:1rem}.primary-button{width:100%;max-width:300px;justify-content:center}}main[data-astro-cid-j7pv25f6]{width:100%;background-color:#000}
