/* Efeitos da home: icones, entradas suaves e pistas de navegacao.
   Toda animacao fica dentro de prefers-reduced-motion: no-preference e respeita o botao "Pausar animacoes". */
.fx-i,.sala-ic svg,.card-ic svg,.st-ic svg,.kpi-ic,.num-ic,.cred svg,.next-cue svg,.fx-float svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fx-i{width:1.2em;height:1.2em;flex:none}
.hero .btn,.contact .btn,.lib-hook .btn,.btns2 .btn{display:inline-flex;align-items:center;gap:8px}

/* selo de credenciais no topo */
.cred{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.cred li{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--blue);font-weight:700;font-size:15px;line-height:1.2;padding:9px 16px 9px 11px;border-radius:99px;border:2px solid #FFD43B;box-shadow:0 3px 14px rgba(0,0,0,.22)}
.cred svg{width:22px;height:22px;flex:none;color:#11701b}

/* icones em blocos */
.sala-ic,.card-ic{display:inline-flex;align-self:flex-start;width:48px;height:48px;border-radius:12px;align-items:center;justify-content:center;margin-bottom:12px;transition:background .25s,color .25s,transform .25s}
.sala-ic{background:#E6F4E8;color:#11701b}
.card-ic{background:#E6EEFB;color:var(--blue2)}
.sala-ic svg,.card-ic svg{width:26px;height:26px}
.sala,.card{transition:transform .2s,box-shadow .2s,border-color .2s}
.sala:hover,.sala:focus-within{box-shadow:0 10px 24px rgba(12,50,111,.14);border-top-color:var(--blue2)}
.sala:hover .sala-ic,.sala:focus-within .sala-ic{background:#11701b;color:#fff}
#servicos .card:hover{box-shadow:0 10px 24px rgba(12,50,111,.14)}
#servicos .card:hover .card-ic{background:var(--blue2);color:#fff}
.steps li{position:relative}
.st-ic{position:absolute;top:16px;right:14px;color:var(--blue2)}
.st-ic svg{width:26px;height:26px}
.kpi{position:relative}
.kpi-ic{position:absolute;top:14px;right:14px;width:26px;height:26px;color:var(--blue2)}
.kpi .kpi-l{padding-right:34px}
.num-ic{display:block;margin:0 auto 6px;width:28px;height:28px;color:var(--blue2)}
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#168821;margin-right:10px;vertical-align:middle}

/* pistas de navegacao entre secoes */
.next-cue{margin:28px 0 0;text-align:center}
.next-cue a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue2);text-decoration:none;padding:10px 18px;border-radius:99px;border:1px solid var(--line);background:#fff;transition:background .2s,border-color .2s}
.next-cue a:hover{border-color:var(--blue2);background:#EEF3FC}
.next-cue a:focus-visible,.fx-float:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.next-cue svg{width:18px;height:18px;flex:none}

/* barra de progresso e botao flutuante */
.fx-prog{position:fixed;top:0;left:0;right:0;height:4px;z-index:60;pointer-events:none}
.fx-prog i{display:block;height:100%;background:linear-gradient(90deg,#FFD43B,#168821);transform-origin:left;transform:scaleX(var(--p,0))}
.fx-float{position:fixed;left:16px;bottom:16px;z-index:40;display:inline-flex;align-items:center;gap:8px;background:#168821;color:#fff;font-weight:700;font-size:16px;text-decoration:none;padding:12px 18px;border-radius:99px;box-shadow:0 6px 20px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
.fx-float svg{width:20px;height:20px}
.fx-float.on{opacity:1;visibility:visible;transform:none}
.fx-float:hover{background:#11701b}

.fx-r{opacity:0}
.fx-r.in{opacity:1}

@media (prefers-reduced-motion:no-preference){
  /* entrada do topo */
  .hero .eyebrow{animation:fxUp .6s both}
  .hero h1{animation:fxUp .6s .08s both}
  .hero .lead{animation:fxUp .6s .16s both}
  .hero .btns{animation:fxUp .6s .24s both}
  .hero .cred li{animation:fxUp .6s both}
  .hero .cred li:nth-child(1){animation-delay:.34s}.hero .cred li:nth-child(2){animation-delay:.42s}.hero .cred li:nth-child(3){animation-delay:.5s}
  .hero .cred li::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,212,59,.55),transparent);animation:fxShine 1.4s 1.1s 1 both}
  .hero-photo{animation:fxPhoto .9s .15s both}
  .hero .btn-primary:first-child{animation:fxRing 2.4s 1.6s 3}
  .contact .btn-wa{animation:fxRing 2.4s 1s 3}
  /* entrada ao rolar */
  .fx-r.in{animation:fxUp .6s calc(var(--i,0)*70ms) backwards}
  /* vida nos icones */
  .live-dot{animation:fxLive 1.8s infinite}
  .next-cue svg{animation:fxBob 1.6s ease-in-out infinite}
  .sala:hover,.sala:focus-within,#servicos .card:hover{transform:translateY(-4px)}
  .sala:hover .sala-ic,.sala:focus-within .sala-ic,#servicos .card:hover .card-ic{transform:rotate(-6deg) scale(1.08)}
  .kpi:hover .kpi-ic{animation:fxBob 1s ease-in-out 2}
  .lib-covers li{transition:transform .25s}
  .lib-covers li:hover{transform:translateY(-6px) rotate(-1.5deg)}
  .btn .fx-i{transition:transform .2s}
  .btn:hover .fx-i{transform:translateX(3px)}
  body.paused .live-dot,body.paused .next-cue svg,body.paused .btn-primary,body.paused .btn-wa{animation:none}
}
@keyframes fxUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fxPhoto{from{opacity:0;transform:translateX(30px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fxShine{from{left:-60%}to{left:130%}}
@keyframes fxRing{0%{box-shadow:0 0 0 0 rgba(255,212,59,.7)}70%,100%{box-shadow:0 0 0 14px rgba(255,212,59,0)}}
@keyframes fxLive{0%{box-shadow:0 0 0 0 rgba(22,136,33,.55)}70%,100%{box-shadow:0 0 0 9px rgba(22,136,33,0)}}
@keyframes fxBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (max-width:560px){.fx-float{left:12px;bottom:12px;padding:11px 16px}.cred li{font-size:14px}}
