/* ==========================================================================
   CTA — PUERTA A LA BASE DE CONOCIMIENTO
   Bloque final reutilizable (portada y nota). Mismo idioma V2: mono, corchete
   en las esquinas, acento, glow LEVE. Sin scanlines, sin neón.
   🔴 Anima SÓLO transform/opacity y respeta prefers-reduced-motion.
   🔴 Sólo tokens de ROL: funciona en tema claro y oscuro sin tocar nada.
   ========================================================================== */

.pf-cta-sec{ padding: clamp(2.6rem,6vw,5rem) 0; }

.pf-cta{
	position:relative;
	border:1px solid var(--pf-linea-f);
	background:var(--pf-blanco);
	padding: clamp(1.9rem,4vw,3.6rem) clamp(1.5rem,4vw,3.6rem);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pf-k) 12%, transparent), var(--pf-glow);
	overflow:hidden;
	transition: box-shadow .35s var(--pf-ease);
}

/* el filete de acento que corona el bloque — gesto de firma del sistema */
.pf-cta::before{
	content:"";position:absolute;left:0;top:0;height:2px;width:100%;
	background:linear-gradient(90deg, var(--pf-k), transparent 62%);
	pointer-events:none;
}

/* el brillo diagonal que barre en hover — sólo transform */
.pf-cta::after{
	content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
	background:linear-gradient(115deg,
		transparent 32%,
		color-mix(in srgb, var(--pf-k) 12%, transparent) 48%,
		transparent 64%);
	transform:translateX(-130%);
	transition:transform .85s var(--pf-ease);
}
.pf-cta:hover{
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pf-k) 34%, transparent), var(--pf-glow-hover);
}
.pf-cta:hover::after{ transform:translateX(130%); }

/* --- corchetes en las esquinas (el gesto V2) ---------------------------- */
.pf-cta__corner{
	position:absolute;width:16px;height:16px;border:2px solid var(--pf-k);
	pointer-events:none;z-index:2;
	transition:width .3s var(--pf-ease),height .3s var(--pf-ease);
}
.pf-cta__corner--tl{top:9px;left:9px;border-right:0;border-bottom:0}
.pf-cta__corner--tr{top:9px;right:9px;border-left:0;border-bottom:0}
.pf-cta__corner--bl{bottom:9px;left:9px;border-right:0;border-top:0}
.pf-cta__corner--br{bottom:9px;right:9px;border-left:0;border-top:0}
.pf-cta:hover .pf-cta__corner{width:26px;height:26px}

/* --- contenido ---------------------------------------------------------- */
.pf-cta > *:not(.pf-cta__corner):not(.pf-cta__blink){ position:relative;z-index:2; }

.pf-cta__k{
	display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem;
	font-family:var(--pf-mono);font-size:.66rem;letter-spacing:.18em;
	text-transform:uppercase;color:var(--pf-k-cl);
}
.pf-cta__blink{
	width:7px;height:7px;flex:0 0 auto;background:var(--pf-k);
	animation:pf-cta-par .9s step-end infinite;
}
@keyframes pf-cta-par{ 0%,49%{opacity:1} 50%,100%{opacity:.15} }

.pf-cta__t{
	font-family:var(--pf-display);
	font-size:clamp(1.7rem,4.6vw,3.3rem);line-height:1.02;letter-spacing:-.02em;
	text-transform:uppercase;color:var(--pf-tinta);max-width:18ch;
}
.pf-cta__t em{ font-style:normal;color:var(--pf-k); }

.pf-cta__desc{
	margin-top:1.05rem;max-width:54ch;
	font-family:var(--pf-body);font-size:1.02rem;line-height:1.6;color:var(--pf-tinta-2);
}
.pf-cta__desc b{ color:var(--pf-tinta);font-weight:600; }

/* --- el botón: lleno, imposible de no ver ------------------------------- */
.pf-cta__btn{
	margin-top:1.9rem;display:inline-flex;align-items:center;gap:.9rem;
	padding:.95rem 1.85rem;
	background:var(--pf-k);color:var(--pf-sobre-k);
	font-family:var(--pf-mono);font-size:.8rem;font-weight:600;
	letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
	will-change:transform;
	transition:transform .25s var(--pf-ease),box-shadow .25s var(--pf-ease);
}
.pf-cta__btn:hover,
.pf-cta__btn:focus-visible{
	transform:translateY(-2px);
	box-shadow:0 8px 26px color-mix(in srgb, var(--pf-k) 42%, transparent);
	outline:none;
}
.pf-cta__btn:focus-visible{ outline:var(--pf-focus);outline-offset:3px; }
.pf-cta__btn-arrow{ display:inline-block;font-size:1.05em;transition:transform .25s var(--pf-ease); }
.pf-cta__btn:hover .pf-cta__btn-arrow,
.pf-cta__btn:focus-visible .pf-cta__btn-arrow{ transform:translateX(6px); }

@media (prefers-reduced-motion:reduce){
	.pf-cta::after,.pf-cta__corner,.pf-cta__btn,.pf-cta__btn-arrow{ transition:none; }
	.pf-cta:hover::after{ transform:translateX(-130%); }
	.pf-cta__blink{ animation:none;opacity:1; }
}
