.button-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);animation:button-ripple-animation .6s linear;pointer-events:none}@keyframes button-ripple-animation{to{transform:scale(2);opacity:0}}.gallery-pagination .swiper-pagination-bullet{width:12px;height:12px;background:rgba(255,255,255,.5);opacity:1;margin:0 6px;transition:all .3s ease}.gallery-pagination .swiper-pagination-bullet-active{background:white;transform:scale(1.2)}.projects-pagination .swiper-pagination-bullet{width:12px;height:12px;background:rgba(255,255,255,.4);opacity:1;margin:0 8px;transition:all .3s ease;border-radius:50%}.projects-pagination .swiper-pagination-bullet-active{background:rgba(255,255,255,.9);transform:scale(1.3);box-shadow:0 0 12px rgba(255,255,255,.3)}.projects-next,.projects-prev{backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.projects-next:hover,.projects-prev:hover{background:rgba(255,255,255,.25)!important;transform:translateY(-50%) scale(1.1);box-shadow:0 8px 25px rgba(0,0,0,.15)}.projects-next:active,.projects-prev:active{transform:translateY(-50%) scale(.95)}.gallery-next:hover,.gallery-prev:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 8px 25px rgba(0,0,0,.15)}.gallery-modal{animation:fadeIn .3s ease-out}.gallery-modal-content{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.project-card{transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,opacity;backface-visibility:hidden;perspective:1000px;position:relative}.project-card:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 25px 50px rgba(0,0,0,.15)}.content-section{position:relative;overflow:hidden;will-change:transform}.content-section:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .6s cubic-bezier(.4,0,.2,1);z-index:1}.project-card:hover .content-section:before{left:100%}.image-section{position:relative;overflow:hidden;will-change:transform}.image-section:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(0,0,0,.1),transparent);opacity:0;transition:opacity .4s ease;z-index:1}.project-card:hover .image-section:after{opacity:1}.content-section h3{transition:transform .3s cubic-bezier(.4,0,.2,1)}.project-card:hover .content-section h3{transform:translateY(-2px)}.content-section .flex.justify-start>*{transition:all .3s cubic-bezier(.4,0,.2,1)}.projects-grid.flex .project-card:hover:after{opacity:.8}@media (max-width:768px){.gallery-next,.gallery-prev{width:40px;height:40px}.gallery-prev{left:8px;top:50%;margin-top:20px}.gallery-next{right:8px;top:50%;margin-top:20px}.project-card:hover{transform:none;box-shadow:none}.projects-grid.flex .project-card{min-width:100vw!important;width:100vw!important;max-width:100vw!important;border-right:none;position:relative}.projects-grid.flex{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;height:100vh;height:100dvh}.projects-grid.flex .project-card{scroll-snap-align:start;height:100vh!important;height:100dvh!important}.project-card .content-section{padding:20px!important}.project-card .image-section{min-height:50vh}.project-card .md\:hidden{display:flex!important}.project-card .hidden.md\:flex{display:none!important}.projects-grid.flex:after,.projects-grid.flex:before{display:none}#projects,body,html{overflow-x:hidden}}@media (max-width:480px){.project-card:hover{transform:none;box-shadow:none}.project-card:hover .image-section img{transform:scale(1.02)}}.content-section.text-black h3{color:#1f2937}.content-section.text-black .opacity-80{color:#374151}html{scroll-behavior:smooth}.content-section,.image-section,.project-card,.projects-grid{transform:translateZ(0)}.RichText_richtext__cLLOc{max-width:600px;margin:6em auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}