.home-cats { position:relative; --cat-size:68px; display:grid; grid-template-columns:1fr 1fr; gap:8px; width:200px; height:92px; margin:0 auto 12px; pointer-events:none; }
.home .home-hero { padding-top:calc(var(--nav-h) + 16px); }
html:not(.js) .home .home-hero { padding-top:16px; }
@media(max-width:760px) {
 .home-cats { --cat-size:56px; width:176px; height:80px; }
}
.home-cats__lane { position:relative; min-width:0; }
.home-cat { pointer-events:auto; z-index:0; appearance:none; position:absolute; left:8px; bottom:0; width:var(--cat-size); height:var(--cat-size); margin:0; padding:0; border:0; border-radius:18px; background:none; color:var(--ink); cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.home-cat[data-cat="black"] { left:calc(100% - var(--cat-size) - 8px); }
.home-cat.is-ready { left:0; will-change:transform; }
.home-cat:focus-visible { z-index:2; outline:2px solid var(--accent); outline-offset:2px; }
.home-cat__body { position:absolute; inset:0; display:block; transform-origin:50% 90%; }
.home-cat__sprite { display:block; position:absolute; inset:0; background:var(--cat-atlas) 0 0 / 400% 200% no-repeat; }
.home-cat::before { content:''; position:absolute; left:25%; bottom:8%; width:50%; height:7%; border-radius:50%; background:rgb(60 50 33 / .16); filter:blur(4px); transform:scaleX(var(--cat-shadow-scale, 1)); }
@media (prefers-reduced-motion:reduce) {
 .home-cat:not(.is-free), .home-cat.is-ready:not(.is-free) { left:8px; transform:none !important; will-change:auto; }
 .home-cat[data-cat="black"]:not(.is-free) { left:calc(100% - var(--cat-size) - 8px); }
 .home-cat__body { transform:none !important; }
}

.home-cat[data-cat="black"] .home-cat__body { filter:drop-shadow(0 0 2px rgb(255 255 255 / .5)); }

.home-hero__title { position:relative; z-index:1; }

.home-hero__title.has-cat-behind { text-shadow:0 0 2px var(--hero-bg), 0 0 4px var(--hero-bg), 0 0 6px var(--hero-bg), 0 2px 40px rgb(0 0 0 / .35); }

.home-cats__free { position:absolute; inset:0; z-index:1; pointer-events:none; --cat-size:68px; }
.home-cat.is-free,.home-cat.is-free.is-ready { left:0; top:0; bottom:auto; transform:none; }
.home-hero > .tile__inner { position:relative; z-index:auto; pointer-events:none; }
.home-hero__copy { z-index:2; pointer-events:auto; }
.home-menu { z-index:auto; background:none; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; pointer-events:auto; }
.home-menu::after { content:''; position:absolute; inset:0; z-index:0; border-radius:inherit; background:var(--glass); -webkit-backdrop-filter:blur(20px) saturate(1.25); backdrop-filter:blur(20px) saturate(1.25); box-shadow:0 40px 80px -40px rgb(0 0 0 / .7),inset 0 1px 0 rgb(250 250 246 / .06); pointer-events:none; }
.home-menu li { z-index:2; }
@supports not (backdrop-filter:blur(1px)) { .home-menu::after { background:rgb(38 42 36 / .92); } }
.home-cats__ball { appearance:none; position:absolute; left:0; top:0; z-index:3; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; cursor:grab; touch-action:none; pointer-events:auto; }
.home-cats__ball::before { content:''; position:absolute; width:20px; height:20px; left:12px; top:12px; border:1px solid rgb(247 255 218 / .8); border-radius:50%; background:radial-gradient(ellipse at 10% 50%,transparent 42%,rgb(255 255 255 / .7) 45% 49%,transparent 52%),radial-gradient(circle at 30% 22%,#fff 0 7%,transparent 22%),linear-gradient(135deg,#e3ff9b,var(--accent) 55%,#8ebd22); box-shadow:inset -2px -2px 3px rgb(0 0 0 / .18),0 1px 2px rgb(0 0 0 / .25); transform:rotate(var(--ball-spin,0deg)); }
.home-cats__ball[data-ball-state="held"] { cursor:grabbing; }
.home-cats__ball:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(max-width:760px) { .home-cats__free { --cat-size:56px; } }
.home-menu__n,.home-menu__t,.home-menu__d,.home-hero__lead,.home-hero__note,.home-hero .textlink { text-shadow:0 0 2px var(--hero-bg),0 0 4px var(--hero-bg); }
