/* Worumi — fundações partilhadas pelo painel e pela galeria do cliente. */
:root{
  --bg:#f5f5f7;--panel:#fff;--text:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;
  --blue:#0071e3;--green:#30d158;--amber:#ff9f0a;--red:#d13438;
  --shadow:0 16px 44px rgba(0,0,0,.07);
  --ease:cubic-bezier(.32,.72,0,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);
  font:15px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,Arial,sans-serif;
  overflow-x:hidden;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,video{max-width:100%}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.accent-i{position:relative;display:inline-block}
.accent-i::after{content:"•";position:absolute;left:50%;top:-.42em;transform:translateX(-50%);color:var(--blue);font-size:.95em}

.w-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#111;color:#fff;
  padding:11px 16px;border-radius:999px;font-size:12.5px;opacity:0;pointer-events:none;
  transition:.24s var(--ease);z-index:900;max-width:calc(100% - 32px);text-align:center}
.w-toast.show{opacity:1;transform:translate(-50%,0)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ================================================================== */
/* MOVIMENTO — revelações ao scroll, barras, progresso                 */
/* ================================================================== */
/* Estado inicial só é aplicado quando o JS assume o elemento (.watch),
   para que sem JS nada fique invisível. */
[data-reveal].watch{opacity:0;transform:translateY(16px)}
[data-reveal].watch.in{opacity:1;transform:none;
  transition:opacity .62s cubic-bezier(.22,.61,.36,1) var(--d,0ms),
             transform .72s cubic-bezier(.22,.61,.36,1) var(--d,0ms)}

/* variantes */
[data-reveal="zoom"].watch{opacity:0;transform:translateY(18px) scale(.965)}
[data-reveal="zoom"].watch.in{opacity:1;transform:none}
[data-reveal="left"].watch{opacity:0;transform:translateX(-20px)}
[data-reveal="left"].watch.in{opacity:1;transform:none}
[data-reveal="rise"].watch{opacity:0;transform:translateY(34px)}
[data-reveal="rise"].watch.in{opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.22,.61,.36,1) var(--d,0ms),
             transform .86s cubic-bezier(.18,.72,.24,1) var(--d,0ms)}
/* título que sobe por baixo de uma máscara */
[data-reveal="mask"]{overflow:hidden;padding-bottom:.08em}
[data-reveal="mask"].watch>*{display:block;transform:translateY(105%)}
[data-reveal="mask"].watch.in>*{transform:none;transition:transform .9s cubic-bezier(.16,.78,.22,1) var(--d,0ms)}

/* barras que enchem quando entram no ecrã */
[data-fill]{width:0!important}
[data-fill].watch.in,[data-fill].in{width:var(--w,0%)!important;
  transition:width .95s cubic-bezier(.22,.61,.36,1) var(--d,0ms)}
/* barras de gráfico que crescem a partir da base */
[data-grow].watch{transform:scaleY(0);transform-origin:bottom}
[data-grow].watch.in{transform:none;transition:transform .8s cubic-bezier(.2,.7,.25,1) var(--d,0ms)}

.w-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:800;pointer-events:none}
.w-progress i{display:block;height:100%;background:#111;transform:scaleX(0);transform-origin:0 50%}

@media(prefers-reduced-motion:reduce){
  [data-reveal].watch,[data-reveal].watch.in,[data-reveal="mask"].watch>*{opacity:1!important;transform:none!important}
  [data-fill]{width:var(--w,0%)!important}
  [data-grow].watch{transform:none!important}
  .w-progress{display:none}
}

/* logótipo "i" (bola azul + haste) · claro e escuro */
:root{--li-a:#4a4d58;--li-b:#15161a;--li-c:#08090b}
:root[data-theme=dark]{--li-a:#ffffff;--li-b:#c9d0de;--li-c:#8790a5}
.logo-i{display:inline-block;height:.98em;width:.325em;margin-left:.045em;vertical-align:-.03em;line-height:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.logo-i svg{display:block;height:100%;width:100%;overflow:visible}
:root[data-theme=dark] .logo-i svg{filter:drop-shadow(0 0 .22em rgb(10 132 255/.55))}
.brand:hover .logo-i{transform:translateY(-.06em) rotate(-4deg)}
@media(prefers-reduced-motion:reduce){.logo-i{transition:none}}
