.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;overflow:hidden;pointer-events:auto}.title-wrap{margin-bottom:1rem;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}.carousel.is-touching{cursor:grabbing;scroll-behavior:auto}.carousel.is-swiping .project-card{pointer-events:none}.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-card:hover:not(.is-dragging):not(.is-touching){transform:translateY(-8px);border-color:#ffffff4d;box-shadow:0 10px 20px #0000004d}.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)}.swipe-indicator{text-align:center;margin-top:1rem;font-size:.9rem;opacity:.7;animation:pulse 2s infinite;user-select:none;pointer-events:none}@keyframes pulse{0%{opacity:.4}50%{opacity:.9}to{opacity:.4}}.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;margin-top:-3rem}.card-title{font-size:1.5rem}.title-wrap{margin-bottom:1rem}}@media (max-width: 768px){.projects-section{padding:4rem 0}.section-title{font-size:3.5rem}.title-wrap{margin-bottom:1rem}.carousel-wrap{margin-top:-1rem}.project-card{width:85vw;height:24rem;scroll-snap-align:center}.carousel{padding-left:1.5rem;gap:1rem;scroll-padding:1rem;touch-action:pan-x!important;-webkit-overflow-scrolling:touch!important}.card-title{font-size:1.4rem}.card-content{padding:1.5rem}.project-card:hover .card-content,.project-card:hover .card-img,.project-card:hover .card-glow,.project-card:hover{transform:none!important}}@media (max-width: 480px){.section-title{font-size:2.8rem}.carousel{padding-left:1.25rem!important;gap:.75rem!important}.project-card{width:85vw;height:26rem}.project-card:active{transform:scale(.98);transition:transform .2s}}@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)}}@media (hover: none){.carousel.is-touching .project-card{transform:scale(.98);transition:transform .2s}.project-card:active{transform:scale(.98)}.is-dragging,.is-touching{cursor:grabbing!important}}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}
