/* Compact organic slime choices with centered, readable live text. */
.occasion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center;padding:0;margin-top:8px}
.occasion{position:relative;isolation:isolate;display:block;min-height:0;height:175px;width:100%;padding:0;border:0;border-radius:0;background:none;overflow:visible;text-align:center;filter:none;transition:transform .15s}
.occasion:hover{transform:translateY(-3px)}
.occasion-blob{position:absolute;inset:0;background-image:url('assets/experience-slime-blobs.png');background-size:200% 200%;background-repeat:no-repeat;z-index:-1;pointer-events:none}
.occasion:nth-child(1) .occasion-blob{background-position:0 0}
.occasion:nth-child(2) .occasion-blob{background-position:100% 0}
.occasion:nth-child(3) .occasion-blob{background-position:0 100%}
.occasion:nth-child(4) .occasion-blob{background-position:100% 100%}
.occasion-copy{position:absolute;width:76%;left:50%;top:51%;transform:translate(-50%,-50%);display:block;text-align:center}
.occasion:nth-child(3) .occasion-copy{top:69%;width:81%}
.occasion:nth-child(4) .occasion-copy{top:52%;width:70%}
.occasion h3{font-family:'Arial Rounded MT Bold','Trebuchet MS',sans-serif;font-size:19px;font-weight:1000;line-height:1.08;letter-spacing:-.04em;color:var(--ink);margin:0 0 6px;text-align:center;text-shadow:0 1px 2px #fffaf1}
.occasion p{font-size:11px;line-height:1.3;margin:0 auto 7px;color:var(--ink);text-align:center;max-width:180px;text-shadow:0 1px 2px #fffaf1}
.occasion .card-arrow{display:block;text-align:center;font-size:10px;font-weight:800;line-height:1.2;margin:0;padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;text-shadow:0 1px 2px #fffaf1}
.occasion:focus-visible{outline:3px solid #7439c6;outline-offset:4px;border-radius:40px}
@media(max-width:1100px){.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:22px}.occasion{height:175px;max-width:310px;justify-self:center}.occasion h3{font-size:20px}.occasion p{font-size:12px}.occasion .card-arrow{font-size:11px}}
@media(max-width:600px){.occasion-grid{gap:16px}.occasion{height:165px}.occasion h3{font-size:17px}.occasion p{font-size:10px}.occasion .card-arrow{font-size:9px}}
@media(max-width:420px){.occasion-grid{grid-template-columns:1fr;gap:20px}.occasion{height:175px;max-width:280px}.occasion h3{font-size:20px}.occasion p{font-size:12px}.occasion .card-arrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.occasion{transition:none}}
.occasion-blob{background:none;display:block}
.occasion-blob svg{display:block;width:100%;height:100%;overflow:hidden}
.occasion-grid{gap:24px}
.occasion{height:180px;cursor:pointer}
.occasion:hover{transform:translateY(-3px) scale(1.025)}
@media(max-width:600px){.occasion{height:155px}.occasion-grid{gap:18px}}
@media(max-width:420px){.occasion{height:185px}}
.occasion-grid{align-items:start;row-gap:30px}
.occasion{height:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.occasion-blob{position:relative;inset:auto;height:180px;width:100%;flex-shrink:0;z-index:0}
.occasion-blob img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.occasion-caption{display:block;text-align:center;width:100%;min-height:80px;padding:7px 8px 0}
.occasion-caption p{font-size:13px;line-height:1.45;max-width:225px;margin:0 auto 9px;text-shadow:none}
.occasion-caption .card-arrow{font-size:12px;line-height:1.4;text-shadow:none}
@media(max-width:600px){.occasion{height:auto}.occasion-blob{height:155px}.occasion-caption p{font-size:12px}.occasion-caption .card-arrow{font-size:11px}}
@media(max-width:420px){.occasion{height:auto}.occasion-blob{height:180px}.occasion-caption{min-height:65px}}
