#projects,.projects-slider-container{position:relative;width:100%}.project-item,.projects-orbit-wrapper{flex-direction:column;display:flex}.projects-slider-container{height:600svh;contain:layout paint}.projects-orbit-wrapper{overflow:hidden;position:sticky;top:0;width:100%;height:100svh;perspective:2500px;user-select:none;-webkit-user-select:none;align-items:center;justify-content:center;will-change:transform}#projects .projects-header{position:absolute;top:8%;left:50%;transform:translateX(-50%) translateZ(0);font-size:clamp(2.5rem, 5vw, 4rem);color:var(--text-color);letter-spacing:2px;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;z-index:100;width:100%;text-align:center;margin-bottom:0;pointer-events:none}#projects .projects-track-3d,.project-item{transform-style:preserve-3d;position:absolute}#projects .projects-track-3d{top:28%;left:50%;width:0;height:0}.project-item{width:min(340px,90vw);height:480px;max-height:85svh;background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;will-change:transform,opacity;-webkit-font-smoothing:antialiased;box-shadow:0 20px 60px -20px var(--slider-shadow),inset 0 0 0 1px rgba(255,255,255,.05);transition:box-shadow .4s,border-color .4s,filter .5s;pointer-events:auto;overflow:hidden}.project-item:not(.is-front){pointer-events:none;filter:brightness(.4) blur(5px) grayscale(30%)}.project-item.is-front{pointer-events:auto!important;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 30px 80px -20px var(--slider-shadow-front),0 0 50px color-mix(in srgb,var(--accent),transparent 50%),inset 0 0 30px color-mix(in srgb,var(--accent),transparent 85%);z-index:100!important;filter:brightness(1) blur(0px) grayscale(0%)}.project-item::before{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.15),transparent);transform:skewX(-25deg) translateZ(10px);z-index:20;pointer-events:none;opacity:0}.project-item::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--x,50%) var(--y,50%),color-mix(in srgb,var(--accent),transparent 85%),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:0}.project-item.is-front::before{opacity:1;animation:1.2s cubic-bezier(.2,.8,.2,1) forwards shimmer-sweep}@keyframes shimmer-sweep{0%{left:-150%;opacity:0}20%{opacity:1}100%{left:200%;opacity:0}}.project-item .card-glow{position:absolute;inset:-2px;border-radius:24px;z-index:10;pointer-events:none;overflow:hidden;box-sizing:border-box;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;will-change:opacity;transition:opacity .5s}.project-item .card-glow::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 70%,var(--accent) 90%,transparent 100%);animation:4s linear infinite spin-glow}.project-item.is-front .card-glow{opacity:1}@keyframes spin-glow{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.project-item .project-img{width:100%;height:50%;min-height:80px;display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box;transition:height .5s cubic-bezier(.2, .8, .2, 1)}.project-item .project-img img{display:block;margin:auto;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;transform-origin:center;transition:transform .6s cubic-bezier(.2, .8, .2, 1),filter .6s;filter:drop-shadow(0 8px 12px rgba(0, 0, 0, .2))}.project-item.is-front .project-img{height:55%}@keyframes float-item{0%,100%{transform:scale(1.25) translateZ(60px) translateY(0)}50%{transform:scale(1.25) translateZ(60px) translateY(-12px)}}.project-item.is-front .project-img img{transform:scale(1.25) translateZ(60px);animation:4s ease-in-out infinite float-item;filter:drop-shadow(0 25px 30px rgba(0, 0, 0, .7))}.project-item .project-info{padding:10px 20px 20px;height:50%;display:flex;flex-direction:column;transform:translateZ(0);transition:height .5s cubic-bezier(.2, .8, .2, 1),transform .6s cubic-bezier(.2, .8, .2, 1);transform-style:preserve-3d}.project-item.is-front .project-info{height:45%;padding:8px 20px 12px;transform:translateZ(30px)}.project-item .hidden-content{display:flex;flex-direction:column;flex-grow:1;max-height:0;opacity:0;overflow:hidden;transform:translateY(15px);filter:blur(5px);transition:max-height .5s cubic-bezier(.2, .8, .2, 1),opacity .4s,transform .5s cubic-bezier(.2, .8, .2, 1),filter .4s,margin-top .5s;margin-top:0}.project-item.is-front .hidden-content{max-height:500px;opacity:1;transform:translateY(0) translateZ(50px);filter:blur(0);margin-top:8px;padding-bottom:8px}.project-item .hidden-content>div{display:flex;flex-direction:column;justify-content:space-between;height:100%;flex-grow:1}.project-info h3,.project-info h4,.project-info p{text-shadow:0 4px 15px rgba(0,0,0,.9);position:relative;transition:transform .6s cubic-bezier(.2, .8, .2, 1),color .3s,text-shadow .3s}body.light-mode .project-info h3,body.light-mode .project-info h4,body.light-mode .project-info p{text-shadow:0 0 15px #fff,0 0 5px rgba(255,255,255,.8)}.project-info h3{font-size:1.5rem;font-weight:700;color:var(--text-color);margin-bottom:5px}.project-info h4{font-size:.8rem;color:var(--accent);font-family:monospace;text-transform:uppercase;margin-bottom:8px}.project-info p{font-size:.95rem;color:var(--text-muted);line-height:1.4;margin-bottom:8px;padding:0;border-radius:12px;background:0 0;border:1px solid transparent;transition:.5s cubic-bezier(.2, .8, .2, 1)}.project-item.is-front .project-info p{color:var(--text-color);font-weight:500;padding:8px 14px;background:color-mix(in srgb,var(--card-bg) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:color-mix(in srgb,var(--border-color) 40%,transparent);box-shadow:none;text-shadow:none}.project-item.is-front h3{transform:translateZ(20px)}.project-item.is-front h4{transform:translateZ(35px)}.project-item .ctaProjects{align-self:flex-start;padding:8px 15px;font-size:1rem;margin-top:auto;margin-bottom:auto}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:color-mix(in srgb,var(--card-bg),transparent 30%);border:2px solid color-mix(in srgb,var(--accent),transparent 50%);color:var(--accent);width:60px;height:60px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.5rem;z-index:500;backdrop-filter:blur(8px);transition:background-color .3s,color .3s,box-shadow .3s,transform .1s;cursor:pointer;overflow:hidden}.slider-btn::before{display:none!important}.prev-btn{left:5vw}.next-btn{right:5vw}.slider-btn:hover{background:var(--accent);color:var(--bg-color)!important;box-shadow:0 0 20px color-mix(in srgb,var(--accent),transparent 30%)}.slider-btn:active{transform:translateY(-50%) scale(.9)}.slider-dots{display:none;gap:16px;position:absolute;left:50%;transform:translateX(-50%);z-index:200}.slider-dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--border-color);padding:0;cursor:pointer;transition:background-color .3s,transform .3s;position:relative}.slider-dot::after{content:"";position:absolute;inset:-14px}.slider-dot.active{background:var(--accent);transform:scale(1.3)}@media (hover:hover) and (pointer:fine){.project-item:hover::after{opacity:1}}.project-item .project-img,.project-item .project-info{position:relative;z-index:1}@media (max-width:1024px){.project-item.is-front .project-img{height:55%}.project-item.is-front .project-info{height:45%}}@media (max-width:768px){#projects .projects-header{font-size:2.5rem;top:6%}#projects .projects-track-3d{top:32%}.projects-slider-container{height:100svh!important}.projects-orbit-wrapper{touch-action:pan-y}.project-item{width:min(260px,75vw);height:min(400px,60svh);margin-left:calc(-1 * min(130px,37.5vw));margin-top:-20px}.project-item .project-info{padding:15px 20px}.project-info h3{font-size:1.3rem}.project-info p{font-size:.85rem}.slider-btn{display:none}.slider-dots{display:flex!important;gap:12px;bottom:8svh;top:auto}.slider-dot{width:8px;height:8px}}@media only screen and (max-height:500px) and (orientation:landscape){#projects .projects-header{font-size:1.2rem;top:2%}#projects .projects-track-3d{top:25%}.project-item{height:85svh;width:min(550px,85vw);margin-top:-12svh;margin-left:calc(-1 * min(275px,42.5vw));flex-direction:row}.project-item .project-img{width:140px;height:100%;padding:10px;flex-shrink:0}.project-item .project-img img{object-fit:contain}.project-item.is-front .project-img,.project-item.is-front .project-info{height:100%}.project-item .project-info{display:flex;flex-direction:column;width:calc(100% - 140px);height:100%;padding:5px 15px 5px 0;justify-content:center;overflow-y:auto}.project-info h4{display:block;font-size:.6rem;margin-bottom:2px}.project-info h3{font-size:1.2rem;margin-bottom:5px}.project-info p{font-size:.75rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-item.is-front .project-info p{padding:6px 10px}.project-item.is-front .hidden-content{display:flex;max-height:60px;overflow-y:auto;opacity:1;transform:translateY(0);margin-top:5px}.project-item .ctaProjects{padding:6px 12px;font-size:.85rem;margin-top:5px}.slider-dots{display:flex!important;gap:10px;bottom:4svh;top:auto}.slider-dot{width:8px;height:8px}}@media (min-width:1025px){.slider-dots{display:flex;top:auto;bottom:5vh}}