.inner { max-width: 1440px; }
.button { padding: 0; height: auto; border-radius: 0; }


.section-container { overflow: hidden; color: #141514; background: #fff; }
.section-hero img { width: 100%; }
.section-program { padding: clamp(40px, 9.38vw, 120px) 0; text-align: center; background: #000; background: url('./images/program-background.jpg') no-repeat center / cover; }
.section-program .inner { width: 100%; max-width: 1200px;  margin: 0 auto;}
.section-program .heading { margin-bottom: clamp(40px, 5.73vw, 110px); }
.section-program .heading img { width: clamp(200px, 27.09vw, 520px); }
.section-program .h3 { margin: 0 0 120px; font-family: "Noto serif KR", serif; font-size: clamp(2.6rem, 3.5vw, 6.4rem); font-weight: 800; line-height: 1.3; text-align: center; color: #000;}
.section-program .h3 img { width: clamp(180px, 22.66vw, 435px); }
.section-program .lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));  gap: 14px; margin: 0; padding: 0; list-style: none; align-items: stretch;}
.section-program .lists .item { display: flex; flex-direction: column; min-width: 0;}
.section-program .program-card-header { flex-shrink: 0;  height: 120px; display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0; padding: 0 20px; background: #50090e; color: #fff; font-size: clamp(2rem, 2.4vw, 3.2rem); font-weight: 600; line-height: 1.4;}
.section-program .program-card-header span { font-size: clamp(2rem, 2.4vw, 3.2rem); font-weight: 400;}
.section-program .program-card-body { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 60px 40px; background: #FEF9F3;}
.section-program .program-item { width: 100%; height: 330px; flex: 0 0 330px; display: flex; flex-direction: column; align-items: center; text-align: center;}
.section-program .program-item h4 { width: 100%; height: 120px; flex: 0 0 120px; display: flex; align-items: center; justify-content: center; margin: 0 0 24px; font-size: clamp(2.4rem, 2.65vw, 3.2rem); font-weight: 800; line-height: 1.5; color: #400407;  word-break: keep-all;}
.section-program .program-item p { width: 100%; margin: 0; font-size: clamp(1.5rem, 2.2vw, 2.4rem); font-weight: 600; line-height: 1.65; color: #937544; word-break: keep-all;}
.section-program .program-divider { flex-shrink: 0; width: 100%; height: 1px; margin: 0 0 30px; background: #555;}
.section-program .small { display: block; margin-top: 12px; font-size: clamp(1.6rem, 1.8vw, 2rem); line-height: 1.5; color: #937544;}


.section-store { padding: clamp(40px, 9.38vw, 120px) 0; text-align: center; background: url('./images/store-background.jpg') no-repeat center / cover; }
.section-store .heading { font-family: "Noto Serif KR", serif; font-size: clamp(2.4rem, 2.5vw, 4.8rem); }
.section-store .card { max-width: 1080px; margin: clamp(40px,  4.17vw, 80px) auto clamp(24px, 3.13vw, 60px); padding: clamp(32px, 9.38vw, 100px) clamp(16px, 4.17vw, 80px); text-align: center; background: #FEF9F3; box-shadow: 10px 10px 35px rgba(0,0,0,0.2); }
.section-store .logo { text-align: center; margin-bottom: 80px;}
.section-store .logo img { width: clamp(200px, 31.88vw, 612px); }
.section-store .date-container {  padding: 120px 0 19px; border-top: 1px solid #000;}
.section-store .date-container h3 { margin: 0 0 60px; font-family: "Noto Serif KR", serif; font-size: clamp(2rem, 2.65vw, 5.2rem); line-height: 1.5; font-weight: 700; color: #400407;}
.section-store .date-container p { margin: 0; line-height: 2; font-family: "Noto Serif KR", serif; font-size: clamp(1.6rem, 1.9vw, 3.2rem); font-weight: 500; color: #400407; word-break: keep-all;}
.section-store .data { color: #400407; margin-top: clamp(40px, 5.21vw, 100px); padding-top: clamp(24px, 3.13vw, 60px); text-align: left; font-size: clamp(1.6rem, 1.46vw, 2.8rem); border-top: 1px solid #400407; }
.section-store .data .col { display: flex; gap: 20px; }
.section-store .data .col + .col { margin-top: clamp(16px, 0.63vw, 33px); }
.section-store .data .dt { flex-shrink: 0; width: 200px; font-weight: 500; }
.section-store .data .dd { font-weight: 700; }
.section-store .link { display: inline-flex; }
.section-store .link img { width: clamp(300px, 32.87vw, 631px); }


.section-event { padding: clamp(32px, 9.38vw, 180px) 0; background: url('./images/event-background.jpg') no-repeat center / cover; }
.section-event .heading { margin-bottom: clamp(30px, 4.17vw, 80px); text-align: center; font-family: "Noto Serif KR", serif; }
.section-event .heading .title { font-size: clamp(2.4rem, 2.5vw, 4.8rem); font-weight: 900; }
.section-event .heading .text { margin-top: clamp(12px, 0.94vw, 18px); font-size: clamp(1.6rem, 1.36vw, 2.6rem); }
.section-event .lists { border-top: 1px solid #141514; }
.section-event .image { flex: 1 1; }
.section-event .image img { display: block; width: 100%; }
.section-event .contents { flex: 1 1; }
.section-event .item { display: flex; align-items: center; justify-content: space-between; gap: clamp(30px,  4.17vw, 80px); padding: 40px 0; border-bottom: 1px solid #141514; }
.section-event .item:last-child { border-bottom: none; }
.section-event .item .title { font-family: "Noto Serif KR", serif; font-size: clamp(1.8rem, 1.67vw, 3.2rem); font-weight: 700; }
.section-event .item .text { margin: clamp(16px, 1.67vw, 32px) 0; font-size: clamp(1.6rem, 1.15vw, 2.2rem); color: #444; }
.section-event .item .small { display: block; font-family: "Noto Serif KR", serif; font-size: inherit; font-weight: 500; color: #AF7D22; }
.section-event .data { overflow: hidden; display: grid; grid-template-columns: repeat(3, 1fr); padding: clamp(16px, 2.09vw, 40px) clamp(32px, 1.05vw, 20px); border: 1px solid #CC9530; background: #fff; }
.section-event .col { padding: 0 clamp(16px, 2.09vw, 40px); text-align: center; }
.section-event .col + .col { border-left: 1px solid #CC9530; }
.section-event .dt { margin-bottom: clamp(10px, 1.05vw, 20px); font-family: "Noto Serif KR", serif; font-size: clamp(1.6rem, 1.05vw, 2rem); color: #b58b00; }
.section-event .dd { line-height: 1.55; font-family: "Noto Serif KR", serif; font-size: clamp(1.6rem, 1.05vw, 2rem); }
.section-event .buttons { margin-top: clamp(30px,  4.17vw, 80px); text-align: center; }


.section-policy {
    padding: clamp(24px, 9.38vw, 180px) 0;
    font-family: "Pretendard", sans-serif;
    background: #ffffff;
}

.section-policy h2 {
    font-size: clamp(1.5rem, 1.88vw, 3.6rem);
}

.section-policy ol {
    margin-top: clamp(12px, 2.09vw, 40px);
    margin-bottom: clamp(8px, 1.05vw, 20px);
    margin-left: revert;
    padding-left: clamp(14px, 1.46vw, 28px);
    list-style-type: revert;
}

.section-policy ol li {
    line-height: 1.6;
    font-size: clamp(1.3rem, 1.36vw, 2.6rem);
}

.section-policy small {
    display: block;
    line-height: 1.4;
    font-size: clamp(1.2rem, 1.15vw, 2.2rem);
}

@media (max-width: 1024px) {
    .section-hero .visual { flex-direction: column; gap: 40px; }
    .section-hero .character { padding-left: 0; }
    .section-hero .character::before { display: none; }

    .section-program .lists { grid-template-columns: 1fr; }
    .section-program .lists .item img { max-width: 600px; width: 100%; }

    .section-event .item { flex-direction: column; gap: 32px; }
    .section-event .image { width: 100%; }
    .section-event .data { grid-template-columns: 1fr; }
    .section-store .data .col { flex-direction: column; gap: 4px; }
    .section-event .col { padding: clamp(16px, 2.09vw, 40px) 0; }
    .section-event .col + .col { border-top: 1px solid #CC9530; border-left: 0; }

}

@media (max-width: 768px) {

    /* .section-program { padding-bottom: 80px; }
    .section-program .lists .item img { width: 90%; } */

    .section-store { padding: 80px 0; }

    .section-event { padding: 80px 0; }
    .section-store .date-container .date .block:first-child .span { margin-left: -0.6em; }

    .section-store .heading,
    .section-event .heading .title { font-size: 2.4rem; }

    .section-event .item .title { font-size: 1.8rem; }

    .section-store .logo {margin-bottom: 20px;}
    .section-store .date-container {padding: 60px 0 20px;}
    .section-store .date-container h3 {margin: 0 0 40px;}


    .section-program { padding: 60px 20px; }
    .section-program .heading { margin-bottom: 40px; }
    .section-program .heading img {  width: clamp(180px, 45vw, 280px); }
    .section-program .h3 { margin-bottom: 40px; }
    .section-program .h3 img { width: clamp(160px, 42vw, 240px); }
    .section-program .program-card-header { height: auto; min-height: 64px; }
    .section-program .program-card-body { padding: 25px 12px; }
    .section-program .program-item { height: 230px; flex-basis: 230px; }
    .section-program .program-item h4 { height: 80px; flex-basis: 80px; margin-bottom: 16px;}
    .section-program .program-divider { margin-bottom: 20px;}

}
