/* FOFN homepage only: copy / companion / login. */
.hero-home .hero-inner.cat-layout{width:min(1440px,calc(100% - 64px));grid-template-columns:minmax(0,1fr) clamp(180px,19vw,280px) 390px;gap:20px;align-items:center;min-height:650px}
.cat-layout>.hero-copy{min-width:0}
html[lang="zh-CN"] .cat-layout.hero-inner .hero-copy h1{width:auto;max-width:100%;font-size:clamp(1.7rem,2.2vw,2.15rem);white-space:normal;text-align:left;text-align-last:auto;line-height:1.4;letter-spacing:.025em}
.cat-layout .hero-copy .lead{font-size:1.05rem;line-height:1.85}
.hero-home .cat-layout .login-card{width:390px;max-width:100%;margin:0;justify-self:end}
.fofn-cat{width:100%;align-self:center;transform:translateY(8px);pointer-events:none;user-select:none;--look-x:0px;--look-y:0px;--head-turn:0deg}
.fofn-cat svg{width:100%;height:auto;display:block;overflow:visible}
.cat-head{transform-box:fill-box;transform-origin:50% 85%;transform:rotate(var(--head-turn));transition:transform .24s ease-out}
.cat-pupil{transform:translate(var(--look-x),var(--look-y));transition:transform .12s ease-out}
.cat-eye{transform-box:fill-box;transform-origin:center;animation:cat-blink 6.7s infinite}
.cat-eye-right{animation-delay:.025s}
.cat-tail{transform-box:fill-box;transform-origin:20% 82%;animation:cat-tail 4.2s ease-in-out infinite}
.cat-cover{opacity:0;transform:translateY(150px);transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .15s}
.cat-arm{transition:opacity .18s}
.is-account .cat-head{transform:rotate(9deg) translate(3px,2px)}
.is-account .cat-pupil{transform:translate(7px,4px)}
.is-covering .cat-cover{opacity:1;transform:translateY(0)}
.is-covering .cat-arm{opacity:0}
.is-covering .cat-eye{animation:none}
.is-covering .cat-head{transform:rotate(-3deg)}
.is-peeking .cat-cover-right{transform:translate(14px,40px) rotate(5deg);transform-origin:210px 260px}
.is-peeking .cat-eye-left{transform:scaleY(.12)}
.is-peeking .cat-eye-right .cat-pupil{transform:translate(5px,1px)}
.is-paused *{animation-play-state:paused!important}
@keyframes cat-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.06)}}
@keyframes cat-tail{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(9deg)}}
@media(min-width:1500px){.hero-home .cat-layout.hero-inner{grid-template-columns:minmax(0,1fr) 270px 390px;gap:32px}}
@media(max-width:1100px) and (min-width:761px){.hero-home .cat-layout.hero-inner{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr) 180px 340px;gap:14px}.hero-home .cat-layout .login-card{width:340px}.cat-layout .hero-chips{gap:6px}.cat-layout .chip{font-size:.7rem}.cat-layout .hero-copy .lead{font-size:.94rem}html[lang="zh-CN"] .cat-layout.hero-inner .hero-copy h1{font-size:1.65rem}}
@media(max-width:760px){.hero-home .hero-inner.cat-layout{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:0;padding:38px 0 60px;min-height:auto}.cat-layout .hero-copy{grid-row:1}.cat-layout .hero-copy .lead{font-size:1rem}.fofn-cat{width:150px;justify-self:center;margin-top:8px;transform:none}.hero-home .cat-layout .login-card{justify-self:center;width:min(390px,100%);margin-top:-4px}html[lang="zh-CN"] .cat-layout.hero-inner .hero-copy h1{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){.fofn-cat *{animation:none!important;transition:none!important}.cat-head,.cat-pupil{transform:none}}

/* V2: reference-guided fluffy orange cat, transparent sprite artwork. */
.fofn-cat-plush{position:relative;aspect-ratio:1/1;transform:translateY(30px);filter:drop-shadow(0 12px 14px rgba(0,0,0,.24));animation:plush-breathe 4.5s ease-in-out infinite}
.cat-plush-frame{position:absolute;inset:0;display:block;background-image:url('../img/login-cat-plush.png');background-repeat:no-repeat;background-size:300% 200%;background-position:0% 0%;opacity:0;transition:opacity .14s ease-in-out;will-change:opacity}
.cat-plush-frame:first-child{opacity:1}
@keyframes plush-breathe{0%,100%{transform:translateY(30px) scaleY(1)}50%{transform:translateY(29px) scaleY(1.008)}}
@media(max-width:760px){.fofn-cat-plush{width:190px;margin:10px 0 0;animation:none;transform:none}}
@media(prefers-reduced-motion:reduce){.fofn-cat-plush{animation:none!important}.cat-plush-frame{transition:none!important}}

@media (min-width:1101px){
  .hero-home .hero-inner.cat-layout{
    width:min(1320px,calc(100% - 48px));
    grid-template-columns:minmax(0,1fr) 250px 390px;
    gap:8px;
    margin-left:auto;
    margin-right:auto;
  }
}
.fofn-cat-plush{
  display:block;
  min-height:190px;
}
