.text-gradient[data-astro-cid-bbe6dxrz]{background:linear-gradient(315deg,var(--primary-200) 25%,var(--secondary-500));background-clip:border-box;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.darkmode .text-gradient{background:linear-gradient(315deg,var(--primary-200) 25%,var(--secondary-400));background-clip:border-box;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.parallax-left[data-astro-cid-bbe6dxrz],.parallax-right[data-astro-cid-bbe6dxrz]{transition:transform .5s ease-out}.feature[data-astro-cid-ezsi7upz]{position:relative;width:calc(100% - .5rem);padding:2rem}.feature[data-astro-cid-ezsi7upz]>[data-astro-cid-ezsi7upz]{position:relative;z-index:2}@media (min-width:75em){.feature[data-astro-cid-ezsi7upz]{width:100%}}.feature[data-astro-cid-ezsi7upz]:before,.feature[data-astro-cid-ezsi7upz]:after{content:"";position:absolute}.feature[data-astro-cid-ezsi7upz]:before{inset:0;background-color:var(--neutral-100);border:3px solid var(--neutral-700);border-radius:1rem;box-shadow:0 0 0 6px var(--neutral-100);z-index:1}.feature[data-astro-cid-ezsi7upz]:after{background-color:var(--action-color);inset:1rem -.85rem -.85rem 1rem;border-radius:1rem;z-index:0}.feature [data-icon]{height:auto;width:4rem;color:var(--action-color)}.darkmode .feature:before{background-color:var(--dark-100);box-shadow:0 0 0 6px var(--dark-100)}.project-carousel{padding:2rem 0;margin:2rem 0;position:relative}.project-carousel swiper-container{width:100%;padding-bottom:3rem}.project-carousel swiper-container::part(bullet){background-color:#ccc;opacity:.6;width:8px;height:8px;transition:all .3s ease}.project-carousel swiper-container::part(bullet) .swiper-pagination-bullet-active{background-color:var(--action-color);opacity:1;width:12px;height:12px}.project-carousel swiper-container::part(button-prev),.project-carousel swiper-container::part(button-next){color:var(--action-color);background:#fffffff2;border-radius:50%;width:44px;height:44px;box-shadow:0 3px 8px #0000001f,0 1px 3px #00000014;transition:all .3s cubic-bezier(.25,.8,.25,1);border:1px solid rgba(0,0,0,.04);opacity:.9}.project-carousel swiper-container::part(button-prev):hover,.project-carousel swiper-container::part(button-next):hover{background:var(--action-color);color:#fff;box-shadow:0 6px 14px rgba(var(--action-color-rgb),.25),0 2px 6px #0000001a;transform:scale(1.08) translateY(-1px);opacity:1}.project-carousel swiper-container::part(button-prev):active,.project-carousel swiper-container::part(button-next):active{transform:scale(.96);box-shadow:0 2px 6px rgba(var(--action-color-rgb),.2)}.project-carousel swiper-container::part(button-prev):before,.project-carousel swiper-container::part(button-next):before{font-weight:700;font-size:.7rem;transform:scaleX(1.6);display:inline-block;line-height:1;margin-top:-2px}@media (max-width:640px){.project-carousel swiper-container::part(button-prev),.project-carousel swiper-container::part(button-next){display:none}}.project-carousel swiper-slide{height:auto;transition:transform .3s ease;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014}.project-carousel swiper-slide:hover{transform:translateY(-6px);box-shadow:0 8px 20px #0000001f}.project-carousel swiper-slide .project-card{position:relative;width:100%;height:400px;overflow:hidden;border-radius:12px}.project-carousel swiper-slide .project-image{width:100%;height:100%;position:absolute;top:0;left:0}.project-carousel swiper-slide .project-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.project-carousel swiper-slide .project-overlay{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,#000c,#0009,#0000);padding:2rem 1.5rem 1.5rem;color:#fff;transition:all .3s ease;height:60%;display:flex;flex-direction:column;justify-content:flex-end}.project-carousel swiper-slide .project-content{width:100%}.project-carousel swiper-slide .project-content h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#fff;line-height:1.3;text-shadow:0 1px 3px rgba(0,0,0,.3)}.project-carousel swiper-slide .project-content .project-description{margin:0 0 1rem;font-size:.95rem;line-height:1.5;color:#ffffffe6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.4)}.project-carousel swiper-slide .project-content .project-author{font-size:.85rem;color:#ffffffb3;margin:.5rem 0;font-style:italic}.project-carousel swiper-slide .project-content .project-link{display:inline-block;margin-top:1rem;padding:.5rem 1.25rem;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;position:relative;z-index:2;color:var(--neutral-900);background-color:var(--primary-100);border:3px solid var(--primary-100);border-radius:3px}.project-carousel swiper-slide .project-content .project-link:hover{background-color:transparent;border-color:var(--primary-100);color:var(--primary-100);box-shadow:0 4px 8px #00000040;transform:translateY(-2px)}.project-carousel swiper-slide:hover .project-image img{transform:scale(1.1)}.project-carousel :global(.darkmode) swiper-slide .project-overlay{background:linear-gradient(to top,#000000d9,#000000b3,#0000001a)}@media (max-width:768px){.project-carousel swiper-slide .project-card{height:350px}.project-carousel swiper-slide .project-overlay{padding:1.5rem 1.25rem 1.25rem}.project-carousel swiper-slide .project-content h3{font-size:1.3rem}}@media (max-width:480px){.project-carousel swiper-slide .project-card{height:300px}.project-carousel swiper-slide .project-overlay{padding:1.25rem 1rem 1rem}.project-carousel swiper-slide .project-content h3{font-size:1.2rem;margin-bottom:.3rem}.project-carousel swiper-slide .project-content .project-description{font-size:.9rem;-webkit-line-clamp:2;margin-bottom:.5rem}.project-carousel swiper-slide .project-content .project-link{padding:.4rem 1rem;font-size:.8rem;margin-top:.5rem;border-width:2px}}