/* Patrones interactivos adaptados a la identidad Metztli */
.plan-card,.benefit,.audience-card{--fx-accent:108,69,220;isolation:isolate;overflow:hidden}.benefit{--fx-accent:246,201,67}.plan-card:before,.benefit:before,.audience-card:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background-image:linear-gradient(rgba(var(--fx-accent),.09) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--fx-accent),.09) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 75% 0,#000 0,transparent 62%);opacity:0;transform:scale(1.08);transition:opacity .35s,transform .6s cubic-bezier(.2,.8,.2,1)}.plan-card:after,.benefit:after,.audience-card:after{content:"";position:absolute;z-index:-1;width:150%;aspect-ratio:1;border-radius:50%;left:50%;bottom:45%;transform:translateX(-50%) rotate(0);background:conic-gradient(from 215deg at 50% 50%,transparent 0deg,rgba(var(--fx-accent),.85) 28deg,rgba(var(--fx-accent),.14) 286deg,transparent 360deg);filter:blur(38px);opacity:0;transition:opacity .5s;pointer-events:none}.plan-card:hover:before,.benefit:hover:before,.audience-card:hover:before{opacity:1;transform:scale(1)}.plan-card:hover:after,.benefit:hover:after,.audience-card:hover:after{opacity:.22;animation:fx-card-shine 7s linear infinite}.plan-card:hover,.audience-card:hover{box-shadow:0 5px 10px rgba(24,24,27,.06),0 18px 35px rgba(35,20,75,.14),0 0 0 1px rgba(108,69,220,.22)}.benefit:hover{box-shadow:inset 0 0 0 1px rgba(246,201,67,.3),0 20px 35px rgba(0,0,0,.18)}.audience-card{position:relative}.audience-card .audience-copy,.audience-card .audience-visual,.plan-card>*{position:relative;z-index:1}@keyframes fx-card-shine{to{transform:translateX(-50%) rotate(360deg)}}

/* Botón líquido basado en cuatro blobs; el contenido se inyecta con JS */
.button,.plan-button,.submit-button{--blob-color:var(--purple);--blob-text:#fff;position:relative;isolation:isolate;overflow:hidden;background:transparent!important;color:var(--blob-text);border:2px solid var(--blob-color);border-radius:30px!important;box-shadow:none;transition:color .45s,transform .25s}.button-yellow,.button-small{--blob-color:var(--yellow);--blob-text:var(--purple-deep)}.button-dark{--blob-color:var(--purple-deep)}.plan-button{--blob-text:var(--purple);justify-content:center;gap:14px}.button>.fx-button-label,.plan-button>.fx-button-label{position:relative;z-index:3;display:flex;align-items:center;gap:14px}.fx-blobs{position:absolute!important;z-index:-1!important;inset:0;overflow:hidden;border-radius:inherit;background:#fff}.fx-blob{position:absolute!important;z-index:0!important;top:2px;width:30%;height:110%;border-radius:50%;background:var(--blob-color);transform:translate3d(0,145%,0) scale(1.5);transition:transform .46s cubic-bezier(.65,.05,.36,1)}.fx-blob:nth-child(1){left:-3%}.fx-blob:nth-child(2){left:25%;transition-delay:.07s}.fx-blob:nth-child(3){left:53%;transition-delay:.14s}.fx-blob:nth-child(4){left:81%;transition-delay:.21s}.button:hover,.plan-button:hover,.submit-button:hover{color:#fff;transform:translateY(-2px)}.button-yellow:hover,.button-small:hover{color:var(--purple-deep)}.button:hover .fx-blob,.plan-button:hover .fx-blob,.submit-button:hover .fx-blob{transform:translateZ(0) scale(1.7)}.button:focus-visible,.plan-button:focus-visible,.submit-button:focus-visible{outline:3px solid rgba(246,201,67,.7);outline-offset:4px}

/* Enlaces con halo gradiente y trazo inferior animado */
.nav-links>a:not(.button),.text-link,.audience-copy a,.footer-grid a,.footer-bottom a,.announcement a{position:relative;z-index:0;display:inline-flex;width:max-content;max-width:100%;transition:color .3s,text-shadow .3s}.nav-links>a:not(.button):before,.text-link:before,.audience-copy a:before,.footer-grid a:before,.footer-bottom a:before,.announcement a:before{content:"";position:absolute;left:-4px;right:-4px;bottom:-5px;height:2px;border-radius:4px;background:linear-gradient(90deg,#f6c943,#b85cff,#20be70,#f6c943);background-size:300% 100%;transform:scaleX(.18);transform-origin:left;opacity:.55;transition:transform .35s,opacity .35s;animation:fx-link-glow 5s linear infinite}.nav-links>a:not(.button):after,.text-link:after,.audience-copy a:after,.footer-grid a:after,.footer-bottom a:after,.announcement a:after{content:"";position:absolute;z-index:-1;inset:-5px -8px;border-radius:8px;background:linear-gradient(90deg,rgba(246,201,67,.25),rgba(108,69,220,.3),rgba(32,190,112,.25));filter:blur(7px);opacity:0;transition:opacity .3s}.nav-links>a:not(.button):hover:before,.text-link:hover:before,.audience-copy a:hover:before,.footer-grid a:hover:before,.footer-bottom a:hover:before,.announcement a:hover:before{transform:scaleX(1);opacity:1}.nav-links>a:not(.button):hover:after,.text-link:hover:after,.audience-copy a:hover:after,.footer-grid a:hover:after,.footer-bottom a:hover:after,.announcement a:hover:after{opacity:1}.nav-links>a:not(.button):focus-visible,.text-link:focus-visible,.audience-copy a:focus-visible,.footer-grid a:focus-visible{outline:2px solid var(--yellow);outline-offset:6px;border-radius:3px}@keyframes fx-link-glow{to{background-position:300% 0}}

@media(prefers-reduced-motion:reduce){.plan-card:hover:after,.benefit:hover:after,.audience-card:hover:after,.nav-links a:before,.text-link:before,.audience-copy a:before,.footer-grid a:before{animation:none}.fx-blob{transition:none}}
