/* The hero keeps its offer and demo; the assistant lives outside its grid. */
html.has-floating-mascot body .hero-bento .hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}
html.has-floating-mascot body .hero-bento .hero-left{grid-column:1;grid-row:1}
html.has-floating-mascot body .hero-bento .speed-panel{grid-column:2;grid-row:1;max-width:none;width:auto;display:flex}
#floating-mascot{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:116px;height:160px;z-index:80;pointer-events:none}
#floating-mascot .mascot-stage{all:unset;display:block;position:absolute;inset:0;cursor:pointer;pointer-events:auto;color:#f5eadd}
#floating-mascot .mascot-stage::before,#floating-mascot .mascot-stage::after,#floating-mascot .mascot-label{display:none}
#floating-mascot .mascot-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:none;filter:drop-shadow(0 8px 10px #0005);animation:mascot-hover 4.5s ease-in-out infinite}
#floating-mascot .mascot-speech{position:absolute;inset:auto 96px 66px auto;width:230px;height:auto;padding:16px 30px 16px 18px;border:1px solid #a86635;border-radius:18px 18px 4px 18px;background:#201a15f5;box-shadow:0 8px 28px #0004;font:500 14px/1.5 Manrope,Arial,sans-serif;text-align:left;color:#f5eadd}
#floating-mascot .mascot-speech::before,#floating-mascot .mascot-speech::after{display:none}
#floating-mascot #mascot-quote{position:static;display:block;inset:auto;padding:0;width:auto;height:auto}
#floating-mascot .mascot-toggle{position:absolute;right:101px;bottom:70px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#ddbaa0;font:22px/1 Arial,sans-serif;cursor:pointer;pointer-events:auto}
#floating-mascot.is-quiet .mascot-speech{display:none}
#floating-mascot .mascot-toggle{z-index:3}
#floating-mascot.is-quiet .mascot-toggle{right:85px;bottom:105px;background:#201a15;border:1px solid #a86635}
#floating-mascot button:focus-visible{outline:2px solid #ff994e;outline-offset:4px;border-radius:18px}
#floating-mascot:has(button:hover) .mascot-portrait,#floating-mascot:focus-within .mascot-portrait{animation-play-state:paused}
body:has(#quiz:not([hidden])) #floating-mascot,body:has(.analytics-consent:not([hidden])) #floating-mascot{visibility:hidden;pointer-events:none}
@keyframes mascot-hover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:780px){
  html.has-floating-mascot body .hero-bento .hero-grid{grid-template-columns:minmax(0,1fr)}
  html.has-floating-mascot body .hero-bento .hero-left{grid-column:1;grid-row:1}
  html.has-floating-mascot body .hero-bento .speed-panel{grid-column:1;grid-row:2}
  #floating-mascot{right:max(8px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:76px;height:105px}
  #floating-mascot .mascot-speech{right:66px;bottom:40px;width:min(218px,calc(100vw - 102px));padding:12px 32px 12px 14px;font-size:12px}
  #floating-mascot .mascot-toggle{right:66px;bottom:43px;width:32px;height:32px}
  #floating-mascot.is-quiet .mascot-toggle{right:55px;bottom:66px}
}
@media(prefers-reduced-motion:reduce){#floating-mascot .mascot-portrait{animation:none}}
