/* SEPEC — Loader premium com montagem da marca oficial */
.sepec-loader{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:#fbfdff;transition:opacity .82s var(--ease),visibility .82s linear;overflow:hidden
}
.sepec-loader::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(34rem 26rem at 24% 22%,rgba(87,165,45,.1),transparent 68%),
    radial-gradient(38rem 28rem at 78% 26%,rgba(20,109,204,.1),transparent 70%),
    radial-gradient(30rem 24rem at 62% 84%,rgba(240,100,24,.08),transparent 72%)
}
.sepec-loader.oculto{opacity:0;visibility:hidden;pointer-events:none}
body.carregando{overflow:hidden}
.sl-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sl-bg::before,.sl-bg::after{content:"";position:absolute;inset:-30%;background-image:linear-gradient(rgba(8,41,86,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,41,86,.055) 1px,transparent 1px);background-size:44px 44px;transform:perspective(700px) rotateX(62deg) scale(1.2);transform-origin:center 72%;opacity:.5}
.sl-bg::after{background-size:88px 88px;opacity:.16;animation:slGrade 12s linear infinite}
.sl-ray{position:absolute;left:50%;top:50%;width:420px;height:420px;border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgba(20,109,204,.1);box-shadow:0 0 0 46px rgba(87,165,45,.025),0 0 0 92px rgba(240,100,24,.018);animation:slPulso 4.8s ease-in-out infinite}
.sl-core{position:relative;text-align:center;z-index:1;min-width:min(88vw,360px)}
.sl-logo{position:relative;width:176px;height:176px;margin:0 auto 1.35rem;perspective:800px}
.sl-logo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(8,41,86,.16));transition:opacity .35s ease;animation:slFlutua 4.8s ease-in-out infinite}
.sl-logo.sl-pronta>img{opacity:0}
.sl-partes{position:absolute;inset:0;display:block;filter:drop-shadow(0 18px 28px rgba(8,41,86,.16));animation:slFlutua 4.8s ease-in-out infinite}
.sl-partes img{position:absolute;max-width:none;transform:translate3d(var(--sl-x,0),var(--sl-y,0),0) rotate(var(--sl-r,0deg)) scale(var(--sl-s,1));transform-origin:center;transition:transform .8s cubic-bezier(.22,1,.36,1);will-change:transform}
.sl-orbit{position:absolute;inset:-10px;border-radius:50%;border:1px solid transparent;pointer-events:none}
.sl-o1{border-top-color:rgba(87,165,45,.7);border-right-color:rgba(20,109,204,.45);animation:slOrbit 4.6s linear infinite}
.sl-o2{inset:-21px;border-bottom-color:rgba(240,100,24,.65);border-left-color:rgba(244,183,24,.5);animation:slOrbit 6.8s linear infinite reverse}
.sl-word{display:flex;justify-content:center;gap:.08em;font-family:var(--disp);font-weight:800;font-size:2.35rem;letter-spacing:.075em;color:var(--tinta)}
.sl-word span{opacity:0;transform:translateY(14px);animation:slLetra .62s var(--ease) forwards}
.sl-word span:nth-child(1){animation-delay:.12s;color:var(--verde)}
.sl-word span:nth-child(2){animation-delay:.2s;color:var(--azul)}
.sl-word span:nth-child(3){animation-delay:.28s;color:var(--tinta)}
.sl-word span:nth-child(4){animation-delay:.36s;color:var(--laranja)}
.sl-word span:nth-child(5){animation-delay:.44s;color:var(--amarelo)}
.sl-bar{width:250px;max-width:68vw;height:5px;background:rgba(8,41,86,.075);border-radius:99px;margin:1.25rem auto .75rem;overflow:hidden}
.sl-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--verde) 0 25%,var(--azul) 25% 50%,var(--laranja) 50% 75%,var(--amarelo) 75%);transition:width .3s var(--ease)}
.sl-meta{display:flex;align-items:center;justify-content:space-between;width:250px;max-width:68vw;margin:0 auto;font-family:var(--mono);font-size:.62rem;letter-spacing:.045em;color:var(--cinza)}
.sl-meta b{color:var(--tinta)}
@keyframes slGrade{to{transform:perspective(700px) rotateX(62deg) translateY(44px) scale(1.2)}}
@keyframes slPulso{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}}
@keyframes slOrbit{to{transform:rotate(360deg)}}
@keyframes slFlutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes slLetra{to{opacity:1;transform:none}}
@media(max-width:430px){.sl-logo{width:148px;height:148px}.sl-word{font-size:2rem}.sl-meta span{max-width:190px;text-align:left}}
@media(prefers-reduced-motion:reduce){.sl-bg::after,.sl-ray,.sl-logo>img,.sl-partes,.sl-orbit,.sl-word span{animation:none}.sl-word span{opacity:1;transform:none}.sl-logo>img{opacity:1!important}}
