body.fixed-app{margin:0;padding:0}.app-layout,body.fixed-app{overflow:hidden;height:100vh;width:100%}.app-layout{display:flex;max-width:100%;padding-top:110px}.index-wrapper{width:40%;height:100%;display:flex;flex-direction:column;border-right:1px solid hsla(0,0%,100%,.05)}.portfolio-title{text-align:center;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1;white-space:nowrap;margin:0;padding:4vh 0;border-bottom:1px solid hsla(0,0%,100%,.05)}.portfolio-title span{color:var(--c-cyan)}.index-panel{flex:1 1;position:relative;overflow:hidden;scrollbar-width:none;overflow-anchor:none}.index-panel::-webkit-scrollbar{display:none}.index-panel.scroll-ready{overflow-y:auto;overflow-x:hidden}.accordion-list{list-style:none;display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(16px,2vh,30px) 4vw clamp(16px,2vh,30px) 5vw;margin:0;width:100%;min-height:100%}.accordion-item{border-bottom:1px solid hsla(0,0%,100%,.08);cursor:pointer;padding:clamp(14px,2vh,24px) 0;width:100%;position:relative;transition:background .4s ease,padding-left .4s ease}.accordion-item:first-child{border-top:1px solid hsla(0,0%,100%,.08)}.accordion-item:before{content:"";position:absolute;left:0;top:0;right:0;height:0;background:linear-gradient(90deg,transparent,var(--c-cyan),transparent);opacity:0;transition:height .4s cubic-bezier(.16,1,.3,1),opacity .4s ease}.accordion-item:hover:before{height:1px;opacity:.3}.accordion-item.is-active:before{height:1px;opacity:.5}.accordion-header{display:flex;align-items:center;gap:20px;transition:transform .6s var(--ease-liquid)}.accordion-header:after{content:"\2192";font-size:1.2rem;color:var(--c-cyan);margin-left:auto;opacity:0;transform:translateX(-10px);transition:opacity .3s ease,transform .3s ease}.accordion-item:hover .accordion-header:after{opacity:.5;transform:translateX(0)}.accordion-item.is-active .accordion-header:after{opacity:1;transform:translateX(0)}.p-num{font-family:monospace;font-size:1.2rem;color:hsla(0,0%,100%,.4);transition:color .4s}.p-num,.p-title{pointer-events:none}.p-title{font-size:clamp(1.5rem,2.2vw,2.5rem);font-weight:400;color:hsla(0,0%,100%,.6);transition:color .4s,letter-spacing .4s}.accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease-liquid);width:100%}.accordion-content{overflow:hidden;padding-left:55px;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;width:100%}.p-desc{font-size:1rem;line-height:1.7;color:hsla(0,0%,100%,.7);margin:20px 0;word-break:break-word}.p-meta{list-style:none;display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px;margin-bottom:10px;width:100%}.p-meta li{font-size:.9rem;display:flex;flex-direction:column;color:var(--white);border-left:1px solid rgba(118,207,223,.15);padding-left:15px;word-break:break-word;transition:border-color .3s}.p-meta li:hover{border-left-color:rgba(118,207,223,.35)}.p-meta li span{color:var(--c-cyan);font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-weight:700}.accordion-item:hover .p-title{color:var(--white);letter-spacing:.02em}.accordion-item:hover .p-num{color:hsla(0,0%,100%,.7)}.accordion-item.is-active{background:linear-gradient(90deg,rgba(118,207,223,.04),transparent);padding-left:12px}.accordion-item.is-active .accordion-header{transform:translateX(10px)}.accordion-item.is-active .p-num{color:var(--c-cyan);font-weight:700}.accordion-item.is-active .p-title{color:var(--white);font-weight:700}.accordion-item.is-active .accordion-body{grid-template-rows:1fr}.accordion-item.is-active .accordion-content{opacity:1;transform:translateY(0);transition-delay:.3s}.p-scope{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.85rem;color:hsla(0,0%,100%,.6);letter-spacing:.5px}.scope-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--c-cyan);opacity:.7}.page-projects .glow-1{opacity:0!important}.page-projects .glow-2{opacity:.06!important}.img-counter{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:baseline;gap:4px;font-family:monospace;font-size:1rem;color:hsla(0,0%,100%,.4);letter-spacing:2px;opacity:0;transition:opacity .5s ease}.img-counter.is-visible{opacity:1}.img-counter-current{color:var(--white);font-size:1.3rem;font-weight:600}.img-counter-sep{color:hsla(0,0%,100%,.2)}.img-counter-total{color:hsla(0,0%,100%,.35)}.scroll-hint{transition:opacity .6s ease}.scroll-hint.is-hidden{opacity:0!important;pointer-events:none}.lightbox-overlay,.mobile-tiny-carousel{display:none}.contact-cta-wrapper{padding:60px 0 0;display:flex;justify-content:flex-start;border-top:1px solid hsla(0,0%,100%,.08);width:100%}.projects-contact-btn{display:inline-flex;align-items:center;gap:15px;padding:18px 40px;background:rgba(118,207,223,.1);border:1px solid rgba(118,207,223,.3);color:var(--white);text-transform:uppercase;font-weight:700;letter-spacing:2px;border-radius:50px;text-decoration:none;position:relative;overflow:hidden;transition:all .4s var(--ease-liquid)}.projects-contact-btn:hover{background:rgba(118,207,223,.2);border-color:var(--c-cyan);transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.5)}.projects-contact-btn .animated-arrow{width:20px;height:20px;color:var(--c-cyan);animation:arrowPulse 2s ease-in-out infinite}.projects-contact-btn .btn-shimmer{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transform:skewX(-20deg);animation:btnShimmer 4s infinite;z-index:1;pointer-events:none}.visual-panel{width:60%;height:100%;position:relative;background:var(--c-dark)}.scroll-hint{position:absolute;top:30px;right:40px;z-index:100;display:flex;align-items:center;gap:10px;opacity:.5}.mouse-icon{width:20px;height:30px;border:2px solid var(--white);border-radius:15px;position:relative}.mouse-icon:before{content:"";position:absolute;top:5px;left:50%;transform:translateX(-50%);width:4px;height:6px;background:var(--white);border-radius:2px;animation:scrollWheel 2s infinite}@keyframes scrollWheel{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,10px);opacity:0}}.carousel-3d{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;perspective:1500px;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.9) translateY(20px);filter:blur(12px);transition:opacity .8s ease,visibility 0s .8s,transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease}.carousel-3d.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1) translateY(0);filter:blur(0);z-index:10;transition:opacity .8s ease .15s,visibility 0s 0s,transform .8s cubic-bezier(.16,1,.3,1) .15s,filter .8s ease .15s}.carousel-track{width:100%;height:100%;position:relative;transform-style:preserve-3d;display:flex;justify-content:center;align-items:center}.slide-3d{position:absolute;width:65%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.8),0 0 0 1px rgba(118,207,223,.05);transition:all .8s cubic-bezier(.25,1,.5,1);cursor:pointer;opacity:0;transform:translateX(0) translateZ(-600px) rotateY(0deg);z-index:1;pointer-events:none}.slide-3d img{width:100%;height:100%;object-fit:cover;transition:transform 6s ease-out}.slide-3d:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.7);transition:opacity .8s}.slide-3d.active{transform:translateX(0) translateZ(0) rotateY(0deg);z-index:10;opacity:1;pointer-events:auto;cursor:default;box-shadow:0 50px 100px rgba(0,0,0,.9),0 0 40px rgba(118,207,223,.05)}.slide-3d.active:after{opacity:0}.slide-3d.active img{transform:scale(1.05)}.slide-3d.prev{transform:translateX(-45%) translateZ(-280px) rotateY(30deg);z-index:5;opacity:.5;pointer-events:auto}.slide-3d.prev:hover{opacity:.8;transform:translateX(-48%) translateZ(-220px) rotateY(26deg)}.slide-3d.next{transform:translateX(45%) translateZ(-280px) rotateY(-30deg);z-index:5;opacity:.5;pointer-events:auto}.slide-3d.next:hover{opacity:.8;transform:translateX(48%) translateZ(-220px) rotateY(-26deg)}@media (max-width:1000px){body.fixed-app,html{position:fixed!important;top:0;left:0;right:0;bottom:0;overflow:hidden!important;overscroll-behavior:none}.app-layout,body.fixed-app,html{width:100%;height:100%!important}.app-layout{flex-direction:column;overflow-y:auto!important;overflow-x:hidden!important;padding-top:80px;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.page-projects .index-wrapper{padding:0!important}.index-wrapper{width:100%;height:auto;border-right:none}.index-panel{overflow:visible!important}.portfolio-title{white-space:normal;word-break:break-word;padding:20px 5vw;font-size:2.2rem;text-align:left}.accordion-body{display:grid!important}body.page-projects .portfolio-title{text-align:left!important;margin-bottom:0!important}body.page-projects .accordion-list{align-items:stretch!important;padding:5vw 5vw calc(100px + env(safe-area-inset-bottom, 0px))!important}body.page-projects .accordion-item{max-width:none!important;align-items:stretch!important;text-align:left!important;margin:0!important}body.page-projects .accordion-header{justify-content:flex-start!important}.accordion-item.is-active .accordion-header{transform:none!important}body.page-projects .accordion-content{align-items:flex-start!important}body.page-projects .contact-cta-wrapper{padding:40px 0 0!important;margin:0!important;max-width:none!important;align-items:stretch!important}.accordion-list{width:100%;max-width:100%}.accordion-content{padding-left:0;padding-top:15px}.projects-contact-btn{width:100%;justify-content:center;font-size:.95rem;padding:18px 20px}.visual-panel{display:none!important}.mobile-tiny-carousel{display:block;width:100%;height:140px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;position:relative;border-radius:8px;margin-bottom:20px;cursor:pointer;background:#000;border:1px solid hsla(0,0%,100%,.05);scrollbar-width:none}.mobile-tiny-carousel::-webkit-scrollbar{display:none}.tiny-track{display:flex;height:100%;width:max-content;gap:10px;padding-right:10px}.tiny-track img{height:100%;width:180px;object-fit:cover;border-radius:4px;pointer-events:none}body.page-projects .mobile-tiny-carousel{margin:0 0 20px!important;padding:0!important;width:100%!important;max-width:100%!important;scroll-snap-type:none!important}body.page-projects .tiny-track{gap:10px!important;height:100%!important}body.page-projects .tiny-track img{height:100%!important;width:180px!important;max-width:none!important;scroll-snap-align:unset!important}.tap-hint{position:-webkit-sticky;position:sticky;left:calc(100% - 130px);margin-left:-130px;margin-top:105px;width:max-content;font-size:.7rem;background:rgba(3,6,12,.8);padding:4px 10px;border-radius:20px;color:var(--c-cyan);border:1px solid var(--c-cyan);text-transform:uppercase;letter-spacing:1px;z-index:10;pointer-events:none}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:rgba(3,5,9,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s;touch-action:none;width:100%;height:100%}.lightbox-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.lightbox-close{position:absolute;top:20px;right:20px;color:var(--white);font-size:2.5rem;cursor:pointer;z-index:10;line-height:1;padding:10px}.lightbox-scroll-area{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;width:100%;height:60vh;padding:0;gap:15px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lightbox-scroll-area::-webkit-scrollbar{display:none}.lb-img{scroll-snap-align:center;height:100%;width:90vw;padding:0 5vw;object-fit:contain;flex-shrink:0;border-radius:8px}.lightbox-hint{position:absolute;bottom:30px;color:var(--c-cyan);font-family:monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:2px;opacity:.7;pointer-events:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}