/* 다크 모드 - 예외 */
@media (prefers-color-scheme: dark) {
    .theme-verse__visual .theme-verse__image {
        content: url("../image/icon/unDraw/undraw_welcoming_42an_dark.svg");
    }
}

/* ===============================================
   Overview Page
   =============================================== */
.overview-page {
    display: flex;
    flex-direction: column;
    gap: 25.6rem;
}

/* ===============================================
   Overview
   =============================================== */
.overview {
    width: 100%;
    height: fit-content;
    display: flex;
    align-items: center;
    flex-direction: column;

    position: relative;
    /* 배경 레이어 기준 */
}

/* ===============================================
   Overview Title
   =============================================== */
/* 기본 스타일은 유지 */
.overview-title {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: flex-start;
    justify-content: flex-start;

    position: absolute;
    top: 8rem;
    left: 0;

    overflow: hidden;
    z-index: 1;
    /* 뒤 레이어 */

    pointer-events: none;
    /* 클릭 방해 X */
}

.marquee-container {
    display: flex;
    /* 자식 요소(텍스트)를 한 줄에 나열 */
    width: fit-content;
    /* 애니메이션이 적용될 영역. 화면보다 훨씬 넓게 설정해야 텍스트 이동 효과가 자연스러움 */
    animation: scroll-left 60s linear infinite;
    /* 텍스트가 왼쪽으로 이동할 때 끊김 없이 보이도록 애니메이션 적용 */
}

.marquee-text {
    margin: 0;
    padding: 0 4rem;
    /* 텍스트 사이에 간격을 추가하여 가독성 높임 */
    font-size: 20.0rem;
    font-weight: var(--font-weight-light);
    color: var(--color-main);
    white-space: nowrap;
    /* 텍스트가 줄바꿈되지 않도록 설정 */
}

/* 텍스트를 오른쪽에서 왼쪽으로 이동시키는 키프레임 애니메이션 정의 */
@keyframes scroll-left {

    /* 0% 상태: 텍스트 컨테이너가 원래 위치(화면 오른쪽 끝)에서 시작 */
    0% {
        transform: translateX(0);
    }

    /* 100% 상태: 텍스트 컨테이너가 왼쪽으로 50%만큼 이동 (텍스트의 길이만큼 이동) */
    100% {
        /*
          * marquee-container 안에 같은 텍스트가 2개 이상 있을 때,
          * 첫 번째 텍스트 세트의 끝이 두 번째 텍스트 세트의 시작 지점에 닿도록
          * 왼쪽으로 이동시켜 자연스러운 반복을 만듦.
          * 이 예시에서는 3개의 텍스트를 넣었으므로,
          * 3개의 텍스트 길이의 1/3만큼 이동하면 됨.
        */
        transform: translateX(-33.333%);
    }
}

/* ===============================================
   Overview Main
   =============================================== */
.overview-main {
    width: 97.6rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 25.6rem;

    position: relative;
    z-index: 2;
    /* 앞 레이어 */
}

/* --- 01 Event Details --- */
/* --- 01 Event Details --- */
/* --- 01 Event Details --- */

:root {
    --bounce-duration: 900ms;
    --bounce-delay: 120ms;
    --bounce-distance: 14.0rem;
}

/* 애니메이션 */
@keyframes bounceInUp {
    0% {
        transform: translateY(var(--bounce-distance));
        opacity: 0;
    }

    60% {
        transform: translateY(-1.4rem);
        opacity: 1;
    }

    80% {
        transform: translateY(0.8rem);
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.event-details {
    width: fit-content;
    height: fit-content;
    padding: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 6.4rem;
    background-color: var(--color-background-surface);

    border: 0.3rem solid var(--color-hero);
    border-radius: 10.0rem;
    overflow: hidden;

    opacity: 0;
    transform: translateY(var(--bounce-distance));
    will-change: transform, opacity;
}

/* 애니메이션 실행 상태 */
.event-details.animate-bounce-up {
    animation: bounceInUp var(--bounce-duration) cubic-bezier(.2, .8, .2, 1) var(--bounce-delay) both;
    /* both = 시작과 끝 상태를 유지 */
}

.event-details__poster {
    width: 40.0rem;
    height: 61.8rem;
    border-radius: 6.0rem;
    overflow: hidden;
    flex-shrink: 0;
}

.event-details__poster-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-details__info {
    width: 40.0rem;
    height: 61.8rem;
    display: flex;
    flex-direction: column;
    gap: 4.0rem;
}

.event-details__key-info {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.event-details__key-info-title {
    padding: 0;
    margin: 0;
    font-size: 6.4rem;
    font-family: "source-serif-pro", serif;
    font-weight: var(--font-weight-bold);
    color: var(--color-hero);
}

.event-details__key-info-list {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.event-details__key-info-item {
    padding: 2.4rem 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 1.6rem;
    border-bottom: 0.1rem solid var(--color-hero);
}

.event-details__key-info-item--cost {
    align-items: flex-start;
}

.event-details__key-info-icon {
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
}

.event-details__key-info-text {
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-fixed-black);
}

.event-details__key-info-text-group {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.event-details__info-register-btn {
    width: 100%;
    height: 7.0rem;
    padding: 1.6rem;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10.0rem;
    color: var(--color-text-fixed-white);
    background-color: var(--color-hero);
    font-size: 2.0rem;
    font-weight: var(--font-weight-extrabold);
    cursor: pointer;

    transition:
        box-shadow 0.35s ease,
        transform 0.2s ease;
}

.event-details__info-register-btn:hover {
    box-shadow:
        0 0.4rem 0.8rem rgba(60, 64, 67, 0.25),
        0 0.8rem 2.4rem rgba(60, 64, 67, 0.2);

    transform: translateY(-0.2rem);
}

.event-details__info-register-btn:active {
    transform: translateY(0);

    box-shadow:
        0 0.2rem 0.4rem rgba(60, 64, 67, 0.2);
}

/* --- 02 Event Speaker --- */
/* --- 02 Event Speaker --- */
/* --- 02 Event Speaker --- */
.event-speaker {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 3.2rem;

    opacity: 0;
    transform: translateY(var(--bounce-distance));
    will-change: transform, opacity;
}

/* 애니메이션 실행 상태 */
.event-speaker.animate-bounce-up {
    animation: bounceInUp var(--bounce-duration) cubic-bezier(.2, .8, .2, 1) var(--bounce-delay) both;
    /* both = 시작과 끝 상태를 유지 */
}

.event-speaker__title {
    padding: 0;
    margin: 0;
    font-size: 6.4rem;
    font-family: "source-serif-pro", serif;
    font-weight: var(--font-weight-bold);
    color: var(--color-main);
}

.event-speaker__list-wrapper {
    width: 100%;
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4.8rem;
    padding: 4.8rem 6.4rem 7.2rem 6.4rem;
    border-radius: 10.0rem;
    border: 0.3rem solid var(--color-main);
    background-color: var(--color-background-surface);
}

.event-speaker__intro {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-speaker__intro-text {
    padding: 0;
    margin: 0;
    font-size: 1.8rem;
    font-weight: var(--font-weight-bold);
    font-style: italic;
    color: var(--color-text-fixed-black);
}

.event-speaker__list {
    width: 100%;
    display: flex;
    flex-direction: row;
}

.event-speaker__item {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 2.4rem;
}

.event-speaker__item-figure {
    width: 16.0rem;
    height: 16.0rem;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.event-speaker__item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-speaker__item-info {
    width: 16.0rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1.2rem;
}

.event-speaker__item-name {
    padding: 0;
    margin: 0;
    font-size: 1.8rem;
    font-weight: var(--font-weight-extrabold);
    line-height: 160%;
    color: var(--color-main);
}

.event-speaker__item-description {
    padding: 0;
    margin: 0;
    font-size: 1.2rem;
    font-weight: var(--font-weight-bold);
    line-height: 160%;
    text-align: center;
    color: var(--color-text-fixed-black);
}

/* --- 03 Event Schedule --- */
/* --- 03 Event Schedule --- */
/* --- 03 Event Schedule --- */
.event-schedule {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 3.2rem;

    opacity: 0;
    transform: translateY(var(--bounce-distance));
    will-change: transform, opacity;
}

/* 애니메이션 실행 상태 */
.event-schedule.animate-bounce-up {
    animation: bounceInUp var(--bounce-duration) cubic-bezier(.2, .8, .2, 1) var(--bounce-delay) both;
    /* both = 시작과 끝 상태를 유지 */
}

.event-schedule__title {
    padding: 0;
    margin: 0;
    font-size: 6.4rem;
    font-family: "source-serif-pro", serif;
    font-weight: var(--font-weight-bold);
    color: var(--color-main);
}

.event-schedule__content {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 3.2rem;
}

.schedule__figure {
    width: 47.2rem;
    height: 61.024rem;
    border-radius: 6.0rem;
    overflow: hidden;
    flex-shrink: 0;
}

.schedule__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.schedule__tabs {
    width: 47.2rem;
    height: 61.024rem;
    padding: 3.2rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 3.2rem;
    border: 0.3rem solid var(--color-main);
    border-radius: 6.0rem;
    background-color: var(--color-background-surface);
}

.schedule__tab-list {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    gap: 1.6rem;
}

.schedule__tab-button {
    width: 100%;
    padding: 0.8rem;
    margin: 0;
    border: 0;
    border-radius: 20.0rem;
    background-color: var(--color-main-soft);
    font-size: 1.6rem;
    font-weight: var(--font-weight-semibold);
    /* Figma = Bold --> CSS = SemiBold */
    color: var(--color-main);
    cursor: pointer;

    transition:
        box-shadow 0.35s ease,
        transform 0.2s ease;
}

.schedule__tab-button:hover {
    box-shadow:
        0 0.4rem 0.8rem rgba(60, 64, 67, 0.25),
        0 0.4rem 1.2rem rgba(60, 64, 67, 0.2);

    transform: translateY(-0.2rem);
}

.schedule__tab-button:active {
    transform: translateY(0);

    box-shadow:
        0 0.2rem 0.4rem rgba(60, 64, 67, 0.2);
}


.schedule__tab-button--active {
    background-color: var(--color-main);
    color: var(--color-text-fixed-white);
}


/* Event 페이지의 Schedule 부분 "위에서 아래로 스르륵" 나타나는 애니메이션 정의 */
@keyframes fadeInDown {
    from {
        opacity: 0;
        /* Y축으로 -1.5rem (살짝 위)에서 시작 */
        transform: translateY(-1.5rem);
    }

    to {
        opacity: 1;
        /* Y축으로 0 (제자리)으로 이동 */
        transform: translateY(0);
    }
}

.schedule__tab-panel {
    width: 100%;
    padding: 0 0.8rem;
    display: none;
    flex-direction: column;
}

.schedule__tab-panel--active {
    display: flex;
}

/* --- 개별 아이템 순차 애니메이션 (새로 추가) --- */

/* (A) 활성화된 패널 내부의 아이템들을 기본적으로 투명하게 설정 */
.schedule__tab-panel--active .schedule__item {
    opacity: 0;
    /* 중요: 딜레이 동안 보이지 않게 함 */

    /* (B) 애니메이션 속성 적용 */
    animation: fadeInDown 0.5s ease-out;

    /* (C) 애니메이션이 끝나면 마지막 상태(보이는 상태)를 유지시킴 */
    animation-fill-mode: forwards;
}

/* (D) :nth-child를 이용해 각 아이템에 순차적으로 딜레이 적용 */
.schedule__tab-panel--active .schedule__item:nth-child(1) {
    animation-delay: 0.1s;
}

.schedule__tab-panel--active .schedule__item:nth-child(2) {
    animation-delay: 0.2s;
}

.schedule__tab-panel--active .schedule__item:nth-child(3) {
    animation-delay: 0.3s;
}

.schedule__tab-panel--active .schedule__item:nth-child(4) {
    animation-delay: 0.4s;
}

.schedule__tab-panel--active .schedule__item:nth-child(5) {
    animation-delay: 0.5s;
}

.schedule__tab-panel--active .schedule__item:nth-child(6) {
    animation-delay: 0.6s;
}

.schedule__tab-panel--active .schedule__item:nth-child(7) {
    animation-delay: 0.7s;
}

.schedule__tab-panel--active .schedule__item:nth-child(8) {
    animation-delay: 0.8s;
}

.schedule__tab-panel--active .schedule__item:nth-child(9) {
    animation-delay: 0.9s;
}

.schedule__tab-panel--active .schedule__item:nth-child(10) {
    animation-delay: 1.0s;
}

.schedule__tab-panel--active .schedule__item:nth-child(11) {
    animation-delay: 1.1s;
}

.schedule__tab-panel--active .schedule__item:nth-child(12) {
    animation-delay: 1.2s;
}

/* (필요한 만큼 딜레이 추가) */

.schedule__item {
    width: 100%;
    padding: 1.4rem 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 1.6rem;
    border-bottom: 0.1rem solid var(--color-main-soft);

    font-size: 1.4rem;
    font-weight: var(--font-weight-semibold);
    /* Figma = Bold --> CSS = SemiBold */
}

.schedule__item-first {
    width: 100%;
    padding-top: 0;
    padding-bottom: 1.4rem;
    border-bottom: 0.1rem solid var(--color-main-soft);
}

.schedule__item-meridiem {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-main);
}

.schedule__item-time {
    padding: 0;
    margin: 0;
    width: 14.4rem;
    color: var(--color-text-fixed-black);
}

.schedule__item-description {
    padding: 0;
    margin: 0;
    width: 100%;
    color: var(--color-text-fixed-black);
}

.schedule__item-last {
    border-bottom: 0;
}

.schedule__tab-panel-too-long .schedule__item {
    padding: 1.2rem 0;
    font-size: 1.2rem;
}

.schedule__tab-panel-too-long .schedule__item-first {
    padding-top: 0;
}



/* ===============================================
   decorative-divider
   =============================================== */
.decorative-divider {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 3.2rem;
}

.decorative-divider__graphic {
    width: 100%;
}

.decorative-divider__content {
    width: 100%;
    display: flex;
    justify-content: center;
}

.decorative-divider__text {
    padding: 0;
    margin: 0;
    font-size: 11.2rem;
    font-weight: var(--font-weight-extrabold);
    color: var(--color-hero);
}

/* ===============================================
   theme-verse
   =============================================== */
.theme-verse {
    width: 100%;
    padding: 0 25.6rem;
}

.theme-verse__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.theme-verse__heading {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.theme-verse__label,
.theme-verse__reference {
    padding: 0;
    margin: 0;
    width: 100%;
    font-family: "source-serif-pro", serif;
    font-size: 8.8rem;
    font-weight: var(--font-weight-light);
    color: var(--color-text-primary);
}

.theme-verse__body {
    display: flex;
    flex-direction: column;
    gap: 25.6rem;
}

.theme-verse__text {
    padding: 0;
    margin: 0;
    width: 100%;
    font-family: "source-serif-pro", serif;
    font-size: 3.2rem;
    font-weight: var(--font-weight-regular);
    color: var(---color-text-primary);
    line-height: 160%;
}

.theme-verse__highlight {
    padding: 0;
    margin: 0;
    width: 100%;
    font-family: "source-serif-pro", serif;
    font-size: 11.2rem;
    font-weight: var(--font-weight-light);
    /* Figma = regular --> CSS = light */
    color: var(--color-hero);
    text-align: right;
}


.theme-verse__visual {
    width: 100%;
    display: flex;
    flex-direction: row;
}

.theme-verse__figure {
    width: 61.6rem;
    height: auto;
    overflow: hidden;
    flex-shrink: 0;
}

.theme-verse__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-verse__action {
    width: 100%;
    padding-top: 3.2rem;
    padding-right: 3.2rem;
    display: flex;
    justify-content: flex-end;
}

.theme-verse__action .btn-ghost {
    width: fit-content;
    height: fit-content;
    padding: 1.6rem 3.2rem;
    margin: 0;

    border: 0;
    border-radius: 20.0rem;

    font-size: 3.2rem;
    font-weight: var(--font-weight-semibold);
    /* Figma = Bold --> CSS = SemiBold */
    color: var(--color-text-fixed-white);
    background-color: var(--color-hero);
    cursor: pointer;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* 기본 상태 (안 보임) */
.theme-verse__label,
.theme-verse__reference,
.theme-verse__text,
.theme-verse__highlight,
.btn-ghost {
    opacity: 0;
    transform: translateY(2.4rem);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}


/* 활성화 상태 */
.theme-verse.is-visible .theme-verse__label {
    transition-delay: 0.1s;
}

.theme-verse.is-visible .theme-verse__reference {
    transition-delay: 0.5s;
}

.theme-verse.is-visible .theme-verse__text {
    transition-delay: 0.9s;
}

.theme-verse.is-visible .theme-verse__highlight {
    transition-delay: 1.3s;
}

.theme-verse.is-visible .btn-ghost {
    transition-delay: 1.7s;
}

.theme-verse.is-visible .theme-verse__label,
.theme-verse.is-visible .theme-verse__reference,
.theme-verse.is-visible .theme-verse__text,
.theme-verse.is-visible .theme-verse__highlight,
.theme-verse.is-visible .btn-ghost {
    opacity: 1;
    transform: translateY(0);
}



/* ===============================================
    Footer
    =============================================== */
.footer__wave {
    display: none;
}



/* ===============================================
   모바일 반응형
   Desktop : 1728px / (1512px) / 1440px / (1280px)
   Mobile : 1024px / 768px / 390px / 375px

   반응형 --> 1512px = 95em(94.5)
   반응형 --> 1280px = 80em
   푸터  --> 1024px = 64em
   반응형 --> 0768px = 48em
   반응형 --> 0612px = 39em(38.25) - 390px 대신
            0390px = 25em(24.375)
            0375px = 24em(23.43)
            0320px = 16em
   =============================================== */
@media (max-width: 1512px) {
    /* ===============================================
    theme-verse
    =============================================== */
    .theme-verse {
        padding-left: 12.8rem;
        padding-right: 12.8rem;
    }
}



@media (max-width: 1280px) {
    /* ===============================================
    theme-verse
    =============================================== */
    .theme-verse {
        padding-left: 6.4rem;
        padding-right: 6.4rem;
    }
}



@media (max-width: 1024px) {
    /* ===============================================
    Overview Main
    =============================================== */
    .overview-main {
        width: 48.0rem;
    }

    /* --- 01 Event Details --- */
    .event-details {
        width: 100%;
        height: fit-content;
        padding: 3.2rem 3.2rem 6.4rem 3.2rem;
        flex-direction: column;
    }

    .event-details__poster {
        width: 100%;
        height: fit-content;
    }

    .event-details__info {
        width: 100%;
        height: fit-content;
        gap: 6.4rem;
    }

    .event-details__key-info {
        gap: 3.2rem;
        align-items: center;
    }

    .event-details__key-info-list {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    /* --- 02 Event Speaker --- */
    .event-speaker__title {
        text-align: center;
    }

    .event-speaker__list-wrapper {
        padding: 3.2rem 3.2rem 6.4rem 3.2rem;
        gap: 3.2rem;
    }

    .event-speaker__list {
        max-width: 41.6rem;
        width: 100%;
        height: fit-content;
        flex-wrap: wrap;

        align-items: center;
        justify-content: center;
        gap: 3.2rem;
    }

    .event-speaker__item {
        width: fit-content;
    }

    /* --- 03 Event Schedule --- */
    .event-schedule__title {
        text-align: center;
    }

    .event-schedule__content {
        flex-direction: column-reverse;
    }

    .schedule__figure {
        width: 100%;
        height: auto;
    }

    .schedule__tabs {
        /* width: 48.0rem; */
        width: 100%;
        height: 62.059rem;
    }


    /* ===============================================
    decorative-divider
    =============================================== */
    .decorative-divider__text {
        font-size: 8.8rem;
    }

    /* ===============================================
    theme-verse
    =============================================== */
    .theme-verse__content {
        gap: 2.4rem;
    }

    .theme-verse__heading {
        gap: 1.6rem;
    }

    .theme-verse__label,
    .theme-verse__reference {
        font-size: 6.4rem;
        font-weight: var(--font-weight-regular);
    }

    .theme-verse__text {
        font-size: 2.8rem;
    }

    .theme-verse__highlight {
        font-size: 8.8rem;
        font-weight: var(--font-weight-regular);
    }

    .theme-verse__figure {
        flex: 1;
        min-width: 0;
        height: auto;
    }

    .theme-verse__action {
        flex: 1;
        min-width: 0;
        padding-top: 1.6rem;
        padding-right: 1.6rem;
    }

    .theme-verse__action .btn-ghost {
        font-size: 2.4rem;
    }

    /* ===============================================
    Footer
    =============================================== */
    .site-footer__bottom {
        padding-top: 1.0rem;
    }
}



@media (max-width: 768px) {
    /* ===============================================
    Overview Page
    =============================================== */
    .overview-page {
        gap: 16.0rem;
    }

    /* ===============================================
    Overview Main
    =============================================== */
    .overview-main {
        gap: 16.0rem;
    }


    /* ===============================================
    decorative-divider
    =============================================== */
    .decorative-divider__text {
        font-size: 6.4rem;
    }

    /* ===============================================
    theme-verse
    =============================================== */
    .theme-verse__label,
    .theme-verse__reference {
        font-size: 4.8rem;
    }

    .theme-verse__body {
        gap: 16.0rem;
    }

    .theme-verse__text {
        font-size: 2.0rem;
    }

    .theme-verse__highlight {
        font-size: 6.4rem;
    }

    .theme-verse__action .btn-ghost {
        padding: 1.2rem 2.4rem;
        font-size: 1.8rem;
    }
}



@media (max-width: 612px) {
    /* ===============================================
    Overview Page
    =============================================== */
    .overview-page {
        gap: 12.8rem;
    }

    /* ===============================================
    Overview Main
    =============================================== */
    .overview-main {
        width: 100%;
        padding-left: 3.2rem;
        padding-right: 3.2rem;
        gap: 12.8rem;
    }

    .event-details__key-info-title,
    .event-speaker__title,
    .event-schedule__title {
        font-size: 4.2rem;
    }

    /* --- 01 Event Details --- */
    .event-details {
        padding: 0;
        gap: 1.6rem;
        border: 0;
        border-radius: 0;
        background-color: transparent;
    }

    .event-details__poster {
        border: 0.3rem solid var(--color-hero);
    }

    .event-details__info {
        padding: 1.6rem;
        gap: 1.2rem;
        border: 0.3rem solid var(--color-hero);
        border-radius: 6.0rem;
        background-color: var(--color-background-surface);
    }

    .event-details__key-info {
        gap: 1.6rem;
    }

    .event-details__key-info-list {
        padding-left: 0;
        padding-right: 0;
        gap: 1.2rem;
    }

    .event-details__key-info-item {
        padding: 1.2rem 1.6rem;
        border-bottom: 0;
        border-radius: 20.0rem;
        background-color: var(--color-hero-soft);
    }

    .event-details__key-info-item--cost {
        border-radius: 4.0rem;
    }

    .event-details__key-info-icon {
         width: 2.0rem;
        height: 2.0rem;
    }

    .event-details__key-info-text {
        font-size: 1.4rem;
        line-height: 140%;
    }


    /* --- 02 Event Speaker --- */
    .event-speaker__list-wrapper {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
        border-radius: 6.0rem;
    }

    .event-speaker__item {
        width: 100%;
    }

    .event-speaker__item-border-top {
        padding-top: 3.2rem;
        border-top: 0.1rem solid var(--color-border-line-default);
    }

    /* --- 03 Event Schedule --- */
    .schedule__tabs {
        height: auto;
        padding: 3.2rem 2.4rem 1.6rem 2.4rem;
        gap: 1.6rem;
    }

    .schedule__tab-list {
        gap: 1.6rem;
        justify-content: center;
    }

    .schedule__tab-button {
        width: fit-content;
        height: fit-content;
        padding: 1.0rem;
        font-weight: var(--font-weight-bold);
        /* Figma = ExtraBold --> CSS = Bold */
    }

    .schedule__tab-button-span {
        display: none;
    }

    .schedule__tab-panel {
        padding: 0;
    }

    .schedule__item {
        padding: 1.6rem 0;
    }

    .schedule__item-first {
        padding-top: 0;
        padding-bottom: 1.6rem;
    }

    .schedule__tab-panel-too-long .schedule__item {
        padding: 1.6rem 0;
        font-size: 1.4rem;
    }

    /* ===============================================
    decorative-divider
    =============================================== */
    .decorative-divider {
        gap: 1.6rem;
    }

    .decorative-divider__text {
        font-size: 4.0rem;
    }

    /* ===============================================
    theme-verse
    =============================================== */
    .theme-verse {
        padding: 0 3.2rem;
    }

    .theme-verse__label,
    .theme-verse__reference {
        font-size: 3.2rem;
    }

    .theme-verse__body {
        gap: 12.8rem;
    }

    .theme-verse__text {
        font-size: 1.8rem;
        line-height: 200%;
    }

    .theme-verse__highlight {
        font-size: 3.2rem;
        text-align: center;
        font-weight: var(--font-weight-semibold);
    }


    .theme-verse__visual {
        flex-direction: column-reverse;
        gap: 12.8rem;
    }

    .theme-verse__figure {
        width: 100%;
    }

    .theme-verse__action {
        width: 100%;
        padding: 1.6rem 0 0 0;
        justify-content: center;
    }
}