/* Gnômades — mascote 2.5D (protótipo) */
.gm{position:absolute;left:0;bottom:0;width:0;height:var(--gm-h,220px);will-change:transform;pointer-events:none}
.gm-depth{position:absolute;inset:0;transform-origin:0 100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.gm.is-peek .gm-depth{transform:rotate(-11deg)}
.gm-bob{position:absolute;inset:0;transform-origin:0 100%}
.gm-turn{position:absolute;inset:0;transform-origin:0 100%;transition:transform .13s ease-in}
.gm-turn.is-turning{transform:scaleX(.04)}
.gm img{position:absolute;left:0;bottom:0;height:100%;width:auto;max-width:none;transform:translateX(calc(var(--anchor,.5) * -100%));pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 2px rgba(60,35,15,.18))}
.gm-shadow{position:absolute;left:0;bottom:calc(var(--gm-h) * -.025);width:calc(var(--gm-h) * .4);height:calc(var(--gm-h) * .07);transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(60,38,18,.34),rgba(60,38,18,0))}

.gm-bob[data-mode="idle"]{animation:gm-breathe 3.4s ease-in-out infinite}
.gm-bob[data-mode="walk"]{animation:gm-step .5s linear infinite}
.gm[data-mode="walk"] .gm-shadow{animation:gm-shadow-step .5s linear infinite}
.gm-bob.is-hop{animation:gm-hop .62s cubic-bezier(.3,.7,.4,1)}

@keyframes gm-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(.993,1.014)}}
@keyframes gm-step{
  0%,100%{transform:translateY(0) rotate(-2.4deg)}
  25%{transform:translateY(calc(var(--gm-h) * -.032)) rotate(0)}
  50%{transform:translateY(0) rotate(2.4deg)}
  75%{transform:translateY(calc(var(--gm-h) * -.032)) rotate(0)}
}
@keyframes gm-shadow-step{0%,50%,100%{transform:translateX(-50%) scale(1)}25%,75%{transform:translateX(-50%) scale(.84);opacity:.75}}
@keyframes gm-hop{
  0%{transform:scale(1.05,.94)}
  35%{transform:translateY(calc(var(--gm-h) * -.11)) scale(.96,1.05)}
  65%{transform:translateY(0) scale(1.06,.93)}
  100%{transform:scale(1,1)}
}

.gm-bubble{position:absolute;bottom:calc(var(--gm-h) * .8);width:max-content;max-width:min(250px,56vw);padding:12px 15px 13px;background:#FFFDF7;color:#4F1C04;border:1px solid #DCCFB8;border-radius:16px;box-shadow:0 10px 28px rgba(79,28,4,.14);font:italic 16px/1.38 Georgia,"Times New Roman",serif;pointer-events:auto;text-wrap:pretty}
.gm-bubble p{margin:0}
.gm-bubble[data-side="left"]{right:calc(var(--gm-h) * .14);transform-origin:100% 100%}
.gm-bubble[data-side="right"]{left:calc(var(--gm-h) * .14);transform-origin:0 100%}
.gm-bubble::after{content:"";position:absolute;bottom:-7px;width:12px;height:12px;background:inherit;border:inherit;border-top:0;border-left:0;transform:rotate(45deg)}
.gm-bubble[data-side="left"]::after{right:22px}
.gm-bubble[data-side="right"]::after{left:22px;transform:rotate(45deg)}
.gm-bubble.is-in{animation:gm-pop .34s cubic-bezier(.3,1.45,.5,1)}
@keyframes gm-pop{from{opacity:0;transform:translateY(8px) scale(.82)}to{opacity:1;transform:none}}
.gm-cta{display:inline-block;margin-top:9px;padding:7px 12px;border-radius:8px;background:#5E7255;color:#fff;font:600 13px/1.2 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-style:normal;text-decoration:none}
.gm-cta:hover{background:#4F6247}
.gm-cta:focus-visible,.gm img:focus-visible{outline:2px solid #C49A70;outline-offset:3px}

/* palco fixo para as aparições ao rolar a página */
.gm-stage{position:fixed;left:0;right:0;bottom:env(safe-area-inset-bottom,0px);height:calc(var(--gm-walk-h,190px) + 150px);overflow:hidden;pointer-events:none;z-index:60}
.gm-stage .gm{bottom:10px}

@media (prefers-reduced-motion: reduce){
  .gm-bob[data-mode],.gm-bob.is-hop,.gm[data-mode] .gm-shadow,.gm-bubble.is-in{animation:none}
  .gm-turn,.gm-depth{transition:none}
}

/* Hero do site (section.gn-abertura) */
.gm-hero-stage{position:absolute;inset:0;z-index:2;pointer-events:none}
.gm-hero-stage .gm{bottom:clamp(20px,6vh,64px)}
@media (max-width:1023px){.gm-hero-stage{inset:0 0 auto 0;height:46%}.gm-hero-stage .gm{bottom:0}}
.gm-stage{transition:opacity .3s}
.gm-stage.is-off{opacity:0}
@media (min-width:1024px){
.gm-hero-stage .gm-bubble{bottom:calc(var(--gm-h) * 1.02)}
.gm-hero-stage .gm-bubble[data-side="left"]{right:calc(var(--gm-h) * -.12)}
.gm-hero-stage .gm-bubble[data-side="left"]::after{right:calc(var(--gm-h) * .2)}
}
@media (max-width:719px){.gm-hero-stage{height:30%}.gm-hero-stage .gm-bubble{bottom:calc(var(--gm-h) * .3)}}
.gm-bubble[data-side="top"]{left:-105px;max-width:210px;bottom:calc(var(--gm-h) * 1.0);transform-origin:50% 100%}
.gm-bubble[data-side="top"]::after{left:97px}
@media (max-width:1023px){body:has(.gn-barra-fixa.is-visivel) .gm-stage{bottom:calc(env(safe-area-inset-bottom,0px) + 72px)}}
.gm-stage{transition:opacity .3s,bottom .3s}
