/* ==========================================================================
   MELIORA FINANÇAS — PRELOADER (logo desenhada por dois lápis + cortina)
   Aparece só na 1ª visita da sessão. Lógica em preloader.js.
   ========================================================================== */

html.pl-ativo,
html.pl-ativo body { overflow: hidden; }

.preloader {
  --pl-verde: var(--color-brand-green-900, #1f4d3a);
  --pl-dourado: var(--color-brand-gold, #c9a464);
  --pl-fill: 1.6s; /* quando o preenchimento começa */

  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  place-items: center;
  background: var(--pl-verde);
  transition: transform 0.85s cubic-bezier(0.76, 0, 0.24, 1);
  will-change: transform;
}

html.pl-ativo .preloader { display: grid; }
.preloader.sobe { transform: translateY(-100%); }

.preloader svg {
  width: min(86vw, 900px);
  height: auto;
  overflow: visible;
  animation: pl-brilho 1.1s ease-in-out calc(var(--pl-fill) + 0.2s) both;
}

/* Cada forma se desenha (traço) e depois preenche em dourado */
.preloader path {
  fill: var(--pl-dourado);
  fill-opacity: 0;
  stroke: var(--pl-dourado);
  stroke-linejoin: miter;
  stroke-linecap: butt;
  stroke-dasharray: 1 1;
  stroke-dashoffset: 1;
  animation:
    pl-desenha var(--pl-dur) cubic-bezier(0.65, 0, 0.35, 1) var(--pl-atraso) forwards,
    pl-preenche 0.5s ease var(--pl-fill) forwards;
}

/* Dois lápis: esquerda e direita ao mesmo tempo; asas primeiro, letras logo depois */
.preloader .asa   { --pl-dur: 0.9s; --pl-atraso: 0s;  stroke-width: 3.4px; }
.preloader .letra { --pl-dur: 1.3s; --pl-atraso: 0.4s; stroke-width: 5.2px; }

@keyframes pl-desenha  { to { stroke-dashoffset: 0; } }
@keyframes pl-preenche { to { fill-opacity: 1; stroke-width: 0; } }

/* Pulso de luz dourada quando a logo fica completa */
@keyframes pl-brilho {
  0%   { filter: drop-shadow(0 0 0 rgba(201, 164, 100, 0));       transform: scale(1); }
  45%  { filter: drop-shadow(0 0 26px rgba(232, 200, 140, 0.75)); transform: scale(1.025); }
  100% { filter: drop-shadow(0 0 0 rgba(201, 164, 100, 0));       transform: scale(1); }
}

/* Reduzir movimento: logo já pronta e só um fade curto */
@media (prefers-reduced-motion: reduce) {
  .preloader path { stroke-dashoffset: 0; animation: none; fill-opacity: 1; stroke-width: 0; }
  .preloader svg { animation: none; }
  .preloader { transition: opacity 0.4s ease; }
  .preloader.sobe { transform: none; opacity: 0; pointer-events: none; }
}
