.cat-ess__tabs { position:relative; isolation:isolate; }
.cat-ess__indicator { position:absolute; top:4px; left:0; height:calc(100% - 8px); border-radius:999px; background:#0b6ea6; box-shadow:0 5px 18px #0b6ea62b; z-index:-1; transition:width .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1); }
.cat-ess__tabs.has-indicator .cat-ess__tab.is-active { background:transparent; }
.cat-ess__media::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 25%,#ffffff35 48%,transparent 65%); transform:translateX(-120%); }
.cat-ess__media.is-revealing::after { animation:cat-sheen 1.1s ease-out; }
@keyframes cat-sheen { to { transform:translateX(120%); } }
.cat-ess__btn { transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s; }
.cat-ess__zoom { transition:opacity .3s,transform .5s; transform:translateY(10px) rotate(-35deg); }
.cat-ess__btn:hover .cat-ess__zoom { transform:translateY(0) rotate(0); }
@media(prefers-reduced-motion:reduce) { .cat-ess__indicator { transition:none; } .cat-ess__media.is-revealing::after { animation:none; } .cat-ess__btn { transform:none!important; } }
