/* Estilo común de todas las páginas (nov 2026), cargado después del CSS del sitio.
   1) Etiquetas sin mayúsculas forzadas ni letras espaciadas (también en el footer).
   2) La línea de precio que entra en una zona, en la cabecera oscura de cada página (la agrega fx-site.js).
   En la home no aplica la línea: tiene la suya. */
.fx-landing .uppercase{text-transform:none;letter-spacing:-.005em}
.fx-landing p.uppercase,.fx-landing h2.uppercase{font-size:14px;font-weight:600}
.fx-landing .uppercase.font-mono{font-family:Poppins,Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:0}

.fx-tape{position:absolute;right:0;bottom:0;width:58%;height:100%;pointer-events:none;opacity:.75;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%)}
.fx-tape .zone{fill:rgba(0,125,255,.14)}
.fx-tape .zl{stroke:rgba(98,165,244,.5);stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}
.fx-tape .px{fill:none;stroke:#62A5F4;stroke-width:2;filter:drop-shadow(0 0 6px rgba(0,125,255,.7));vector-effect:non-scaling-stroke;stroke-linejoin:round}
@media (max-width:767px){.fx-tape{width:100%;opacity:.35}}
@media (prefers-reduced-motion:no-preference){
  .fx-tape .px{stroke-dasharray:1;stroke-dashoffset:1}
  .fx-tape .zone{opacity:.3}
  .fx-tape.play .px{animation:fxs-draw 3s .2s cubic-bezier(.16,1,.3,1) forwards}
  .fx-tape.play .zone{animation:fxs-zoneon 1.2s 1.7s ease forwards,fxs-breathe 5s 3s ease-in-out infinite alternate}
}
@keyframes fxs-draw{to{stroke-dashoffset:0}}
@keyframes fxs-zoneon{to{opacity:1}}
@keyframes fxs-breathe{from{fill:rgba(0,125,255,.08)}to{fill:rgba(0,125,255,.16)}}

/* Footer: logo y frase centrados; en compu además un poco más abajo (Roberto 02/11) */
footer .grid>div:first-child:has(>img){align-items:center;text-align:center}
footer .grid>div:first-child>img{align-self:center}
@media (min-width:1024px){footer .grid>div:first-child:has(>img){justify-content:center;padding-top:18px}}
