#infinite-grid-menu-canvas{cursor:grab;width:100%;height:100%;overflow:hidden;position:relative;outline:none;z-index:1}#infinite-grid-menu-canvas:active{cursor:grabbing}.item-modal{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;animation:modal-fade-in .35s ease;--hole-size: 480px}.item-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#f5f5f5;-webkit-mask:radial-gradient(circle at 50% 50%,transparent calc(var(--hole-size) / 2),#000 calc(var(--hole-size) / 2 + 1px));mask:radial-gradient(circle at 50% 50%,transparent calc(var(--hole-size) / 2),#000 calc(var(--hole-size) / 2 + 1px))}.item-modal-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr var(--hole-size) 1fr;align-items:center;pointer-events:none;gap:2rem;padding:0 5vw;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.item-modal-left,.item-modal-right{pointer-events:auto;color:#111;max-width:28rem}.item-modal-left{justify-self:end;text-align:right}.item-modal-right{justify-self:start;text-align:left}.item-modal-hole{width:var(--hole-size);height:var(--hole-size)}.item-modal-title{margin:0;font-size:2.4rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#0d0d0d}.item-modal-description{margin:0 0 1.5rem;font-size:1.05rem;line-height:1.55;color:#444}.item-modal-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;letter-spacing:.02em;color:#fff;background:#111;border:1px solid #111;border-radius:999px;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;box-shadow:0 8px 20px #0000002e}.item-modal-cta:hover{background:#2a2a2a;transform:translateY(-2px);box-shadow:0 12px 26px #00000040}.item-modal-cta:active{transform:translateY(0)}.item-modal-cta-icon{font-size:1.1rem;transition:transform .2s ease}.item-modal-cta:hover .item-modal-cta-icon{transform:translate(3px)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:900px){.item-modal{--hole-size: 200px}.item-modal-grid{grid-template-columns:1fr;grid-template-rows:1fr var(--hole-size) 1fr;text-align:center;padding:4vh 1.5rem}.item-modal-left,.item-modal-right{justify-self:center;text-align:center}.item-modal-title{font-size:1.6rem}.item-modal-description{font-size:.95rem;margin-bottom:1rem}}
