/* ===== Estilo "landonorris": preloader, marquee, cursor, hover rolante, tilt, vaga-lumes ===== */
/* entrada do hero (após o preloader) */
.fx-on .hero__logo img,.fx-on .hero__content .text-medium{opacity:0;transform:translateY(60px) scale(.94);filter:blur(14px)}
html.go .hero__logo img{opacity:1;transform:none;filter:none;transition:opacity 1.4s .35s cubic-bezier(.16,1,.3,1),transform 1.6s .35s cubic-bezier(.16,1,.3,1),filter 1.4s .35s}
html.go .hero__content .text-medium{opacity:1;transform:none;filter:none;transition:opacity 1.2s .85s,transform 1.4s .85s cubic-bezier(.16,1,.3,1),filter 1.2s .85s}
.fx-on .hero__bg{transform:scale(1.18);transition:transform 3s cubic-bezier(.16,1,.3,1)}
html.go .hero__bg{transform:scale(1)}
.fx-on:not(.go) .nav{transform:translateY(-100%)}
html.go .nav{animation:navIn 1s .9s cubic-bezier(.16,1,.3,1) backwards}
@keyframes navIn{from{transform:translateY(-100%)}}

/* cursor customizado */
.cur,.cur-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:300;will-change:transform;opacity:0;transition:opacity .3s}
.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#f6d672}
.cur{width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1.5px solid rgba(246,214,114,.8);display:grid;place-items:center;font:700 10px/1 'Asap',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#07130f;transition:opacity .3s,width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),margin .35s cubic-bezier(.16,1,.3,1),background .3s}
.cur.on,.cur-dot.on{opacity:1}
.cur.big{width:92px;height:92px;margin:-46px 0 0 -46px;background:#f6d672;border-color:#f6d672}
.cur.link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(23,212,158,.22)}
.cur.down{width:30px;height:30px;margin:-15px 0 0 -15px}
@media (hover:hover) and (pointer:fine){.fx-cursor,.fx-cursor a,.fx-cursor button{cursor:none}}

/* links do menu com letras que rolam */
.fx-on .nav__links a{display:inline-block;overflow:hidden;vertical-align:top;position:relative}
.roll{display:inline-flex}
.roll b{font-weight:inherit;display:inline-block;position:relative;transition:transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i)*18ms)}
.roll b::after{content:attr(data-c);position:absolute;left:0;top:105%;color:var(--gold,#f6d672)}
a:hover .roll b,.btn:hover .roll b{transform:translateY(-105%)}

/* botões com preenchimento que varre */
.fx-on .btn{position:relative;overflow:hidden;isolation:isolate}
.fx-on .btn::before{content:"";position:absolute;inset:0;background:#f6d672;transform:translateY(101%);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:-1;border-radius:inherit}
.fx-on .btn--outline:hover,.fx-on .btn--ghost:hover{color:#07130f}
.fx-on .btn--outline:hover::before,.fx-on .btn--ghost:hover::before{transform:none}

/* tilt 3D nos cartões */
.fx-on .world,.fx-on .hero-card{transform-style:preserve-3d;perspective:900px}
.fx-on .world__img,.fx-on .hero-card__img{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}
.fx-on .world:hover .world__img,.fx-on .hero-card:hover .hero-card__img{box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 40px rgba(23,212,158,.18)}

/* vaga-lumes */
.ff{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30;mix-blend-mode:screen}

/* título gigante que atravessa a tela */
.fx-on .h2.fx-title{will-change:transform}
@media (hover:none),(max-width:991px){.cur,.cur-dot{display:none}}
@media (prefers-reduced-motion:reduce){.cur,.cur-dot,.ff{display:none!important}}

/* ===== Mundos em palco fixo ===== */
.worlds--stage{height:calc(100svh * 5)}
.worlds--stage .worlds__grid{position:sticky;top:0;height:100svh;overflow:hidden}
.worlds--stage .worlds__sticky{position:relative;height:100svh}
.worlds--stage .worlds__cards{position:relative;height:100svh;overflow:hidden}
.worlds--stage .world{position:absolute;inset:0;height:100%;border:0;align-items:center;justify-content:center;text-align:center;opacity:0;visibility:hidden;transform:translate3d(105%,0,0);transition:transform 1s cubic-bezier(.76,0,.24,1),opacity .6s,visibility 0s 1s}
.worlds--stage .world.is-active{opacity:1;visibility:visible;transform:none;transition:transform 1s cubic-bezier(.76,0,.24,1),opacity .6s .15s,visibility 0s}
.worlds--stage .world.is-prev{transform:translate3d(-105%,0,0)}
.worlds--stage .world__img{width:min(100%,560px,calc((100svh - 250px) * 1.012));max-width:none;margin-bottom:12px}
.worlds--stage .world p{max-width:480px}
.worlds__idx{display:none}
.worlds--stage .worlds__idx{display:flex;align-items:center;gap:20px;margin-top:28px;font:600 13px/1 'Asap',sans-serif;letter-spacing:.2em;color:var(--gold,#f6d672)}
.worlds__num b{font-size:22px;letter-spacing:.04em}
.worlds__dots{display:flex;gap:8px}
.worlds__dots i{width:28px;height:3px;background:rgba(246,214,114,.28);border-radius:2px;transition:background .4s,width .5s cubic-bezier(.16,1,.3,1)}
.worlds__dots i.on{background:#f6d672;width:56px}
