:root {
            --heartbeat-line-color: #ff0000;
            --heartbeat-bg-color: #ffffff;
            --heartbeat-speed: 4s; /* ~2 seconds, adjust as needed */
            --heartbeat-line-width: 5px;
        }

        .heartbeat-preloader {
            position: fixed;
            background-color: var(--heartbeat-bg-color);
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .heartbeat-loader-container {
            width: 40vw;
            max-width: 500px;
        }

        .heartbeat-loader-container svg {
            width: 100%;
            height: auto;
        }

        .heartbeat-line {
            fill: none;
            stroke: var(--heartbeat-line-color);
            stroke-width: var(--heartbeat-line-width);
            stroke-linecap: round;
            stroke-linejoin: round;
            stroke-dasharray: 1000;
            stroke-dashoffset: 1000;
            animation: heartbeat-draw-and-fade var(--heartbeat-speed) linear 1;
        }

        @keyframes heartbeat-draw-and-fade {
            0% {
                stroke-dashoffset: 1000;
                opacity: 1;
            }
            40% {
                stroke-dashoffset: 0;
                opacity: 1;
            }
            80% {
                stroke-dashoffset: 0;
                opacity: 1;
            }
            100% {
                stroke-dashoffset: 0;
                opacity: 0;
            }
        }