.tm-wrapper { position: relative; width: 100%; padding-bottom: 80px; background: transparent; }
.tm-container { position: relative; width: 100%; max-width: 1200px; margin: 0 auto; height: 1150px; }
.tm-svg-line { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: visible; z-index: 1; }

.tm-ball-breathing { transform-box: fill-box; transform-origin: center; animation-name: tm-breathing; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
@keyframes tm-breathing { 0% { transform: scale(0.7); opacity: 0.7; } 50% { transform: scale(1.5); opacity: 1; } 100% { transform: scale(0.7); opacity: 0.7; } }

.tm-block { 
    position: absolute; width: 300px; opacity: 0; 
    transform: translateY(20px) scale(0.8); 
    transition: opacity 0.8s ease-in-out, transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
    text-decoration: none !important; z-index: 10; display: block;
}

.tm-block.active { opacity: 1; transform: translateY(0) scale(1); }
.tm-block.fade-out { opacity: 0; transform: translateY(-20px) scale(0.8); }

.tm-block h3 { margin-top: 0; }
.tm-block p { margin-bottom: 0; }
.tm-block-image { width: 100%; height: auto; margin-bottom: 15px; border-radius: 8px; }

@media (max-width: 768px) {
    #tm-ball-svg { r: 70 !important; }
    @keyframes tm-breathing { 
        0% { transform: scale(0.8); opacity: 0.8; } 
        50% { transform: scale(1.2); opacity: 1; } 
        100% { transform: scale(0.8); opacity: 0.8; } 
    }

    .tm-block { 
        width: 95% !important; 
        left: 5% !important; 
        text-align: left !important; 
    }
}