*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:#0a0a0a;width:100%;height:100%;overflow:hidden}.grid-motion-wrap{-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#0a0a0a;width:100vw;height:100dvh;overflow:hidden}.grid-motion-scene{justify-content:center;align-items:center;width:100%;height:100%;animation:1.2s ease-out both scene-fade-in;display:flex;position:relative;overflow:hidden}@keyframes scene-fade-in{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.grid-motion-scene:before{content:"";z-index:10;pointer-events:none;background:radial-gradient(#0000 30%,#0000008c 100%),linear-gradient(#00000040 0%,#0000 40% 60%,#00000059 100%);position:absolute;inset:0}.grid-motion-scene:after{content:"";z-index:11;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='150' height='150' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:150px 150px;position:absolute;inset:0}.grid-motion-grid{transform-origin:50%;z-index:2;contain:layout style;flex-shrink:0;gap:10px;width:150vw;height:150vh;display:grid;position:relative}.grid-motion-row{will-change:transform;backface-visibility:hidden;gap:10px;display:grid;transform:translate(0,0)}.grid-motion-cell{position:relative}.grid-motion-item{aspect-ratio:1;opacity:.85;contain:paint;background:#111;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.grid-motion-row:nth-child(odd) .grid-motion-item{opacity:.7}.grid-motion-image{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.grid-motion-text{text-align:center;color:#fff;z-index:1;padding:16px;font-size:1.25rem}@media (hover:hover){.grid-motion-item{transition:opacity .4s}.grid-motion-item:hover,.grid-motion-row:nth-child(odd) .grid-motion-item:hover{opacity:1}}@media (width<=767px){.grid-motion-grid{gap:6px;width:180vw;height:160vh}.grid-motion-row{gap:6px}.grid-motion-item{opacity:.8;border-radius:6px}.grid-motion-row:nth-child(odd) .grid-motion-item{opacity:.6}.grid-motion-scene:before{background:radial-gradient(#0000 20%,#0009 100%),linear-gradient(#0000004d 0%,#0000 35% 65%,#0006 100%)}.grid-motion-scene:after{opacity:.03}}
