@media (min-width: 1441px){



}

@media all and (max-width: 812px) and (orientation:portrait){

body.homepage {
    overflow-x: hidden;
    overflow-y: auto;
}

.header {
    padding: 40px 40px 0 40px;
}

.homepage .mini-slider.home-art .panel-more.mver {
    display: inline-block;
}

.menu {
    height: 40px;
}

.homepage .panel-more {
    position: relative;
    right: unset;
    bottom: unset;
    float: right;
    height: 40px;
    align-content: end;
}

.homebtn {
    height: 40px;
    margin-bottom: 0;
}


.homepage .panel {
    position: relative;
    padding: 0 40px;
    box-sizing: border-box;
}


.panel h2 {
    margin: 0;
    height: 40px;
    color: #000;
}

.aboutpage .about-panel h2, .about-wrap h2 {
    color: #000000;
}

  /* 슬라이드 내부 정렬을 위쪽으로 */
  .newspage .mini-slider .swiper-slide .media-box,
  .exhibitionpage .viewer .swiper-slide,
  .exhibitionpage .viewer .swiper-slide .media-box{
    display: flex;
    align-items: flex-start !important; /* ← 핵심 */
    justify-content: center;            /* 좌우는 가운데 */
  }

    #home-art .swiper-slide .media-box {
        display: flex;
        align-items: flex-end;
        flex-direction: column;
        justify-content: flex-start;
        height: 100%;
    }

.homepage .mini-slider.home-art .swiper-slide.is-portrait img {
    height: auto;
    width: auto;
    max-height: 100%;
    object-fit: contain;
}

  /* 이미지/비디오/임베드 공통: 위쪽 기준으로 contain */
  .mini-slider img,
  .mini-slider video,
  .mini-slider iframe,
  .viewer img,
  .viewer video,
  .viewer iframe{
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: top center;  /* 이미지/비디오에 적용 */
  }

  .homepage .mini-slider.home-art .panel-more {
    position: relative;
    right: 0;
    bottom: unset;
    font: 12px / 1 "Kade", system-ui;
    color: #707070;
    height: 40px;
    display: inline-block;
    text-align: right;
    /* float: right; */
    /* align-items: flex-end; */
    /* float: unset; */
}

.homepage .mini-slider.home-art .swiper-slide {
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
}

.news-embed {
    place-self: center;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 1px solid #eee;
    display: grid;
    place-items: center;
    color: #777;
}

  .homepage .rail{
    height: auto;              /* 고정 높이 해제 */
    overflow: visible;         /* 세로 스크롤 허용 */
  }

  /* 스와이퍼 마크업을 그냥 블록흐름으로 사용 */
  #rail.is-mobile{
    overflow-x: hidden;    
    margin-bottom: 40px;
  }

  /* ✅ 레일의 1뎁스 래퍼만 세로 흐름으로 */
  #rail.is-mobile > .swiper-wrapper{
    display: block;
  }

  /* ✅ 패널(섹션) 카드들만 100% 폭으로 */
  #rail.is-mobile > .swiper-wrapper > .swiper-slide.panel {
    width: 100%;
    margin: 0;
    padding: 0 40px;     /* 모바일 좌우 여백 */
    box-sizing: border-box;        
    display: inline-block;
  }

  /* 섹션 간 간격 */
  #rail.is-mobile > .swiper-wrapper > .panel + .panel{
    margin-top: 48px;
  }

  /* 데스크탑용 고정/최소 폭 무시 */
  .homepage .panel--about,
  .homepage .panel--art,
  .homepage .panel--news{
    width: auto;
    min-width: 0;
  }

    .homepage .mini-slider.home-art .swiper-wrapper {
        top: 40px;
        padding-bottom: 40px;
    }

  /* 섹션 간 간격 */
  #rail.is-mobile .panel + .panel{
    margin-top: 48px;
  }

  /* (선택) 홈 아트 섹션 네비는 모바일에서 항상 보이게 */
    .homepage .mini-slider.home-art .mini-nav {
        opacity: 1;
        top: 0;
        align-items: baseline;
    }

	.aboutpage {
	    --container-pad: 40px;
	}

    .aboutpage #about-brief .about-photo {
        display: none;
    }


	.about-full {
	    display: block;
	    height: 100%;
	    padding: 0;
	    width: 100%;
	}

	.aboutpage .about-panel .text {
	    margin-bottom: 0;
	}

	.about-full p {
	    margin-bottom: 16px;
	}

	.text.scrollable {
	    width: 100%;
	    margin-bottom: 40px;
	}

    figure.media.scrollable {
        width: 100%;
        float: unset;
        display: grid;
        position: relative;
        height: auto;
        margin-bottom: 40px;
    }

    figure.media.scrollable img {
        display: inline-block;
        position: relative;
        width: 100%;
        height: auto;
        float: unset;
        margin-bottom: 40px;
    }

	figure.media.scrollable .caption {
	    display: inline-block;
	    position: relative;
	    width: auto;
	    height: auto;
	    right: unset;
	    bottom: unset;
	    text-align: right;
	    float: right;
	}

  /* 카드 안 여백/요소 배치(필요 시 조절) */
  .art-card{ padding: 0 20px; box-sizing: border-box; }

  /* 내부 미니슬라이더 영역은 유지 */
  .art-card .inner-swiper{ width:100%; }

  /* 모바일엔 호버가 없으니 버튼/More 노출을 보장 */
    /*.art-card .inner-nav {
        position: absolute;
        top: 40px;
        left: 40px;
        bottom: unset;
        margin-top: 0;
        opacity: 1;
        height: 40px;
        width: calc(100% - 80px);
    }*/

    .art-card .inner-nav {
        position: absolute;
        top: -4px;
        left: 40px;
        bottom: unset;
        margin-top: 0;
        opacity: 1;
        height: 40px;
        width: calc(100% - 80px);
        align-items: baseline;
        justify-content: flex-end;
    }

    .art-card .inner-nav .inner-prev {
        display: none;
    }

    .art-card .inner-nav .inner-next .cls-2 {
        fill: #b2b2b2;
    }

  .art-card .more{
    position: relative;
    right:auto; bottom:auto;
    display:inline-block;
    margin: 12px 0 32px;
  }

  /* 이미지 맞춤(혹시 가운데 정렬 끌어올 필요가 있으면) */
  .art-card img{ display:block; max-width:100%; height:auto; object-fit: contain; }

  #art-rail.is-mobile > .swiper-wrapper{
    display: block !important;
    transform: none !important;
  }
  #art-rail.is-mobile > .swiper-wrapper > .swiper-slide{
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    transform: none !important;
  }
  #art-rail.is-mobile .art-card{
    padding: 0 24px;
    box-sizing: border-box;
  }

    /* 페이지 컨테이너들 높이/오버플로우 풀기 */
  body.artworkspage main{
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  /* 레일/스와이퍼 컨테이너 높이/오버플로우 풀기 */
  #art-rail,
  .artworks-rail{
    height: auto !important;
    overflow: visible !important;
  }
  /* 세로 스택용 훅(is-mobile)이 붙은 경우 */
  #art-rail.is-mobile{
    overflow: visible !important;
  }

  /* 메인 레일의 '직계'만 스택 (이미 적용했을 가능성 높지만 재확인 차원에서 포함) */
  #art-rail.is-mobile > .swiper-wrapper{
    display: block !important;
    transform: none !important;
  }
  #art-rail.is-mobile > .swiper-wrapper > .swiper-slide{
    display: block !important;
    width: 100% !important;
    margin: 0 0 120px 0 !important;
    transform: none !important;
    height: auto !important;
  }

  /* 카드 내부는 세로 스택에서도 자연스럽게 */
  #art-rail.is-mobile .art-card{
    padding: 0 40px;
    box-sizing: border-box;
  }

    .artworkspage .art-card h3 {
        height: 40px;
        margin-bottom: 0px;
        color: #000;
    }

.homepage .panel h2 {
    color: #000000;
    transition: color 0.3s ease;
}

.news-col .news-head, .news-col .more {
    color: #000;
}

.artworkspage .art-card .more {
    position: relative;
    float: right;
    right: 0;
    bottom: 0;
    margin: 0;
    height: 40px;
    display: block;
    align-content: end;
}

.artworkspage .inner-prev, .artworkspage .inner-next, .mini-slider .mini-nav .prev, .mini-slider .mini-nav .next {
    width: 20px;
    height: 20px;
    opacity: 1;
}

    .workpage .main-slider {
        padding: 0 40px;
        height: auto;
        min-height: calc(100dvh - var(--header-h, 120px));
        min-height: calc(100svh - var(--header-h, 120px));
        padding-bottom: calc(40px + env(safe-area-inset-bottom));
        box-sizing: border-box;
    }

    .workpage {
        overflow-y: auto;
    }


.workpage .detail-caption {
    padding: 0 40px;
}

    .news-split {
        box-sizing: border-box;
        padding: 0 40px;
        display: grid;
        grid-template-columns: unset;
        gap: 40px;
        height: 100%;
        margin-bottom: 40px;
    }

.pcver {
  display: none !important;
}

.workpage .main-slider .nav-zone.prev {
    left: 10px;
}

.workpage .main-slider .nav-zone.next {
    right: 10px;
}

.workpage .main-slider .nav-zone svg {
    width: 20px;
    height: 20px;
    display: block;
    pointer-events: none;
}

.workpage .main-slider .nav-zone {
    width: auto;
    height: auto;
}

.workpage .cap-title {
    margin-bottom: 0;
    height: 40px;
}

.news-head {
    margin-bottom: 0px;
    height: 30px;
}

.news-col .mini-slider {
    position: relative;
    height: 100%;
    padding-bottom: 0;
    overflow: hidden;
        top: -44px;
}

.news-col .mini-slider .mini-nav .prev {
    display: none;
}

.news-col .mini-slider .swiper-wrapper {
    height: 100%;
}

.newspage .swiper-slide.is-landscape {
    display: flex;    
    justify-content: center;
    align-items: flex-start;
    /* overflow: hidden; */
    height: auto;
    overflow: hidden;
}

    .newspage .mini-slider .mini-nav {
        position: absolute;
        left: 0;
        right: 0;
        display: inline-block;
        align-items: center;
        height: 40px;
        opacity: 1;
        transition: opacity .3s;
        top: 0;
    }

    .newspage .mini-slider .mini-nav .cls-2 {
        fill: #b2b2b2;
    }

    .newspage .mini-slider .swiper-wrapper {
        height: 45vw;
        top: 40px;
        padding-bottom: 40px;
                padding-top: 14px;
    }

    .exhibitionpage .mini-slider .swiper-wrapper {
        height: auto;
        top: 40px;
        padding-bottom: 40px;
    }


    .newspage .swiper-slide.is-landscape {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        /* overflow: hidden; */
        height: auto;
        overflow: hidden;
    }

    .newspage .mini-slider .more {
        position: relative;
        bottom: unset;
        right: unset;
        /* bottom: 0; */
        z-index: 1;
        font: 12px / 1 'Kade', system-ui;
        color: #707070;
        text-decoration: none;
        transition: .2s;
        cursor: pointer;
        height: 40px;
        display: grid;
        position: relative;
        text-align: right;
        align-items: end;
    }

    #swiper-wrapper-ed4a3c14a3398eac {
        height: 50vw;
    }

main.split-2.newspage {
    --header-h: 40px;
    --side-pad: 40px;
    --col-gap: 40px;
    display: grid;
    display: inline-block;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: unset;
    column-gap: var(--col-gap);
    padding: 0 var(--side-pad);
    min-height: calc(100vh - var(--header-h));
    box-sizing: border-box;
    align-items: start;
    gap: 0;
}

.index-head {
    display: none;
}

.index-row {
    display: grid;
    grid-template-rows: 40px 1fr;
    grid-template-columns: unset;
    padding-bottom: 40px;
}

.cell.type {
    display: none;
}

.cell {
    font-size: 12px;
    line-height: 14px;
    text-transform: capitalize;
    min-height: 40px;
}

.viewer-col .index-title {
    margin-bottom: 30px;
}

    .newspage .mini-slider .mini-nav {
        position: absolute;
        left: 0;
        right: 0;
        display: inline-block;
        align-items: center;
        height: 40px;
        opacity: 1;
        transition: opacity .3s;
        top: 0;
        width: 100%;
    }


.exhibitionpage .viewer-col a#ex-more {
    color: #707070;
    position: absolute;
    right: 0;
    height: 40px;
    bottom: unset;
}

.ex-conpage .detail-split {
    display: grid;
    grid-template-columns: unset;
    grid-template-rows: 1fr;
    column-gap: var(--gap);
    padding: 0 40px;
    min-height: calc(100vh - var(--header-h));
    box-sizing: border-box;
    gap: 40px;
}

.ex-conpage .detail-body {
    height: 100%;
}

.ex-conpage .year {
    display: inline-block;
    font: 12px / 1 "Kade", system-ui;
    position: relative;
    color: #B2B2B2;
    width: 100%;
    height: 40px;
    float: left;
}


.ex-conpage .detail-head .title {
    width: 100%;
    height: auto;
    float: left;
}

    .ex-conpage .right .head-label {
        margin-bottom: 40px;
        display: none;
    }

 /* 슬라이드 스택: Swiper 파괴 후 .is-mobile에서 세로 나열 */
  #detail-rail.is-mobile > .swiper-wrapper{
    display: block !important;
    transform: none !important;
  }
  #detail-rail.is-mobile > .swiper-wrapper > .swiper-slide{
    display: block !important;
    width: 100% !important;
    margin: 0 0 40px 0 !important;
    transform: none !important;
    height: auto;
  }
  #detail-rail.is-mobile .swiper-slide img{
    display: block;
    width: 100%;
    height: auto;
  }

.ex-conpage .detail-rail {
    height: auto;
}

.ex-conpage .detail-col.left {
    height: auto;
}

.ex-conpage .detail-col.right {
    display: block;
    overflow-y: hidden;
}

article.detail-body.mver {
    display: block;
    margin-bottom: 20px;
}

.mobile-only button.next {
    width: 20px;
    height: 20px;
    border: none;
    background: transparent;
}

.mini-nav.mobile-only {
    display: inline-block;
    width: 20px;
    height: 20px;
}

.panel-head h2 {
    padding-top: 3px;
    display: inline-block;
}


.mini-nav.mobile-only .cls-2 {
    fill: #B2B2B2;
}

.panel-head {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}



}