/* Detailed Earth — sistema de movimento (fase 4).
   Assinatura: a linha de contorno — limites de talhão e curvas de nível que se desenham.
   Regras: um momento orquestrado por página; o resto do movimento só responde à ação da pessoa.
   prefers-reduced-motion desliga tudo. */
:root{
 --de-ease:cubic-bezier(.22,1,.36,1);
 --de-ease-in:cubic-bezier(.55,0,.75,.2);
 --de-spring:cubic-bezier(.34,1.45,.64,1);
 --de-fast:160ms;--de-mid:320ms;--de-slow:720ms;
 --de-contour-light:url('/assets/motion/contour-light.svg');
 --de-contour-dark:url('/assets/motion/contour-dark.svg');
}

/* Transição suave entre páginas do próprio site (navegadores que suportam) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:de-vt-out 220ms var(--de-ease-in) both}
::view-transition-new(root){animation:de-vt-in 380ms var(--de-ease) both}
@keyframes de-vt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes de-vt-in{from{opacity:0;transform:translateY(8px)}}
.portal-header,.site-header{view-transition-name:de-header}
::view-transition-group(de-header){animation-duration:0s}

/* Botões: resposta tátil ao toque/clique */
.de-press{transition:transform var(--de-fast) var(--de-ease)}
.de-press:active{transform:scale(.97)}

/* Indicador deslizante de navegação (barras laterais) */
.de-indicator{position:absolute;left:0;right:0;z-index:0;border-radius:12px;background:var(--ui-soft,#f1f3ec);pointer-events:none;transition:transform var(--de-mid) var(--de-ease),height var(--de-mid) var(--de-ease),width var(--de-mid) var(--de-ease),opacity var(--de-fast)}
.de-indicator::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:#719747}
.de-has-indicator{position:relative}
.de-has-indicator>button{position:relative;z-index:1}
.de-has-indicator>button[aria-current=page]{background:transparent!important}
.de-has-indicator>button[aria-current=page]::before,.de-has-indicator>button[aria-current=page]::after{}

/* Troca de seção/aba: entrada curta, só quando a pessoa troca */
.de-enter{animation:de-enter var(--de-mid) var(--de-ease) both}
@keyframes de-enter{from{opacity:0;transform:translateY(10px)}}

/* Curvas de nível desenhando (assinatura) */
.de-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:de-draw 1.6s var(--de-ease) forwards}
@keyframes de-draw{to{stroke-dashoffset:0}}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
@media(max-width:860px){.de-indicator{background:transparent}}
@media(max-width:860px){.de-indicator::before{left:12px;right:12px;top:auto;bottom:0;width:auto;height:3px}}
