body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
    font-family: Arial, sans-serif;
}

.header, .footer {
    background: #f0f0f0;
    padding: 10px 20px;
    text-align: right;
    position: fixed;
    width: 100%;
    box-sizing: border-box; /* Asegura que el padding no afecte el ancho total */
    z-index: 1000;
    font-size: calc(1vw + 3px); /* Tamaño de fuente responsivo y uniforme */
}

.header {
    top: 0;
}

.header a {
    text-decoration: none;
    margin-left: 15px;
    color: #333;
}

.footer {
    bottom: 0;
    text-align: center; /* Alineación central para el texto del footer */
}

.svg-container {
    display: block;
    position: absolute;
    top: 50px; /* Ajusta si el header necesita más espacio */
    left: 0;
    width: 100%;
    height: calc(100% - 100px); /* Ajusta según la altura del header y del footer */
    overflow: hidden;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

#spiralSVG {
    width: 100%;
    height: 100%;
    background: #fff;
    transform-origin: center center;
    animation: rotate 120s linear infinite;
}

.overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 8vw;
    color: #260;
    text-align: center;
    z-index: 10;
}