/* SejaV+ — Painel de Benefícios animado (homepage + portal). Acento via --bnf-accent. Motion nativo, respeita reduced-motion. */
.bnf{--bnf-accent:#1aa24c;--bnf-accent-2:#0c7a45;position:relative;isolation:isolate}
.bnf__head{text-align:center;max-width:62ch;margin:0 auto 30px}
.bnf__eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--bnf-accent)}
.bnf__title{font-size:clamp(23px,3.3vw,36px);margin:8px 0 0;line-height:1.12;letter-spacing:-.01em}
.bnf__sub{color:var(--slate);font-size:15px;margin:12px 0 0;line-height:1.55}

/* contadores */
.bnf__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 auto 28px;max-width:820px}
.bnf__stat{flex:1;min-width:138px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 14px;box-shadow:none;position:relative;overflow:hidden;
  opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.bnf.in .bnf__stat{opacity:1;transform:none}
.bnf.in .bnf__stat:nth-child(2){transition-delay:.06s}.bnf.in .bnf__stat:nth-child(3){transition-delay:.12s}.bnf.in .bnf__stat:nth-child(4){transition-delay:.18s}
.bnf__stat b{display:block;font-family:"BloggerSans","Inter",system-ui,sans-serif;font-weight:900;font-size:clamp(26px,3.4vw,34px);line-height:1;font-variant-numeric:tabular-nums;
  background:linear-gradient(120deg,var(--bnf-accent),var(--bnf-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.bnf__stat span{display:block;font-size:12.5px;color:var(--slate);margin-top:6px}

/* grid de cards */
.bnf__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(218px,1fr));gap:16px}
.bnf__card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;box-shadow:none;position:relative;overflow:hidden;
  opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .58s cubic-bezier(.2,.7,.2,1),box-shadow .2s,border-color .2s}
.bnf.in .bnf__card{opacity:1;transform:none;transition-delay:calc(var(--i,0)*70ms + .12s)}
.bnf__card:hover{box-shadow:var(--shadow-xs);border-color:var(--line-2)}
.bnf__card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 80% at 100% 0,color-mix(in srgb,var(--bnf-accent) 9%,transparent),transparent 58%)}
.bnf__ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;color:#fff;position:relative;z-index:1;margin-bottom:14px;
  background:linear-gradient(135deg,var(--bnf-accent),var(--bnf-accent-2));box-shadow:0 7px 18px color-mix(in srgb,var(--bnf-accent) 34%,transparent)}
.bnf__card h3{font-size:16px;margin:0 0 6px;letter-spacing:-.01em}
.bnf__card p{font-size:13.5px;color:var(--slate);line-height:1.5;margin:0}

/* brilho ambiente */
.bnf__glow{position:absolute;width:440px;height:440px;border-radius:50%;filter:blur(64px);opacity:.15;pointer-events:none;z-index:-1;
  background:radial-gradient(circle,var(--bnf-accent),transparent 70%);animation:bnfDrift 17s ease-in-out infinite}
.bnf__glow.g2{right:-60px;bottom:-80px;background:radial-gradient(circle,var(--red),transparent 70%);opacity:.09;animation-duration:23s;animation-direction:reverse}

/* ===== micro-animações dos ícones ===== */
.bnf-spin{transform-origin:24px 24px;animation:bnfSpin 16s linear infinite}
@keyframes bnfSpin{to{transform:rotate(360deg)}}
.bnf-pulse{transform-origin:24px 24px;animation:bnfPulse 2.2s ease-in-out infinite}
@keyframes bnfPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
.bnf-bob{animation:bnfBob 2.4s ease-in-out infinite}
.bnf-bob.b2{animation-delay:.3s}.bnf-bob.b3{animation-delay:.6s}
@keyframes bnfBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.6px)}}
.bnf-twinkle{transform-origin:24px 24px;animation:bnfTwinkle 2.6s ease-in-out infinite}
@keyframes bnfTwinkle{0%,100%{opacity:.6;transform:scale(.9) rotate(0)}50%{opacity:1;transform:scale(1.08) rotate(8deg)}}
.bnf-shimmer{animation:bnfShimmer 3s ease-in-out infinite}
@keyframes bnfShimmer{0%{transform:translateX(-13px);opacity:0}45%{opacity:1}100%{transform:translateX(13px);opacity:0}}
.bnf-grow{transform-origin:center bottom;animation:bnfGrow 2.4s ease-in-out infinite}
.bnf-grow.b2{animation-delay:.22s}.bnf-grow.b3{animation-delay:.44s}
@keyframes bnfGrow{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}

@media (prefers-reduced-motion:reduce){
  .bnf__card,.bnf__stat{opacity:1!important;transform:none!important;transition:none}
  .bnf-spin,.bnf-pulse,.bnf-bob,.bnf-twinkle,.bnf-shimmer,.bnf-grow,.bnf__glow{animation:none}
}
