
.wsne.wsne{padding:0;color:var(--t);position:relative;overflow:hidden;background:var(--f);background:var(--fx,var(--f))}
.wsne-in{position:relative;z-index:1;max-width:760px;margin:clamp(40px,7vh,80px) auto;padding:clamp(44px,7vh,80px) clamp(24px,5vw,60px);text-align:center;border:1px solid var(--borda)}
/* cantinhos reforcados na moldura, jeito de convite */
.wsne-in::before,.wsne-in::after{content:'';position:absolute;width:26px;height:26px;border:1.5px solid var(--a)}
.wsne-in::before{left:-1px;top:-1px;border-right:0;border-bottom:0}
.wsne-in::after{right:-1px;bottom:-1px;border-left:0;border-top:0}
.wsne-tag{font-size:11px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--suave);margin:0}
.wsne-orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 0;color:var(--a)}
.wsne-orn::before,.wsne-orn::after{content:'';height:1px;width:60px;background:currentColor;opacity:.6}
.wsne-orn span{width:8px;height:8px;background:currentColor;transform:rotate(45deg)}
.wsne-tit{font-family:'Great Vibes', cursive;font-weight:400;font-size:clamp(44px,8vw,86px);line-height:1;margin:14px 0 0;color:var(--t)}
.wsne-sub{font-family:'Cormorant Garamond', Georgia, serif;font-weight:400;font-size:clamp(13px,2vw,16px);letter-spacing:.16em;text-transform:uppercase;margin:14px 0 0;color:var(--suave)}
.wsne-frase{margin:18px auto 0;font-size:15.5px;line-height:1.8;color:var(--suave);max-width:460px}
.wsne-hora{margin:16px 0 0;font-size:12.5px;letter-spacing:.06em;color:var(--suave)}
.wsne-onde{margin:6px 0 0;font-size:12px;color:var(--suave)}
.wsne-acoes{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}
@media(max-width:860px){
  .wsne-in{margin:24px 16px;padding:40px 20px}
  .wsne-orn::before,.wsne-orn::after{width:40px}
  .wsne-b{width:100%;text-align:center}
}

.wsne-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.wsne-b{position:relative;overflow:hidden;display:inline-block;text-decoration:none;border:1px solid var(--borda);color:var(--t);border-radius:999px;padding:12px 22px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:border-color .3s,color .3s}
.wsne-b span{position:relative;z-index:1}
.wsne-b::before{content:'';position:absolute;inset:0;background:var(--a);transform:translateX(-101%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.wsne-b:hover::before{transform:translateX(0)}
.wsne-b:hover{color:var(--f);border-color:var(--a)}
.wsne-b1{background:var(--a);border-color:var(--a);color:var(--f)}
.wsne-b1::before{background:var(--t);opacity:.16}
.wsne-b1:hover{color:var(--f)}
@media(prefers-reduced-motion:reduce){.wsne-b::before{transition:none}}
.wsne .ws-bt{position:relative;overflow:hidden;isolation:isolate}
/* o brilho que atravessa o botao */
.wsne .ws-bt::after{content:'';position:absolute;top:0;bottom:0;width:38%;z-index:2;left:-45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-18deg);opacity:0;pointer-events:none}
.wsne .ws-bt:hover::after{opacity:1;animation:wsne-brilho .85s ease}
@keyframes wsne-brilho{from{left:-45%}to{left:115%}}
/* halo suave: cresce no hover, sem empurrar o layout */
.wsne .ws-bt{box-shadow:0 0 0 0 rgba(0,0,0,0);transition:box-shadow .45s ease,transform .25s ease,border-color .3s,color .3s}
.wsne .ws-bt:hover{box-shadow:0 10px 30px -12px var(--a)}
.wsne .ws-bt:active{transform:translateY(1px) scale(.985)}
@media(prefers-reduced-motion:reduce){
.wsne .ws-bt::after{display:none}
.wsne .ws-bt,.wsne .ws-bt:hover,.wsne .ws-bt:active{transition:none;transform:none;box-shadow:none;animation:none}
}

.wsne .wsne-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.wsne .wsne-bolha{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.wsne .wsne-bol1{width:52%;padding-bottom:52%;left:-12%;top:-18%;background:var(--a);animation:wsne-passeia1 26s ease-in-out infinite}
.wsne .wsne-bol2{width:46%;padding-bottom:46%;right:-10%;top:8%;background:var(--a);opacity:.34;animation:wsne-passeia2 32s ease-in-out infinite}
.wsne .wsne-bol3{width:40%;padding-bottom:40%;left:28%;bottom:-22%;background:var(--t);opacity:.12;animation:wsne-passeia1 38s ease-in-out infinite reverse}
@keyframes wsne-passeia1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(9%,7%) scale(1.12)}}
@keyframes wsne-passeia2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-8%,10%) scale(.9)}}
@media(prefers-reduced-motion:reduce){.wsne .wsne-bolha{animation:none}}

/* o mesmo chão da prévia: ela roda num documento com box-sizing:border-box em
   tudo. Num tema sem esse reset, padding e borda mediam diferente no publicado
   (botão de largura cheia estourando no celular, caixa interna mais larga). */
.wsne,.wsne *,.wsne *::before,.wsne *::after{box-sizing:border-box}
.wsne a[href],.wsne button{-webkit-tap-highlight-color:transparent}
.wsne a[href]:active,.wsne button:active{transform:scale(.97)}
.wsne .ws-bt{position:relative;overflow:hidden;isolation:isolate}
.wsne .ws-bt>span{position:relative;z-index:1}
/* z-index negativo DENTRO do isolate: fica atrás do texto sem precisar que o
   texto esteja num <span> — vários CTAs são <a>texto</a> puro. */
.wsne .ws-bt::after{content:'';position:absolute;inset:0;z-index:-1;background:var(--t);opacity:0;transition:opacity .35s}
.wsne .ws-bt:hover::after{opacity:.14}
/* Esconde SÓ quando o JavaScript confirmou que está vivo (classe ws-js, posta
   pelo próprio script do bloco, antes da pintura). Sem isso o título nascia em
   opacity:0 e, se o JS falhasse, o texto do site sumia para o visitante — o
   teste pegou isso. Agora o padrão é visível, e a animação é o extra. */
.wsne.ws-js .ws-tit{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.wsne.ws-js.ws-vis .ws-tit{opacity:1;transform:none}
.wsne.ws-js.ws-vis .ws-tit:nth-of-type(2){transition-delay:.08s}
@media(prefers-reduced-motion:reduce){
.wsne a[href]:active,.wsne button:active{transform:none}
.wsne .ws-bt::after{transition:none}
.wsne.ws-js .ws-tit{opacity:1;transform:none;transition:none}
}
.dep .in.ws-cheio{max-width:none;margin:0;padding:0}
.dep section.ws-cheio-pai{padding:0}
.dep .in:has(> .wsne){max-width:none;margin:0;padding:0}
.dep section:has(> .in > .wsne){padding:0}
.wsne img.lazyload,.wsne img.lazyloading{width:100%!important;max-width:100%}
