.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scroll-container{scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain}.scroll-item{scroll-snap-align:start;scroll-snap-stop:always}@keyframes carousel-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.carousel-float{animation:carousel-float 3s ease-in-out infinite}.carousel-3d{transform-style:preserve-3d;perspective:1200px}.carousel-card{backface-visibility:hidden;will-change:transform,opacity}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-subtle{animation:pulse-subtle 2s cubic-bezier(.4,0,.6,1) infinite}.gradient-mask-b{mask-image:linear-gradient(180deg,black 80%,transparent);-webkit-mask-image:linear-gradient(180deg,black 80%,transparent)}.gradient-mask-t{mask-image:linear-gradient(0deg,black 80%,transparent);-webkit-mask-image:linear-gradient(0deg,black 80%,transparent)}.focus-visible-ring:focus-visible{outline:2px solid currentColor;outline-offset:2px}.page-transition{animation:pageIn .3s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-2px)}@media (max-width:768px){.scroll-title{font-size:2rem;line-height:1.2}.scroll-excerpt{font-size:1rem;line-height:1.5}}@media (min-width:769px){.scroll-title{font-size:3rem;line-height:1.1}.scroll-excerpt{font-size:1.125rem;line-height:1.6}}