@charset "utf-8";


@font-face {
    font-family: 'SoukouMincho';
    src: url(../fonts/SoukouMincho.ttf) format('truetype');
}

@font-face {
    font-family: 'digital-7';
    src: url(../fonts/digital-7mono.ttf) format('truetype');
}

@font-face {
    font-family: 'Noto Sans KR';
    src: url(../fonts/NotoSansKR-Light.otf) format('opentype');
}

@font-face {
    font-family: 'FiraSansExtraCondensed-Bold';
    src: url('../fonts/FiraSansExtraCondensed-Bold.ttf') format('truetype');
}


/* 기본 세팅 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a:any-link {
    text-decoration: none;
    color: #fff;
}

ul {
    list-style: none;
}

html {
    overflow-x: hidden;
}

body {
    font-family: 'Noto Sans KR', sans-serif;
}

.wrap {
    width: 100%;
    margin: 0 auto;
}

p {
    font-family: 'Noto Sans KR', sans-serif;
}




/* 🔵 Intro Section */

.intro-section {
    position: relative;
    min-height: 100vh;
    padding: 100px 16px;
    background-color: #273389;
    color: white;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto;
    grid-template-areas:
        "poster"
        "title"
        "sub"
        "text"
        "btn";
    justify-items: center;
    align-items: start;
    gap: 16px;
}



.intro-poster {
    grid-area: poster;
    width: 100%;
    max-width: 300px;

}

.intro-section h1 {
    padding-top: 20px;
    grid-area: title;
    font-size: 24pt;
    font-family: 'SoukouMincho', serif;
    font-weight: 100;
    text-align: center;
    width: 300px;
    margin: 0 auto;
}

.exhibition-info {
    font-size: 16pt;
    font-weight: 100;
}

.intro-text {
    grid-area: text;
    font-size: 16px;
    font-weight: 100;
    max-width: 300px;
    text-align: left;
    margin: 0 auto;
    padding-top: 20px;

}

.intro-buy {
    position: absolute;
    left: 50%;
    bottom: 40%;
    transform: translate(50px, 330px);
    font-size: 14px;
    width: 100px;
    height: 20px;
    margin: 0 auto;

}

/* 🔵 Filter Tabs (Grid로 구성) */
.filter-nav {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: 45px;
    background-color: #F4ACBB;
}

.filter-nav ul {
    height: 45px;
    width: 100%;
}

.filter-nav ul li {
    float: left;
    width: 33.3333%;
    height: 45px;
}

.check {
    background-color: #EA375C;
    color: #fff;
}

.tab-1,
.tab-2,
.tab-3 {
    line-height: 2.5;
    font-size: 13pt;
    text-align: center;
    color: #fff;
    cursor: pointer;
}


/* 🔵 Artwork Section */

/*******************페이지1*****************/
.page-1 {
    width: 100vw;
    position: relative;
    background-color: #B1DCFC;
    padding: 70px 20px 101px 20px;
}

.page-1 > p {
    color: #226FC1;
    top: 35px;
    right: 10px;
    position: absolute;
}

.artwork-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.artwork-thumb img {
    width: 100%;
    display: block;
}







/* 🔵 페이지 2, 3 여백 통일 */

/*******************페이지2*****************/
.page-2 {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background-color: #B1DCFC;
    padding: 40px 20px 52px 20px;
}

.EX-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    /* 그리드 전체 가운데 정렬 */
    column-gap: clamp(8px, 4vw, 40px);
    /* 가로 간격만 반응형 */
    row-gap: 16px;
}

.EX-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 비율 맞추면서 꽉 채우기 */
    display: block;
}

/*******************페이지3*****************/
.page-3 {
    background-color: #B1DCFC;
    padding: 40px 20px 193px 20px;
}

.be-1 img {
    width: 100%;
    display: block;
    margin: 20px auto;
}

.be-1 h1 {
    font-size: 18px;
}

















/************태블릿***************/
@media screen and (min-width: 700px) and (max-width: 1023px) {


    .intro-section {
        min-height: 100vh;
        padding: 80px 16px;
        background-color: #273389;
        color: white;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto auto;
        grid-template-areas:
            "poster"
            "title"
            "sub"
            "text"
            "btn";
        justify-items: center;
        align-items: start;
        gap: 16px;
    }



    .intro-poster {
        grid-area: poster;
        width: 100%;
        max-width: 300px;

    }



    .intro-section h1 {
        margin-left: -20px;
        font-size: 50px;
        width: 500px;
    }

    .exhibition-info {
        text-align: left;
        font-size: 32px;
        width: 430px;
        margin-left: 0;
    }

    .intro-text {
        position: relative;
        text-align: left;
        font-size: 20px;
        max-width: 510px;

    }


    .intro-buy {
        position: absolute;
        right: 50%;
        top: 50%;
        transform: translate(105px, 410px);
        font-size: 20px;
        width: 140px;
    }




    .page-1 {
        position: relative;
        padding: 125px 102px 126px 102px;
        /* 상하좌우 패딩 넉넉하게 */
    }

    .page-1 > p {
        position: absolute;
        top: 80px;
        right: 50px;
    }

    /************** 2페이지**************/
    .page-2 {
        padding: 60px 37px 86px 37px;

    }

    .EX-grid {
        grid-template-columns: repeat(3, 1fr);
        /* 3열 구성 */
        gap: 20px;
    }

    .EX-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 비율 맞추면서 꽉 채우기 */
        display: block;
    }
}

/************** 3페이지**************/
.be-1 img {
    max-width: 773px;
}

.be-1 h1,
p {
    margin: 0 auto;
    max-width: 770px;
    text-align: justify
}




/****************pc***************/
@media screen and (min-width: 1024px) {
    .menu li:nth-child(2) a {
        color: #f4acbb;
    }

    .intro-section {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .intro-poster {
        margin: 60px 0 0;
        width: 100%;
        max-width: 500px;
        grid-column: 1 / 2;
        justify-self: end;
        margin-right: -50px;
    }




    .intro-text-group {
        padding-left: 120px;
        grid-column: 2 / 4;
        justify-self: start;
    }

    .intro-section h1 {
        padding-top: 150px;
        grid-area: title;
        font-size: clamp(32px, 5vw, 64px);
        font-family: 'SoukouMincho', serif;
        font-weight: 100;
        text-align: left;
        /*        text-align: center;*/
        width: 600px;
        /*        margin: 0 auto;*/
    }


    .exhibition-info {
        font-size: clamp(18px, 2.5vw, 36px);
        margin-top: 20px;
    }

    .intro-text {
        grid-area: text;
        font-size: clamp(16px, 2vw, 24px);
        font-weight: 100;
        max-width: 610px;
        line-height: 1.7;
        text-align: left;
        margin-top: 40px;
    }

    .intro-buy {
        position: absolute;
        right: 20%;
        top: 50%;
        transform: translate(90px, 300px);
        font-size: clamp(14px, 2vw, 20px);
        width: 140px;
        height: 30px;
        font-size: 20px;

    }



    .page-1 {
        padding: 125px 60px 126px 60px;
    }

    .page-1 > p {
        top: 80px;
        right: 70px;
    }

    .artwork-grid {
        grid-template-columns: repeat(3, 1fr);
        /* 3열 구성 */
        gap: 40px;
    }

    .artwork-thumb {
        padding: 10px;
        background-color: #dcdcdc;
    }

    .artwork-thumb img {
        display: block;
        width: 100%;
        height: auto;
    }

    /*******************2페이지*******************/
    .page-2 {
        padding: 40px 396px 52px 396px;

    }

    .EX-grid {
        display: grid;
        grid-template-columns: repeat(12, 90px);
        /* 가로 4칸 균등 */
        grid-template-rows: repeat(3, 475px);
        /* 세로 3행 높이 (원하면 조정) */
        gap: 16px;
    }

    .EX-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* 이미지1 */
    .EX-thumb:nth-child(1) {
        grid-column: 1 / span 4;
    }

    /* 이미지2 */
    .EX-thumb:nth-child(2) {
        grid-column: 5 / span 4;
    }

    /* 이미지3 */
    .EX-thumb:nth-child(3) {
        grid-column: 9 / span 4;
    }

    /* 이미지4 (2×2 왼쪽 아래에 위치) */
    .EX-thumb:nth-child(4) {
        grid-column: 1 / span 6;
        /* 1~2열 */
        grid-row: 2 / span 2;
        /* 2~3행
    */
    }

    /* 이미지5 (2행, 오른쪽 2칸) */
    .EX-thumb:nth-child(5) {
        grid-column: 7 / span 6;
        /* 3~4열 */
        grid-row: 2 / span 1;
        /* 2행 */
    }

    /* 이미지6 (3행, 오른쪽 2칸) */
    .EX-thumb:nth-child(6) {
        grid-column: 7 / span 6;
        /* 3~4열 */
        grid-row: 3 / span 1;
        /* 3행 */
    }


    /****************3페이지****************/


    .be-1 img {
        max-width: 998px;
        margin-top: 30px;
        margin-bottom: 60px;
    }

    .be-1 h1,
    p {
        margin: 0 auto;
        max-width: 1000px;
        text-align: justify
    }


    /* *********** 네비게이션 *********** */
    .filter-nav ul {
        width: 1133px;
        /* 정확히 맞춰줌 */
        margin: 0 auto;
        /* 중앙 정렬 */
        overflow: hidden;
        /* float 해제 */
    }

    .filter-nav .filter-nav li {
        float: left;
        width: 260px;
        margin-right: 116px;
        /* li 간격 조절 */
        text-align: center;
        line-height: 45px;
        font-size: 16pt;
        background-color: pink;
    }

    /* 간격 추가는 margin-right로만 부여 */
    .filter-nav li:last-child {
        margin-right: 0;
    }
}

/* 공통 등장 애니메이션 설정 */
.scroll-fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s ease-out;
}

.scroll-fade-up.active {
    opacity: 1;
    transform: translateY(0);
}
