/* A small, centered mascot leaves the actual navigation in the foreground. */
.cat-hero{display:block;min-height:0;isolation:isolate;overflow:hidden;background:#080a10}
.cat-hero:before{background:linear-gradient(90deg,#06080ee8 0%,#090b1399 46%,#080a10d9 100%),linear-gradient(0deg,#080a10 0%,transparent 48%),url('hero.webp') center/cover;opacity:.92}
.cat-hero:after{display:none}
.cat-hero .hero-atmosphere{z-index:1;opacity:.45}
.cat-hero .hero-atmosphere:after{display:none}
.cat-hero .hero-content{padding:88px 0 42px;z-index:2}
.cat-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.85fr) minmax(0,1fr);align-items:center;gap:24px;min-height:360px}
.cat-hero-copy,.cat-service-nav,.cat-audience-nav{position:relative;z-index:5}
.cat-hero .eyebrow{font-size:.75rem;letter-spacing:.15em;margin-bottom:24px;line-height:1.65}
.cat-hero h1{font-size:clamp(2.7rem,4.8vw,4.6rem);line-height:1.01;letter-spacing:-.055em;text-transform:uppercase;font-weight:800}
.cat-hero h1 em{font-style:normal;font-weight:800;color:#c2acff}
.cat-hero p{font-size:1rem;max-width:440px;line-height:1.7;margin:24px 0 0;color:#d0ccd9}
.cat-stage{height:340px;min-width:0;position:relative;align-self:end;touch-action:pan-y;z-index:3}
.cat-stage:after{content:'';position:absolute;width:90%;height:15%;left:5%;bottom:3%;background:radial-gradient(ellipse,#9462da27,transparent 70%);pointer-events:none}
.cat-rig{position:absolute;bottom:13px;left:50%;width:280px;height:auto;aspect-ratio:1230/1278;transform:translateX(-56%);pointer-events:none;isolation:isolate}
.cat-body,.cat-head{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
.cat-body{z-index:1}
.cat-head{display:none;z-index:2;transform-origin:48.4% 41.9%}
.cat-head>img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cat-eye-left{clip-path:ellipse(2.1% 1.55% at 41.9% 26%)}
.cat-eye-right{clip-path:ellipse(2.1% 1.55% at 54.7% 26.4%)}
.cat-ready .cat-body{clip-path:polygon(0 0,23% 0,23% 37%,32% 43%,48% 45%,64% 43%,70% 37%,70% 0,100% 0,100% 100%,0 100%)}
.cat-ready .cat-head{display:block;clip-path:polygon(23% 0,70% 0,70% 37%,64% 43%,48% 46%,32% 43%,23% 37%)}
.cat-wand{position:absolute;left:48.1%;top:58.4%;width:142px;height:53.25px;transform-origin:13.8% 47.4%;transform:translate(-13.8%,-47.4%) rotate(155deg) scaleY(-1);z-index:3;pointer-events:none}
.cat-wand img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.cat-mouse-rest{position:absolute;bottom:12px;left:1%;width:50px;height:29px;object-fit:contain;pointer-events:none;z-index:3}
.cat-mouse{position:absolute;left:0;top:0;width:48px;height:28px;z-index:6;pointer-events:none;visibility:hidden;will-change:transform}
.cat-mouse img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:center}
.cat-mouse.is-moving img{animation:mouse-scurry .13s linear infinite alternate}
@keyframes mouse-scurry{from{transform:translateY(0) rotate(-3deg) scaleX(1.02)}to{transform:translateY(-2px) rotate(3deg) scaleX(.97)}}
.cat-spray{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.cat-stage-hint{display:block;position:absolute;left:0;right:0;bottom:-12px;text-align:center;font-size:.75rem;letter-spacing:.03em;color:#9f93b4;visibility:hidden}
.cat-ready .cat-stage-hint{visibility:visible}
.cat-hint-touch{display:none}
.cat-motion{position:absolute;right:6%;top:20px;z-index:8;display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;font-size:.875rem;color:#cfc5df;background:#090a12ce;border:1px solid #b499d447;cursor:pointer}
.cat-motion input{display:block;width:16px;height:16px;margin:0;accent-color:#d7b875}
.cat-motion .motion-resume,.cat-motion .motion-reduced{display:none}
.cat-hero:has(#motion-toggle:checked) .cat-motion .motion-pause{display:none}
.cat-hero:has(#motion-toggle:checked) .cat-motion .motion-resume{display:inline}
.cat-hero:has(#motion-toggle:checked) .hero-atmosphere:before{animation-play-state:paused}
.cat-hero[data-mouse-active=true] .cat-mouse-rest{visibility:hidden}
@media(hover:hover) and (pointer:fine){.cat-hero[data-cursor-active=true]{cursor:none}.cat-hero a,.cat-hero label,.cat-hero input{cursor:pointer}}
.cat-hero[data-burrowing=true] .cat-mouse,.cat-hero[data-burrowing=true] .cat-mouse-rest{visibility:hidden!important}
.mouse-route-transition{position:fixed;inset:0;pointer-events:none;z-index:120;overflow:hidden;isolation:isolate}
.mouse-route-transition *{pointer-events:none}
.route-hole{position:absolute;width:140px;height:70px;overflow:visible;filter:drop-shadow(0 2px 2px #30231944)}
.route-hole img{position:absolute;inset:0;display:block;width:100%;height:100%}
.route-hole-back{z-index:1}
.route-hole-lip{position:absolute;width:140px;height:70px;z-index:3;clip-path:inset(68% 0 0)}
.route-runner{position:absolute;left:0;top:0;width:48px;height:24px;z-index:2;transform-origin:50% 55%;will-change:transform}
.route-runner img{display:block;width:100%;height:100%;object-fit:contain}
.route-dirt{position:absolute;z-index:4;width:4px;height:3px;clip-path:polygon(12% 0,88% 18%,100% 74%,32% 100%,0 44%);background:#f1ebdf;box-shadow:inset 1px 1px #fffaf0;filter:drop-shadow(0 1px 1px #34291f44)}
.route-catching-paw{position:absolute;left:0;top:0;width:240px;height:auto;z-index:5;filter:drop-shadow(0 7px 4px #241a1540);will-change:transform;pointer-events:none}
.route-page-cut,.route-page-flap{clip-path:polygon(3% 32%,8% 23%,17% 25%,21% 13%,29% 16%,35% 8%,43% 12%,49% 4%,57% 12%,64% 9%,71% 18%,80% 14%,84% 25%,94% 29%,97% 42%,92% 53%,98% 65%,88% 73%,83% 85%,73% 82%,65% 94%,54% 88%,45% 98%,36% 91%,27% 94%,21% 82%,12% 84%,9% 71%,2% 63%,6% 49%)}
.route-page-cut{background:radial-gradient(ellipse at 50% 80%,#292017,#090807 70%);box-shadow:inset 0 4px 12px #000;filter:none;border:1px solid #dfd3bd}
.route-page-flap{position:absolute;width:140px;height:70px;overflow:hidden;z-index:3;transform-origin:50% 95%;filter:drop-shadow(0 5px 3px #34291f66);backface-visibility:visible;will-change:transform,opacity}
.route-page-flap:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#c9bda633,transparent 45%,#fff8e844);border-bottom:1px solid #f7f0e2}
@media(max-width:1100px) and (min-width:801px){.cat-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(150px,.65fr) minmax(0,1fr);gap:18px}.cat-rig{width:240px}.cat-stage{height:290px}.cat-wand{width:120px;height:45px}.cat-hero h1{font-size:clamp(2.4rem,4.8vw,3.2rem)}}
@media(max-width:800px){
 .cat-hero .hero-content{padding:64px 0 36px}
 .cat-hero-grid{grid-template-columns:1fr;gap:8px;min-height:0}
 .cat-hero h1{font-size:clamp(2.3rem,9.4vw,3.7rem);max-width:640px}
 .cat-hero .eyebrow{font-size:.75rem;letter-spacing:.09em;margin-bottom:12px}
 .cat-hero p{font-size:1rem;margin:14px 0 0;max-width:540px}
 .cat-stage{height:190px;width:100%;max-width:450px;justify-self:center;margin-top:10px}
 .cat-rig{width:175px;bottom:6px}
 .cat-wand{width:98px;height:36.75px}
 .cat-mouse-rest{left:18%;bottom:9px;width:42px;height:25px}
 .cat-mouse{width:43px;height:25px}
 .cat-stage-hint{bottom:-10px}
 .cat-motion{top:14px;right:6%;font-size:.8125rem}
}
/* Let the shared phone header wrap when the visitor enlarges text. */
@media(max-width:760px){.header-inner{flex-wrap:wrap;padding-block:12px}.header .brand{max-width:100%;min-width:0}.header .brand-copy{overflow-wrap:anywhere}.header .site-menu{margin-left:auto}.process{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.audience-row{grid-template-columns:max-content minmax(0,1fr) max-content}.audience-row h3{overflow-wrap:anywhere}}
@media(pointer:coarse){.cat-hint-desktop{display:none}.cat-hint-touch{display:inline}}
@media(prefers-reduced-motion:reduce){.cat-mouse,.cat-stage-hint{display:none!important}.cat-motion .motion-pause,.cat-motion .motion-resume{display:none!important}.cat-motion .motion-reduced{display:inline!important}.cat-head{transform:none!important}.cat-hero{cursor:auto!important}}

/* Independent iris and pupil layers; the head still turns with the gaze. */
.cat-eye{display:none;position:absolute;z-index:3;overflow:hidden;clip-path:ellipse(49% 47% at 50% 50%);background:none}
.cat-eyes-ready .cat-eye{display:block}
.cat-eye-left{left:39.2%;top:24.55%;width:5.15%;height:3.6%;transform:rotate(23deg)}
.cat-eye-right{left:52.4%;top:24.6%;width:5.15%;height:3.6%;transform:rotate(-23deg)}
.cat-eye:before{content:'';position:absolute;left:-26.5%;top:-21.3%;width:142%;height:142%;background:url('cat-eye-atlas.webp') 0 0/200% 100% no-repeat}
.cat-pupil{position:absolute;left:-18%;top:-21.3%;width:142%;height:142%;background:url('cat-eye-atlas.webp') 100% 0/200% 100% no-repeat;will-change:transform}
.cat-hero .cat-spray{z-index:7}
.cat-droplets{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.spray-drop{position:absolute;display:block;border-radius:48% 48% 55% 55%;background:radial-gradient(circle at 29% 22%,#fff 0 8%,#d9effeab 17%,#97c6ff4d 45%,#effbffbc 80%,transparent 100%);box-shadow:0 1px 2px #04071488,inset 0 -.4px .8px #e5f3ffb3;pointer-events:none}
[data-wet-surface]{transition:text-shadow .8s}
.cat-hero [data-wet-surface].is-wet,.cat-hero [data-wet-surface].is-wet em{text-shadow:0 1px 0 #e5f7ffbb,0 3px 9px #90baff6b}
.cat-stage{height:370px}
.cat-rig{z-index:2}
.hood-hotspot{display:block;position:absolute;z-index:1;left:-2%;right:-2%;top:0;height:145px;border:1px solid #d6b77955;background:linear-gradient(0deg,#080a10 0%,transparent 70%),url('hero.webp') 89% 14%/220% auto no-repeat;color:#f0d9a8;cursor:pointer;text-align:right;transition:border-color .25s,box-shadow .25s}
.hood-hotspot:hover,.hood-hotspot:focus-visible{border-color:#e7cb94;box-shadow:0 0 30px #b590e433}
.hood-hotspot-label{position:absolute;right:8px;top:8px;display:flex;align-items:center;gap:5px;padding:5px 8px;background:#090910e8;border:1px solid #d6b77955;font-size:.875rem;line-height:1.4;pointer-events:none}
.hood-hotspot-label>span{font-size:1.15rem;color:#cbb3ff}
.cat-stage-hint{font-size:.875rem;bottom:-14px}
@media(max-width:1100px) and (min-width:801px){.cat-stage{height:330px}.hood-hotspot{left:-10%;right:-10%;height:135px}.hood-hotspot-label{font-size:.8125rem}}
@media(max-width:800px){.cat-stage{height:270px;margin-top:20px}.cat-rig{width:190px;bottom:5px}.hood-hotspot{left:1%;right:1%;height:150px;background-position:89% 13%;background-size:195% auto}.hood-hotspot-label{top:9px;right:9px;font-size:.875rem}.cat-mouse-rest{bottom:10px}}
@media(prefers-reduced-motion:reduce){.cat-droplets,.cat-spray{display:none!important}.cat-pupil{transform:none!important}.cat-hero [data-wet-surface]{text-shadow:none!important;transition:none}.hood-hotspot{transition:none}}
