        .slide-container {
            display: flex;
            flex-direction: column;
        }

        .hero-section {
            background-image: url("../../images/bg_athlete_hero.webp");
            background-size: cover;
            background-position: center;
            position: relative;
        }

        .hero-overlay {
            background-color: rgba(0, 0, 0, 0.7);
        }

        .step-number {
            font-family: 'Oswald', sans-serif;
            z-index: 10;
        }

        /* Step Connector for Horizontal Layout */
        .step-connector-horizontal {
            position: absolute;
            top: 16px;
            left: 50%;
            width: 100%;
            height: 2px;
            background-color: #e5e7eb;
            z-index: 0;
            transform: translateX(16px);
        }

        .last-step .step-connector-horizontal {
            display: none;
        }

        .merit-card {
            transition: transform 0.3s ease;
            height: 100%;
        }

        .merit-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        }

        .voice-card {
            transition: all 0.3s ease;
            height: 100%;
        }

        .voice-card:hover {
            background-color: #f8fafc;
            border-color: #cbd5e1;
            transform: translateY(-2px);
        }

body.athlete .slide-container > footer {
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    body.athlete .grid.grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    body.athlete .flex.flex-col.flex-1.overflow-hidden { overflow: visible; }
    body.athlete .hero-section { height: auto; min-height: 18rem; }
    body.athlete .hero-section .relative.z-10 { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding: 6rem 1.25rem 2rem; }
    body.athlete .hero-section h1 { font-size: 2rem; }
    body.athlete .hero-section .flex.items-end { align-items: flex-start; flex-direction: column; }
    body.athlete .grid.grid-cols-4,
    body.athlete .grid.grid-cols-3 { grid-template-columns: 1fr; }
    body.athlete .px-12 { padding-left: 1.25rem; padding-right: 1.25rem; }
}
