.carousel-container{position:relative;overflow:hidden;width:100%}.carousel-container.carousel-container--flush{border:none;height:100%}.carousel-track{display:flex;height:100%;touch-action:pan-x}.carousel-item{position:relative;display:flex;flex-shrink:0;overflow:hidden;cursor:grab;background-color:#0a0a0a}.carousel-item:active{cursor:grabbing}.carousel-item-image{position:relative;width:100%;height:100%;background-color:#0a0a0a}.carousel-item-image img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.carousel-indicators-container{position:absolute;z-index:2;bottom:.75rem;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.carousel-indicators{display:flex;gap:.5rem;padding:.35rem .65rem;border-radius:9999px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.carousel-indicator{height:6px;width:6px;border-radius:50%;border:none;padding:0;cursor:pointer;transition:background-color .15s,transform .15s}.carousel-indicator.active{background-color:#00bb7d;transform:scale(1.2)}.carousel-indicator.inactive{background-color:rgba(255,255,255,.35)}:root{--project-morph-open-dur:300ms;--project-morph-close-dur:250ms;--project-morph-ease:cubic-bezier(0.22,1,0.36,1);--project-morph-close-ease:cubic-bezier(0.22,1,0.36,1);--project-morph-r-open:1.75rem;--project-morph-scale-closed:0.94;--project-morph-scale-open:1;--project-morph-max-h:min(calc(100dvh - 1.5rem),50rem);--project-morph-open-w:min(48rem,calc(100vw - 1.5rem))}.project-morph-backdrop{position:fixed;inset:0;z-index:110;background:rgb(0 0 0/65%);opacity:0;pointer-events:none;transition:opacity var(--project-morph-close-dur) var(--project-morph-close-ease)}.project-morph-backdrop[data-visible=true]{opacity:1;pointer-events:auto;transition:opacity var(--project-morph-open-dur) var(--project-morph-ease)}.project-morph{position:fixed;z-index:120;left:50%;top:50%;display:flex;flex-direction:column;width:var(--project-morph-open-w);max-width:48rem;height:auto;max-height:var(--project-morph-max-h);overflow:hidden;border-radius:var(--project-morph-r-open);transform:translate(-50%,-50%) scale(var(--project-morph-scale-closed));transform-origin:center center;opacity:0;pointer-events:none;transition:opacity var(--project-morph-open-dur) var(--project-morph-ease),transform var(--project-morph-open-dur) var(--project-morph-ease);will-change:opacity,transform}.project-morph[data-phase=entering]{opacity:0;transform:translate(-50%,-50%) scale(var(--project-morph-scale-closed));pointer-events:none}.project-morph[data-phase=open]{opacity:1;transform:translate(-50%,-50%) scale(var(--project-morph-scale-open));pointer-events:auto}.project-morph[data-phase=closing]{opacity:0;transform:translate(-50%,-50%) scale(var(--project-morph-scale-closed));pointer-events:none;transition:opacity var(--project-morph-close-dur) var(--project-morph-close-ease),transform var(--project-morph-close-dur) var(--project-morph-close-ease)}.project-morph[data-scrollable=true] .project-morph-inner{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.project-morph[data-scrollable=true] .project-morph-inner::-webkit-scrollbar{display:none}.project-morph-inner{display:flex;height:auto;min-height:0;flex:1 1 auto;flex-direction:column}.project-morph-hero{position:relative;flex-shrink:0;overflow:hidden}.project-morph-close{-webkit-backdrop-filter:none;backdrop-filter:none;position:absolute;top:1rem;right:1rem;z-index:50}.project-morph-body{position:relative;z-index:10;flex-shrink:0}.project-morph-hero .carousel-item-image img{object-position:top center}.project-morph-hero .carousel-indicators{background:rgb(0 0 0/55%);-webkit-backdrop-filter:none;backdrop-filter:none}@media (min-width:640px){:root{--project-morph-max-h:min(calc(100dvh - 3rem),50rem);--project-morph-open-w:min(48rem,calc(100vw - 3rem))}}@media (prefers-reduced-motion:reduce){.project-morph,.project-morph-backdrop{transition:none!important}.project-morph{transform:translate(-50%,-50%) scale(1);will-change:auto}}