/* Botón del encabezado para volver al inicio de la página (aparece al bajar) */
.to-top { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; margin-left: 10px; padding: 0; border: 1px solid #ffffffcc; border-radius: 50%; background: linear-gradient(150deg, #ff7a2a, #d94c0c); color: #fff; box-shadow: 0 8px 20px #d94c0c40; cursor: pointer; opacity: 0; transform: scale(.4) translateY(8px); pointer-events: none; transition: opacity .25s ease, transform .35s cubic-bezier(.2, 1.5, .4, 1); }
.to-top svg { width: 20px; height: 20px; }
.to-top.is-on { opacity: 1; transform: none; pointer-events: auto; }
.to-top:hover { transform: translateY(-2px); }
.to-top:focus-visible { outline: 3px solid #ed5c13; outline-offset: 3px; }
.to-top-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 600px) { .to-top { width: 38px; height: 38px; flex-basis: 38px; margin-left: 6px; } .to-top svg { width: 18px; height: 18px; } }
@media (prefers-reduced-motion: reduce) { .to-top { transition: opacity .2s; transform: none; } }
/* Color de cada área: azul en Corporativo, violeta en Contenido + IA */
.corporate-page .to-top { background: linear-gradient(150deg, #1f8fd0, #005d8f); box-shadow: 0 8px 20px #006da540; }
.corporate-page .to-top:focus-visible { outline-color: #006da5; }
.page-main .to-top { background: linear-gradient(150deg, #9b5de5, #6a25ad); box-shadow: 0 8px 20px #7630b940; }
.page-main .to-top:focus-visible { outline-color: #7630b9; }
