.cm-body__main {
    flex: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cm-body__main__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.cm-body__main__header__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 40px;
    position: relative;
    text-align: center;
    padding-inline: 50px;
}

.cm-body__main__header__title__main {
    font-size: 8rem;
    line-height: 8.2rem;
    color: var(--main);
}

.cm-body__main__header__title__secondary {
    font-size: 1.5rem;
    line-height: 1.7rem;
    color: var(--secondary);
    align-self: flex-end;
    position: absolute;
    bottom: 5px;
}

.cm-body__main__header__carousel {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.cm-body__main__header__carousel__container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 50vh;
    width: 500%;
    margin-top: 40px;
    transition: transform 0.7s ease;
    -webkit-transition: transform 0.7s ease;
    -moz-transition: transform 0.7s ease;
    -ms-transition: transform 0.7s ease;
    -o-transition: transform 0.7s ease;
}

.cm-body__main__header__carousel__container__img {
    height: 50vh;
    width: 100%;
    min-width: 100vw;
    object-fit: cover;
    object-position: 0% 15%;
}


.cm-body__main__header__hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-inline: 50px;
    width: 100%;
    max-width: 1200px;
}

.cm-body__main__header__hero__text {
    font-size: 1.2rem;
    line-height: 1.4rem;
    text-align: center;
    margin-bottom: 10px;
    width: 100%;
    text-align: center;
    color: var(--black);
}

.cm-body__main__header__hero__buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}

.cm-body__main__header__hero__buttons__button {
    width: 300px;
    font-size: 1.2rem;
    line-height: 1.4rem;
    text-align: center;
}

.cm-body__main__about {
    background-color: var(--secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-top: 20px;
    padding-inline: 50px;
}

.cm-body__main__about__text__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 80vw;
}

.cm-body__main__about__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    text-align: center;
    color: var(--background);
    transition: max-width 0.7s ease, opacity 0.4s ease;
    -webkit-transition: max-width 0.7s ease, opacity 0.4s ease;
    -moz-transition: max-width 0.7s ease, opacity 0.4s ease;
    -ms-transition: max-width 0.7s ease, opacity 0.4s ease;
    -o-transition: max-width 0.7s ease, opacity 0.4s ease;
    opacity: 1;
    overflow: hidden;
}

.cm-body__main__about__text--hidden {
    opacity: 0;
    max-width: 0;
}

.cm-body__main__about__text__p {
    font-size: 1.2rem;
    line-height: 1.4rem;
    text-align: center;
    margin-bottom: 10px;
    width: 100%;
}

.cm-body__main__about__text__p em {
    font-weight: 600;
}

.cm-body__main__about__text__p i {
    font-style: italic;
}

.cm-body__main__about__title {
    text-align: center;
    font-size: 2.0rem;
    line-height: 2.2rem;
    color: var(--main);
    opacity: 1;
    max-width: 80vw;
    transition: max-width 0.7s ease, opacity 0.4s ease;
    -webkit-transition: max-width 0.7s ease, opacity 0.4s ease;
    -moz-transition: max-width 0.7s ease, opacity 0.4s ease;
    -ms-transition: max-width 0.7s ease, opacity 0.4s ease;
    -o-transition: max-width 0.7s ease, opacity 0.4s ease;
    overflow: hidden;
    margin-bottom: 50px;
    margin-top: 30px;
}

.cm-body__main__about__title--hidden {
    opacity: 0;
    max-width: 0;
}

.cm-body__main__about__buttons {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    padding-top: 10px;
    padding-bottom: 20px;
}

.cm-body__main__about__profile-pic {
    width: 250px;
    height: 250px;
    border-radius: 100%;
    object-fit: cover;
    object-position: 0% 20%;
    margin-top: 20px;
}

.cm-body__main__about__buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    opacity: 0.5;
    transition: opacity 0.3s ease;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;;
}

.cm-body__main__about__buttons:hover {
    opacity: 1;
}

.cm-body__main__about__buttons__button {
    font-size: 0.8rem;
    text-transform: uppercase;
    padding-inline: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.cm-body__main__about__buttons__button--selected {
    background-color: var(--black);
    color: var(--background);
    pointer-events: none;
}

.cm-body__main__about__buttons__button--selected:hover {
    background-color: var(--black);
    color: var(--background);
}

.cm-body__main__about__row-section-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

.cm-body__main__spotify {
    width: 80%;
    max-width: 800px;  
    margin-bottom: 30px;
    height: 352px;
    border-radius:12px;
}

.cm-body__main__video {
    width: 80%; 
    height: auto;
    aspect-ratio: 16/9;
    margin-top: 0;
    margin-bottom: 60px;
}

.cm-body__main__wave {
    margin: -1px;
}

.cm-body__main__wave path {
    fill: var(--secondary);
}

.cm-body__contact {
    width: 100%;
    padding-inline: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 50px;
}

.cm-body__contact__title {
    text-align: center;
    font-size: 2.0rem;
    line-height: 2.2rem;
    color: var(--main);
    opacity: 1;
    margin-bottom: 50px;
    margin-top: 30px;
}

.cm-body__contact__form {
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cm-body__contact__form__label {
    font-size: 1.2rem;
    line-height: 1.4rem;
    display: flex;
    flex-direction: column;
    margin-top: 40px;
    width: 100%;
}

.cm-body__contact__form__label__input {
    padding-inline: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--main);
    color: var(--main);
    margin-top: 10px;
}

textarea.cm-body__contact__form__label__input {
    word-wrap: break-word;
}

.cm-body__contact__form__label__input::placeholder {
    color: var(--button);
    font-style: italic;
}

.cm-body__contact__form__submit {
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin-top: 30px;
}

.cm-body__main__header__carousel__btn {
    position: absolute;
}

.cm-body__main__header__carousel__btn--next {
    right: 30px;
}

.cm-body__main__header__carousel__btn--prev {
    left: 30px;
}

.cm-body__main__header__carousel__btn__icon {
    width: 100px;
    height: 100px;
    background-color: var(--background);
    filter: drop-shadow(1px 1px 1px var(--black-opacity));
}

.cm-body__main__header__carousel__btn__icon:hover {
    cursor: pointer;
    background-color: var(--main-hover);
}

.cm-body__main__header__carousel__points {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.cm-body__main__header__carousel__points__point {
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: var(--background);
    transition: background-color 0.3s ease;
    -webkit-transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    -ms-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
}

.cm-body__main__header__carousel__points__point--selected {
    background-color: var(--main-hover);
}