/* ============================================================================
   Camada de animações e efeitos — só carrega em páginas com fx=True (layout.page).
   Tudo escopado em body.fx-page. Usa os tokens do base.html (--gold, --border…), então
   funciona nos dois temas. Regras de performance: animar só transform/opacity (e blur/
   clip-path em poucos elementos, uma única vez). Comportamento em fx.js.
   ============================================================================ */
.fx-page{--ease:cubic-bezier(.22,.7,.2,1)}

/* ---------- 1. REVEAL AO ROLAR (data-fx = up | left | right | scale | blur | mask) ----------
   Escondido só com JS ativo (html.js); fx.js adiciona .fx-in quando entra na viewport e
   remove o atributo depois, devolvendo o controle das transições de hover ao componente.
   Failsafe: se o fx.js nunca rodar, tudo aparece sozinho após 4,5s. */
.js .fx-page [data-fx=up],.js .fx-page [data-fx=left],.js .fx-page [data-fx=right],
.js .fx-page [data-fx=scale],.js .fx-page [data-fx=blur],.js .fx-page [data-fx=mask]{
  opacity:0;will-change:opacity,transform;
  transition:opacity .8s var(--ease) var(--d,0s),transform .95s var(--ease) var(--d,0s),filter .8s var(--ease) var(--d,0s),clip-path 1.2s var(--ease) var(--d,0s);
  animation:fxFailsafe .01s 4.5s forwards}
.js .fx-page [data-fx=up]{transform:translate3d(0,34px,0)}
.js .fx-page [data-fx=left]{transform:translate3d(-32px,0,0)}
.js .fx-page [data-fx=right]{transform:translate3d(32px,0,0)}
.js .fx-page [data-fx=scale]{transform:translate3d(0,20px,0) scale(.94)}
.js .fx-page [data-fx=blur]{transform:translate3d(0,22px,0);filter:blur(10px)}
.js .fx-page [data-fx=mask]{transform:scale(1.03);clip-path:inset(10% 8% 10% 8% round 22px)}
/* deslocamentos/escalas do estado inicial nunca podem gerar rolagem horizontal */
.fx-page main>section{overflow-x:clip}
.js .fx-page [data-fx].fx-in{opacity:1;transform:none;filter:none}
/* recorte "aberto" além da caixa (-70px) para não cortar a sombra das fotos depois de revelar */
.js .fx-page [data-fx=mask].fx-in{clip-path:inset(-70px -70px -70px -70px round 22px)}
.fx-ready .fx-page [data-fx]{animation:none}
@keyframes fxFailsafe{to{opacity:1;transform:none;filter:none;clip-path:none}}

/* ---------- 2. BARRA DE PROGRESSO DE LEITURA ---------- */
.fx-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none}
.fx-progress i{display:block;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--gold),var(--gold-soft));box-shadow:0 0 12px rgba(217,164,65,.65)}

/* ---------- 3. DIVISÓRIA ANIMADA ENTRE SEÇÕES (inserida pelo fx.js) ---------- */
.fx-page .fx-divider{position:absolute;top:0;left:50%;width:min(var(--wrap),100% - 44px);height:1px;translate:-50% 0;pointer-events:none;z-index:2}
.fx-page .fx-divider i{position:absolute;inset:0;opacity:.75;transform:scaleX(0);background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);transition:transform 1.5s var(--ease)}
.fx-page .fx-divider i::after{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px 2px rgba(217,164,65,.7)}
.fx-page .fx-divider.fx-in i{transform:scaleX(1)}

/* ---------- 4. BRILHOS E FORMAS FLUTUANTES ---------- */
.fx-page .page-hero{isolation:isolate}
.fx-orb{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--c,rgba(217,164,65,.28)),transparent 68%);animation:fxDrift 16s ease-in-out infinite alternate}
.fx-orb.o1{width:580px;height:580px;right:-130px;top:-170px}
.fx-orb.o2{width:500px;height:500px;left:-170px;bottom:-210px;--c:rgba(43,140,150,.32);animation-duration:21s;animation-delay:-7s}
.fx-orb.o3{width:560px;height:560px;left:-180px;top:10%;--c:rgba(217,164,65,.14);animation-duration:24s}
@keyframes fxDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-60px,44px,0) scale(1.16)}}
.fx-page .route-line svg{animation:fxSlide 24s ease-in-out infinite alternate}
@keyframes fxSlide{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(4%,0,0)}}
.fx-page .final{isolation:isolate}
.fx-page .final::after{content:"";position:absolute;z-index:0;width:540px;height:540px;right:-150px;bottom:-230px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(217,164,65,.2),transparent 68%);animation:fxDrift 19s ease-in-out infinite alternate}
.fx-page .final .wrap{position:relative;z-index:1}

.fx-chip{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:800;color:#F5F2EA;white-space:nowrap;background:rgba(8,42,48,.78);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(0,0,0,.3);animation:fxBob 6s ease-in-out infinite}
.fx-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.fx-chip.c2,.fx-chip.s2{animation-delay:-2s}.fx-chip.c3,.fx-chip.s3{animation-delay:-4s}
@keyframes fxBob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}

/* ---------- 5. HERO: NOTEBOOK + CELULAR COM O SITE ---------- */
/* parallax usa a propriedade `translate` (independente de `transform`, que os floats usam) */
.fx-page [data-parallax]{translate:0 var(--py,0px)}
.fx-stage{position:relative;padding:3% 0 12%}
.fx-laptop{width:94%}
.fx-lid{padding:2.2%;border-radius:16px;background:#051f24;border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 80px rgba(0,0,0,.45),0 0 0 1px rgba(217,164,65,.1),0 0 70px rgba(217,164,65,.14)}
.fx-base{height:12px;margin:0 -2%;border-radius:0 0 18px 18px;background:linear-gradient(#0d3b42,#06232a);box-shadow:0 18px 30px rgba(0,0,0,.35)}
.fx-phone{position:absolute;right:0;bottom:2%;width:26%;aspect-ratio:9/18.6;padding:3%;border-radius:24px;background:#051f24;border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 40px rgba(217,164,65,.12)}
.fx-phone .fx-screen{height:100%;aspect-ratio:auto;border-radius:18px}
.fx-chip.c1{left:-3%;top:8%}.fx-chip.c2{right:-2%;top:36%}.fx-chip.c3{left:6%;bottom:2%}

/* tela: container query → tudo dentro escala em `em` */
.fx-screen{container-type:inline-size;position:relative;overflow:hidden;aspect-ratio:16/10;border-radius:8px;background:#0b333a}
.sm{width:100cqw;font-size:calc(100cqw/60)}
.sm-page{will-change:transform;transform:translate3d(0,calc(var(--sp,0) * -46%),0)}
.sm-nav{display:flex;align-items:center;gap:2em;height:4.4em;padding:0 2.4em;background:rgba(8,42,48,.95)}
.sm-logo{display:block;flex:none;width:1.8em;height:1.8em;border-radius:.5em;background:var(--gold)}
.sm-nav b{width:6em;height:.9em;border-radius:1em;background:rgba(255,255,255,.75)}
.sm-links{margin-left:auto;display:flex;gap:1.6em}
.sm-links u{width:3.6em;height:.7em;border-radius:1em;background:rgba(255,255,255,.32)}
.sm-cta{width:7em;height:2.2em;border-radius:1.1em;background:var(--gold)}
.sm-hero{position:relative;height:24em;overflow:hidden}
.sm-tall{height:33.2em}
.sm-hero img,.smm-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.sm-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,42,48,0) 60%,rgba(8,42,48,.5))}
.sm-copy{position:absolute;left:0;right:0;bottom:2.6em;display:flex;justify-content:center;gap:1.6em}
.sm-btn{display:block;width:10em;height:2.8em;border-radius:1.4em;background:#F4F0E6;box-shadow:0 .4em 1em rgba(0,0,0,.28)}
.sm-btn.ring{box-shadow:0 0 0 .26em rgba(217,164,65,.75),0 .4em 1em rgba(0,0,0,.28)}
.sm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 2.4em 1em}
.sm-card{padding:1em;border-radius:1.2em;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.sm-thumb{aspect-ratio:4/3;border-radius:.9em;overflow:hidden}
.sm-thumb svg{width:100%;height:100%}
.sm-card b{display:block;width:80%;height:.9em;margin-top:1.2em;border-radius:1em;background:rgba(255,255,255,.5)}
.sm-card b.s{width:55%;margin-top:.8em;opacity:.55}
.sm-card em{display:block;width:5em;height:1.6em;margin-top:1.2em;border-radius:1em;background:rgba(217,164,65,.85)}
.sm-foot{height:9em;margin-top:2em;background:rgba(0,0,0,.28)}
/* celular: 30em de largura */
.smm{width:100cqw;font-size:calc(100cqw/30)}
.smm-nav{display:flex;align-items:center;justify-content:space-between;height:3.6em;padding:0 1.4em;background:rgba(8,42,48,.95)}
.smm-nav .sm-logo{width:1.6em;height:1.6em}
.smm-burger{display:grid;gap:.35em}.smm-burger u{width:1.6em;height:.2em;border-radius:1em;background:rgba(255,255,255,.7)}
.smm-hero{position:relative;height:22em;overflow:hidden}
.smm .sm-copy{bottom:1.4em;gap:.8em}
.smm .sm-btn{width:7em;height:1.9em;border-radius:1em}
.smm-card{margin:1.2em 1.4em 0;padding:1.2em;border-radius:1em;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.smm-card b{display:block;width:70%;height:.8em;border-radius:1em;background:rgba(255,255,255,.5)}
.smm-card b.s{width:45%;margin-top:.7em;opacity:.55}

/* ---------- 6. VITRINE "NA PRÁTICA" ---------- */
.fx-showcase{overflow:hidden;isolation:isolate}
.fx-showcase .wrap{position:relative;z-index:1}
.fx-show-stage{position:relative;max-width:980px;margin:0 auto;padding:0 0 70px}
.fx-browser{border-radius:22px;overflow:hidden;background:var(--surface-solid);border:1px solid var(--border-strong);box-shadow:0 40px 90px rgba(0,0,0,.35)}
.fx-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}
.fx-bar i{width:10px;height:10px;border-radius:50%;background:var(--border-strong);opacity:.6}
.fx-bar i:first-child{background:var(--gold);opacity:1}
.fx-url{flex:1;max-width:340px;margin-left:14px;padding:4px 14px;border-radius:12px;background:var(--bg-2);font:12px ui-monospace,Menlo,monospace;color:var(--text-dim)}
.fx-browser .fx-screen{aspect-ratio:16/9.4;border-radius:0}
.fx-code{position:absolute;left:-46px;bottom:0;z-index:2;width:min(360px,48%);border-radius:16px;overflow:hidden;background:#051f24;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 50px rgba(217,164,65,.14);font:12.5px/1.75 ui-monospace,Menlo,monospace;color:#E7DFC9}
.fx-code-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.1)}
.fx-code-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25)}
.fx-code-bar i:first-child{background:var(--gold)}
.fx-code-bar span{margin-left:8px;font-size:11px;color:rgba(245,242,234,.55)}
.fx-code pre{margin:0;padding:14px 16px 16px;white-space:pre;overflow:hidden}
.fx-code .ln{display:block}
.fx-code .t{color:var(--gold)}.fx-code .a{color:#8FD0CF}.fx-code .s{color:#F3D9A4}
.fx-caret{display:inline-block;width:7px;height:14px;margin-left:3px;vertical-align:-2px;background:var(--gold);animation:fxBlink 1s steps(2,start) infinite}
@keyframes fxBlink{to{visibility:hidden}}
/* linhas do código aparecem em sequência quando a janela entra */
.js .fx-page .fx-code .ln{opacity:0;transform:translate3d(-10px,0,0);transition:opacity .5s var(--ease) calc(.7s + var(--i) * .1s),transform .5s var(--ease) calc(.7s + var(--i) * .1s)}
.js .fx-page .fx-code.fx-in .ln{opacity:1;transform:none}
.fx-chip.s1{right:-2%;top:22%}.fx-chip.s2{right:8%;bottom:6%}.fx-chip.s3{left:34%;bottom:-2%}

/* ---------- 7. FAIXA EM MOVIMENTO ---------- */
.fx-ticker{overflow:hidden;padding:22px 0;background:var(--bg);border-block:1px solid var(--border);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fx-ticker-track{display:flex;width:max-content;animation:fxTick 42s linear infinite}
.fx-ticker:hover .fx-ticker-track{animation-play-state:paused}
.fx-set{display:flex;flex:none}
.fx-set span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;white-space:nowrap;font-family:var(--display);font-size:clamp(17px,2vw,24px);color:var(--text-soft)}
.fx-set span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
@keyframes fxTick{to{transform:translate3d(-50%,0,0)}}

/* ---------- 8. MICROINTERAÇÕES ---------- */
/* botões: brilho que atravessa, seta que avança, "afundar" ao clicar */
.fx-page .btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s var(--ease),box-shadow .28s,background .28s,border-color .28s}
.fx-page .btn::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.42) 50%,transparent 65%);transform:translate3d(-130%,0,0);transition:transform .8s var(--ease)}
.fx-page .btn:hover::after{transform:translate3d(130%,0,0)}
.fx-page .btn:active{transform:translateY(0) scale(.97)}
.fx-page .btn .ico{transition:transform .28s var(--ease)}
.fx-page .btn:hover .ico{transform:translateX(4px)}
/* links: sublinhado que desenha */
.fx-page .plans-note a,.fx-page .faq-help a,.fx-page .crumbs a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease),color .2s}
.fx-page .plans-note a:hover,.fx-page .faq-help a:hover,.fx-page .crumbs a:hover{background-size:100% 1px;text-decoration:none}
/* cards: elevação + brilho que segue o cursor (--mx/--my vêm do fx.js, só com mouse) */
.fx-page .pilar,.fx-page .fit-card,.fx-page .next-card{position:relative;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.fx-page .fx-glow{position:relative;isolation:isolate}
/* o Hero já está aprovado: os efeitos de botão/brilho não entram nele */
.fx-page .hero .btn{overflow:visible}
.fx-page .hero .btn::after{display:none}
.fx-page .fx-glow::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(217,164,65,.17),transparent 62%)}
.fx-page .pilar:hover,.fx-page .fit-card:hover,.fx-page .plan:hover,.fx-page .svc:hover{transform:translateY(-8px);box-shadow:0 32px 60px rgba(0,0,0,.28)}
.fx-page .plan{transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.fx-page .pilar .ico-lg{transition:transform .45s var(--ease)}
.fx-page .pilar:hover .ico-lg{transform:scale(1.14) rotate(-7deg)}
.fx-page .svc .thumb svg{transition:transform .7s var(--ease)}
.fx-page .svc:hover .thumb svg{transform:scale(1.07)}
.fx-page .qa button{transition:padding-left .3s var(--ease),color .2s}
.fx-page .qa button:hover{padding-left:12px}
@media(hover:hover) and (pointer:fine){.fx-page .fx-glow:hover::before{opacity:1}}
/* plano recomendado: pulso de brilho contínuo (só opacity) */
.fx-page .plan.featured::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 44px rgba(217,164,65,.32);opacity:.35;animation:fxPulse 3.8s ease-in-out infinite}
@keyframes fxPulse{50%{opacity:.85}}

/* etapas: linha de progresso que "caminha" com a rolagem + pontos que acendem */
.fx-page .route-steps{position:relative}
.fx-page .route-steps::before{content:"";position:absolute;z-index:1;top:12px;left:6px;width:var(--len,80%);height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));box-shadow:0 0 12px rgba(217,164,65,.6);transform:scaleX(var(--p,0));transform-origin:left}
.fx-page .route-steps li::before{z-index:2;transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.fx-page .route-steps li.on::before{transform:scale(1.18);box-shadow:0 0 0 5px rgba(217,164,65,.3),0 0 20px rgba(217,164,65,.85)}
@media(max-width:940px){
  .fx-page .route-steps::before{top:11px;left:6px;width:2px;height:var(--len,70%);transform:scaleY(var(--p,0));transform-origin:top;background:linear-gradient(180deg,var(--gold),var(--gold-soft))}
}

/* ---------- 9. MOBILE: efeitos mais simples e leves ---------- */
@media(max-width:940px){
  .fx-code{left:-8px}
}
@media(max-width:768px){
  .js .fx-page [data-fx=up],.js .fx-page [data-fx=left],.js .fx-page [data-fx=right],.js .fx-page [data-fx=scale]{transform:translate3d(0,22px,0)}
  .js .fx-page [data-fx=blur]{filter:none;transform:translate3d(0,22px,0)}
  .js .fx-page [data-fx=mask]{clip-path:inset(4% 3% 4% 3% round 18px)}
  .fx-chip,.fx-code{display:none}
  .fx-orb{opacity:.6}
  .fx-show-stage{padding-bottom:0}
  .fx-stage{padding-bottom:6%}
  .fx-phone{width:30%}
  .fx-browser .fx-screen{aspect-ratio:16/11}
}

/* ---------- 10. PREFERS-REDUCED-MOTION: tudo visível e parado ---------- */
@media(prefers-reduced-motion:reduce){
  .js .fx-page [data-fx]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .js .fx-page .fx-code .ln{opacity:1!important;transform:none!important}
  .fx-page [data-parallax]{translate:none!important}
  .sm-page{transform:none!important}
  .fx-progress,.fx-divider{display:none}
  .fx-ticker-track{width:auto;flex-wrap:wrap;justify-content:center}
  .fx-set[aria-hidden=true]{display:none}
  .fx-set{flex-wrap:wrap;justify-content:center;row-gap:8px}
}

/* ---------- 11. HERÓI COM FOTO (páginas de serviço) ---------- */
.fx-photo{position:relative;padding:4% 3% 6%}
.fx-photo .page-art{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .5s;box-shadow:0 40px 80px rgba(0,0,0,.42),0 0 0 1px rgba(217,164,65,.14),0 0 80px rgba(217,164,65,.12)}
.fx-photo .page-art:hover{box-shadow:0 50px 90px rgba(0,0,0,.5),0 0 0 1px rgba(217,164,65,.3),0 0 90px rgba(217,164,65,.2)}
.fx-kb{position:absolute;inset:0;overflow:hidden}
.fx-kb img{width:100%;height:100%;object-fit:cover;transform-origin:60% 40%;animation:fxKen 22s ease-in-out infinite alternate}
@keyframes fxKen{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-2.5%,-1.5%,0)}}
.fx-photo .page-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,42,48,0) 55%,rgba(8,42,48,.55))}
.fx-sheen{position:absolute;inset:-20%;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,236,190,.22) 50%,transparent 60%);transform:translate3d(-60%,0,0);animation:fxSheen 7s var(--ease) 1.2s infinite}
@keyframes fxSheen{0%{transform:translate3d(-60%,0,0)}45%,100%{transform:translate3d(60%,0,0)}}
.fx-photo .badge-pill{z-index:2}
.fx-chip.p1{left:-2%;top:10%}.fx-chip.p2{right:-3%;top:44%;animation-delay:-2s}.fx-chip.p3{left:8%;bottom:0;animation-delay:-4s}

/* fotos: leve aproximação ao passar o mouse (home e cards) */
.fx-page .svc .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.fx-page .svc:hover .thumb img{transform:scale(1.07)}
.fx-page .dest2{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.fx-page .dest2 img{transition:transform .8s var(--ease),filter .5s}
.fx-page .dest2:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 20px 40px rgba(107,74,8,.22)}
.fx-page .dest2:hover img{filter:saturate(1.15) brightness(1.04)}
.fx-page .met-photo img,.fx-page .cad-photo img{transition:transform 1.2s var(--ease)}
.fx-page .met-photo:hover img{transform:scale(1.14)}
.fx-page .cad-photo:hover img{transform:scale(1.12)}
@media(max-width:768px){.fx-photo{padding:2% 0 4%}}
@media(prefers-reduced-motion:reduce){.fx-kb img,.fx-sheen{animation:none!important}.fx-photo .page-art{transform:none!important}}

/* ---------- 12. TÍTULOS PALAVRA A PALAVRA, BOTÕES MAGNÉTICOS ---------- */
.js .fx-page [data-fx=words] .w{display:inline-block;opacity:0;transform:translate3d(0,.6em,0) rotate(2deg);filter:blur(5px);
  transition:opacity .7s var(--ease),transform .8s var(--ease),filter .7s var(--ease);transition-delay:calc(var(--d,0s) + var(--wi,0) * 45ms);
  animation:fxFailsafe .01s 4.5s forwards}
.js .fx-page [data-fx=words].fx-in .w{opacity:1;transform:none;filter:none}
.fx-ready .fx-page [data-fx=words] .w{animation:none}
.fx-page .btn-gold,.fx-page .sv2-go{transition:transform .28s var(--ease),box-shadow .28s,background .28s,translate .35s cubic-bezier(.3,1.5,.5,1)}
@media(max-width:768px){.js .fx-page [data-fx=words] .w{filter:none}}
@media(prefers-reduced-motion:reduce){.js .fx-page [data-fx=words] .w{opacity:1!important;transform:none!important;filter:none!important}.route-svg path{stroke-dashoffset:0!important}}
