/* h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', sans-serif;
}

p {
    font-size: 18px;
    letter-spacing: 0.02em;
    font-weight: 400;
} */

/* Image Carousel */
.carousel-container {
    width: 80%;
    overflow: hidden;
    height: 70vh;
    margin: 0 auto;
}

.carousel {
    display: flex;
    width: 500%;
    height: 100%;
    /* Total carousel cycle time - change this value to adjust overall speed */
    animation: carousel 25s infinite;
}

.carousel:hover {
    animation-play-state: paused;
}

.carousel-slide {
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.carousel-slide img {
    height: auto;
    /* height: 100%; */
    width: 100%;
    object-fit: cover;
}

@keyframes carousel {
    /* Slide 1: Pause for 5s (20% of 25s total) */
    0%, 19% { transform: translateX(0); }
    19%, 20% { transform: translateX(0); }
    21%, 39% { transform: translateX(-20%); }
    39%, 40% { transform: translateX(-20%); }
    40%, 59% { transform: translateX(-40%); }
    59%, 60% { transform: translateX(-40%); }
    61%, 79% { transform: translateX(-60%); }
    79%, 80% { transform: translateX(-60%); }
    80%, 99% { transform: translateX(-80%); }
    /* Loop back to slide 1 */
    100% { transform: translateX(0); }
}

/* Card Grid Layout */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.music-card {
    background-color: #e8f4f8;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}

.music-card:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.music-card h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 20px;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

.music-card ul {
    list-style-position: inside;
    padding: 0;
    margin: 0;
}

.music-card li {
    margin-bottom: 10px;
    line-height: 1.6;
}

/* Ensure images look consistent */
.bio-img {
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Adds a subtle professional shadow */
}

/* GLOBAL */
body {
    font-family: 'Inter', sans-serif;
}

/* Sonic Title */
h1 {
    font-size: 45px;
    font-weight: 100;
    letter-spacing: 0.02em;
}

/*Page Subtitle*/
h2 {
    font-size: 20px;
    color: rgb(70, 70, 70);
}

h3 {
    font-size: 30px;
    letter-spacing: 0.02em;
    font-weight: 500;
    line-height: 1.3;
}

h4 {
    font-size: 25px;
    letter-spacing: 0.02em;
    font-weight: 100;
}

h5 {
    font-size: 30px;
    letter-spacing: 0.02em;
    font-weight: 700;
}

p {
    font-size: 18px;
    letter-spacing: 0.02em;
}

/* INTRO BLOCK */
.intro-block {
    background-color: #f5f5f5;
    padding: 40px 0;
    margin: 30px 0;
}

/* BIOS */
.bio-section {
    padding: 50px 0;
}

.bio-row {
    align-items: top;
}

.gray-bg {
    background-color: #f5f5f5;
}

.light-blue-bg {
    background-color: #e8f4f8;
}

/* IMAGES */
.bio-img {
    border-radius: 0px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Testimonial Image */
.testimonial-img {
    float: left;
}

@media (max-width: 768px) {
    .testimonial-img {
        float: none;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
    }
}

/* FOOTER */
.footer {
    text-align: center;
    padding: 20px;
    background-color: #f8f9fa;
}
