.upcoming-shows-section {
    padding: 4rem 2rem;
    max-width: 1300px;
    margin: 80px auto 0 auto;
}

.upcoming-shows-section h2 {
    text-align: center;
    margin-bottom: 4rem;
    font-size: min(13vw, 8rem);
}

.shows-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem 2rem;
    width: 100%;
}

.shows-grid > * {
    flex: 0 1 350px;
}

.show-item {
    text-align: center;
    transition: transform 0.2s ease-out;
}

.show-item-link:hover .show-item {
    transform: translateY(-5px) scale(1.03);
}

.show-item-link:active .show-item {
    transform: translateY(-2px) scale(1.02);
    transition-duration: 0.1s;
}

.show-item h3 {
    font-size: 3.5rem;
    line-height: 0.7;
    margin-bottom: 0.5rem;
    transition: transform 0.2s ease-out;
}

.show-item-link:hover .show-item h3 {
    transform: scale(1.05);
}

.show-item p {
    font-size: 2.5rem;
    line-height: 1;
    margin-top: 0.5rem;
}

.shows-hero-section {
    width: 100%;
    line-height: 0;
}

.shows-hero-svg {
    width: 100%;
    height: auto;
    display: block;
}