/* ==============================
   Main Visual
============================== */

.main_visual{
    position:relative;
    width:100%;
    overflow:hidden;
    background:var(--hhs-bg);
}

.main_visual_swiper{
    width:100%;
}

.main_visual_swiper .swiper-slide{
    position:relative;
    overflow:hidden;
}

.main_visual_swiper .swiper-slide img{
    display:block;
    width:100%;
    height:auto;
}

.main_visual_dim{
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.20) 0%,
        rgba(0,0,0,.12) 42%,
        rgba(0,0,0,.34) 100%
    );
    pointer-events:none;
}

.main_visual_txt{
    position:absolute;
    left:50%;
    bottom:25%;
    z-index:3;
    width:92%;
    max-width:1400px;
    transform:translateX(-50%);
    color:#fff;
}

.main_visual_en{
    margin-bottom:17px;
    font-size:15px;
    font-weight:400;
    letter-spacing:.15em;
    line-height:1.4;
}

.main_visual_txt h2{
    margin-bottom:16px;
    font-size:46px;
    font-weight:400;
    letter-spacing:-.02em;
    line-height:1.35;
}

.main_visual_desc{
    font-size:17px;
    line-height:1.8;
    letter-spacing:-.02em;
}

.main_visual_pagination{
    position:absolute;
    left:50% !important;
    bottom:18% !important;
    z-index:4;
    width:92%;
    max-width:1400px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:9px;
}

.main_visual_pagination .swiper-pagination-bullet{
    width:7px;
    height:7px;
    margin:0 !important;
    background:#fff;
    opacity:.38;
    transition:all .3s ease;
}

.main_visual_pagination .swiper-pagination-bullet-active{
    width:22px;
    border-radius:20px;
    opacity:.95;
}

.scroll_down{
    position:absolute;
    left:50%;
    bottom:18%;
    z-index:3;
    width:92%;
    max-width:1400px;
    transform:translateX(-50%);
    display:flex;
    justify-content:flex-end;
    color:#fff;
    opacity:.82;
}

.scroll_down_inner{
    width:120px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.scroll_down span{
    display:block;
    width:100%;
    font-size:12px;
    font-weight:400;
    letter-spacing:.12em;
    text-align:center;
    text-transform:uppercase;
}

.scroll_down i{
    display:block;
    width:1px;
    height:42px;
    background:rgba(255,255,255,.55);
    position:relative;
    overflow:hidden;
}

.scroll_down i:after{
    content:"";
    position:absolute;
    left:0;
    top:-100%;
    width:100%;
    height:100%;
    background:#fff;
    animation:scrollLine 1.8s infinite;
}

@keyframes scrollLine{
    0%{top:-100%;}
    100%{top:100%;}
}

/* ==============================
   Main Visual Responsive
============================== */

@media (max-width:1024px){
    .main_visual_txt{
        bottom:25%;
    }

    .main_visual_txt h2{
        font-size:32px;
    }

    .main_visual_desc{
        font-size:15px;
    }

    .main_visual_pagination{
        bottom:18%;
    }

    .scroll_down{
        bottom:18%;
    }

    .main_visual_swiper .swiper-slide img{
        min-height: 400px;
    }

    .main_visual_pagination{width: 90% !important;}
}

@media (max-width:640px){
    .main_visual_swiper .swiper-slide img{
        min-height: 350px;
        object-fit: cover;
    }

    .main_visual_dim{
        background:linear-gradient(
            to bottom,
            rgba(0,0,0,.28) 0%,
            rgba(0,0,0,.18) 45%,
            rgba(0,0,0,.42) 100%
        );
    }

    .main_visual_txt{
        bottom:28%;
        width:90%;
    }

    .main_visual_en{
        margin-bottom:12px;
        font-size:12px;
        letter-spacing:.06em;
    }

    .main_visual_txt h2{
        margin-bottom:12px;
        font-size:27px;
    }

    .main_visual_desc{
        font-size:14px;
        line-height:1.7;
    }

    .main_visual_pagination{
        bottom:19%;
        width:90%;
    }

    .main_visual_pagination .swiper-pagination-bullet{
        width:6px;
        height:6px;
    }

    .main_visual_pagination .swiper-pagination-bullet-active{
        width:18px;
    }

    .scroll_down{
        width:90%;
        bottom:19%;
        display: none;
    }

    .scroll_down span{
        width:100px;
    }

    .scroll_down i{
        margin-right:49px;
    }
}



.main_artist{
    position:relative;
    padding:160px 0 150px;
    /* background:linear-gradient(90deg, var(--hhs-bg) 0%, var(--hhs-white) 58%); */
    overflow:hidden;
}

/* 소개섹션 비정형 원 오브젝트 */
.artist_circle_obj{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    overflow:hidden;
}

.artist_circle_obj .circle{
    position:absolute;
    display:block;
    width:1300px;
    height:1300px;
    border:1px solid rgba(165,140,111,.16);
    border-radius:64% 36% 72% 28% / 34% 66% 31% 69%;
    opacity:.75;
    animation:artistCircleMove 10s ease-in-out infinite alternate;
}

.artist_circle_obj .circle_lg_01{
    left:-350px;
    top:-800px;
}

.artist_circle_obj .circle_lg_02{
    right:-350px;
    bottom:-820px;
    width:1550px;
    height:1550px;
    border-color:rgba(165,140,111,.12);
    animation-duration:13s;
    animation-direction:alternate-reverse;
}

@keyframes artistCircleMove{
    0%{
        border-radius:64% 36% 72% 28% / 34% 66% 31% 69%;
        transform:rotate(0deg) scale(1, .82);
    }
    50%{
        border-radius:28% 72% 35% 65% / 70% 30% 68% 32%;
        transform:rotate(10deg) scale(.9, 1.08);
    }
    100%{
        border-radius:72% 28% 56% 44% / 28% 72% 42% 58%;
        transform:rotate(-8deg) scale(1.08, .88);
    }
}

.main_artist:before{
    content:"HAN HYE SEON";
    position:absolute;
    right:30px;
    top:30px;
    font-size:100px;
    font-weight:300;
    letter-spacing:.08em;
    color:rgba(0,0,0,.035);
    white-space:nowrap;
}

.main_artist_inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 420px;
    gap:100px;
    align-items:center;
    width: 1400px;
    max-width: 95%;
    margin: 0 auto;
}

.main_artist_txt{
    position:relative;
    z-index:2;
}

.main_artist_txt .adm_btn{
    position: absolute;
    right: 0px;
    top: 0;
    font-size: 16px;
    color: #fff;
    display: inline-block;
    padding: 10px;
    background-color: #fe0000;
}

.main_artist_txt .adm_btn02{
    right: 80px;
}

.main_artist_txt .adm_btn03{
    right: 160px;
}

.main_sec_label{
    margin-bottom:34px;
    font-size:13px;
    font-weight:400;
    letter-spacing:.14em;
    color:var(--hhs-point);
    text-transform:uppercase;
}

.main_artist_txt h2{
    margin-bottom:28px;
    font-size:46px;
    font-weight:400;
    line-height:1.3;
    letter-spacing:-.025em;
    color:var(--hhs-main);
}

.main_artist_desc{
    max-width:650px;
    font-size:17px;
    font-weight:300;
    line-height: 1.9;
    letter-spacing:-.02em;
    color:var(--hhs-text);
    word-break:keep-all;
}

.main_more_btn{
    display:inline-flex;
    align-items:center;
    gap:18px;
    margin-top:70px;
    font-size:13px;
    font-weight:400;
    letter-spacing:.12em;
    color:var(--hhs-main);
    text-transform:uppercase;
    transition:color .3s ease;
}

.main_more_btn i{
    display:block;
    width:52px;
    height:1px;
    background:var(--hhs-main);
    position:relative;
    transition:width .3s ease, background .3s ease;
}

.main_more_btn i:after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:7px;
    height:7px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:translateY(-50%) rotate(45deg);
}

.main_more_btn:hover{
    color:var(--hhs-point);
}

.main_more_btn:hover i{
    width:70px;
    background:var(--hhs-point);
}

.main_artist_img{
    position:relative;
    z-index:2;
}

.main_artist_img:before{
    content:"";
    position:absolute;
    left:-38px;
    top:38px;
    width:100%;
    height:100%;
    border:1px solid var(--hhs-point-light);
    z-index:0;
}

.main_artist_img img{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:auto;
    aspect-ratio: 1 / 1.35;
    object-fit: cover;
    object-position: top;
}

.artist_img_label{
    position:absolute;
    right:-38px;
    bottom:32px;
    z-index:2;
    writing-mode:vertical-rl;
    font-size:14px;
    letter-spacing:.22em;
    color: var(--hhs-point-light);
}

.main_artist_highlight{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    margin-top:46px;
    border-top:1px solid var(--hhs-line);
    border-bottom:1px solid var(--hhs-line);
    position:relative;
    z-index:2;
}

.main_artist_highlight dl{
    min-height:118px;
    padding:28px 26px;
    border-right:1px solid var(--hhs-line);
}

.main_artist_highlight dl:last-child{
    border-right:0;
}

.main_artist_highlight dt{
    margin-bottom:14px;
    font-size:13px;
    font-weight:400;
    letter-spacing:.08em;
    color:var(--hhs-point);
}

.main_artist_highlight dd{
    font-size:16px;
    line-height:1.65;
    color:var(--hhs-text);
    word-break:keep-all;
}

@media (max-width:1024px){
    .main_artist{
        padding:120px 0;
    }

    .artist_circle_obj .circle_lg_01{
        width:420px;
        height:420px;
        left:-170px;
        top:-180px;
    }

    .artist_circle_obj .circle_lg_02{
        width:480px;
        height:480px;
        right:-190px;
        bottom:-190px;
    }

    .main_artist:before{
        font-size:60px;
        top:60px;
    }

    .main_artist_inner{
        grid-template-columns:1fr;
        gap:60px;
    }

    .main_artist_img{
        max-width:460px;
    }

    .main_artist_txt h2{
        font-size:36px;
    }

    .main_artist_highlight{
        grid-template-columns:repeat(2, 1fr);
    }

    .main_artist_highlight dl:nth-child(2){
        border-right:0;
    }
}

@media (max-width:640px){
    .main_artist{
        padding:60px 0;
    }

    .artist_circle_obj .circle_lg_01{
        width:300px;
        height:300px;
        left:-140px;
        top:-130px;
    }

    .artist_circle_obj .circle_lg_02{
        width:340px;
        height:340px;
        right:-160px;
        bottom:-150px;
    }

    .main_artist:before{
        font-size:26px;
        top:20px;
        right: 20px;
    }

    .main_more_btn{margin-top: 40px;}

    .main_artist_txt h2{
        font-size:26px;
    }

    .main_artist_sub{
        font-size:16px;
    }

    .main_artist_desc{
        font-size:15px;
        line-height:1.9;
    }

    .main_artist_img:before{
        left:-18px;
        top:18px;
    }

    .artist_img_label{
        right:-26px;
        bottom:22px;
    }

    .main_artist_highlight{
        grid-template-columns:1fr;
        margin-top:24px;
    }

    .main_artist_highlight dl{
        min-height:auto;
        padding:22px 0;
        border-right:0;
        border-bottom:1px solid var(--hhs-line);
    }

    .main_artist_highlight dl:last-child{
        border-bottom:0;
    }
}


/* ==============================
   Main Works
============================== */

.main_works{
    position:relative;
    padding:160px 0;
    background:var(--hhs-bg);
    overflow:hidden;
}

.main_works .main_inner{
    width: 1400px;
    max-width: 95%;
    margin: 0 auto;
}

.main_works_head{
    margin-bottom:90px;
}

.main_works_head h2{
    margin-bottom:18px;
    font-size:46px;
    font-weight:300;
    line-height:1.25;
    color:var(--hhs-main);
}

.main_works_head p:last-child{
    font-size:16px;
    font-weight:300;
    line-height:1.8;
    color:var(--hhs-text2);
}

.work_series{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:70px;
    align-items:end;
    margin-bottom:120px;
}

.work_series:last-child{
    margin-bottom:0;
}

.work_series_title{
    padding-bottom:70px;
}

.work_series_title span{
    display:block;
    margin-bottom:28px;
    font-size:13px;
    color:var(--hhs-point);
    letter-spacing:.12em;
}

.work_series_title h3{
    margin-bottom:12px;
    font-size:34px;
    font-weight:300;
    line-height:1.2;
    color:var(--hhs-main);
}

.work_series_title p{
    margin-bottom:36px;
    font-size:17px;
    font-weight:300;
    color:var(--hhs-text2);
}

.work_series_title a{
    display:inline-flex;
    align-items:center;
    gap:16px;
    font-size:13px;
    letter-spacing:.08em;
    color:var(--hhs-main);
    text-transform:uppercase;
}

.work_series_title a:after{
    content:"";
    width:42px;
    height:1px;
    background:var(--hhs-main);
    transition:.3s;
}

.work_series_title a:hover{
    color:var(--hhs-point);
}

.work_series_title a:hover:after{
    width:60px;
    background:var(--hhs-point);
}

.work_series_reverse{
    grid-template-columns:1fr 260px;
}

.work_series_reverse .work_series_title{
    order:2;
    text-align:right;
}

.work_series_reverse .main_work_swiper_wrap{
    order:1;
}

.work_series_reverse .work_controls{
    justify-content:flex-start;
}

.work_series_reverse .work_series_title a{
    justify-content:flex-end;
}

.main_work_swiper_wrap{
    position:relative;
    min-width:0;
}

.work_item{
    display:block;
}

.work_img{
    overflow:hidden;
    background:var(--hhs-bg2);
}

.work_img img{
    display:block;
    width:100%;
    height:auto;
    transition:transform .8s ease, opacity .5s ease;
}

.work_item:hover .work_img img{
    transform:scale(1.04);
    opacity:.88;
}

.work_info{
    padding-top:18px;
}

.work_info strong{
    display:block;
    font-size:15px;
    font-weight:300;
    line-height:1.5;
    color:var(--hhs-text);
}

.work_controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    margin-top:34px;
}

.work_controls button{
    border:0;
    background:transparent;
    padding:0;
    font-size:12px;
    letter-spacing:.08em;
    color:var(--hhs-text2);
    text-transform:uppercase;
}

.work_fraction{
    min-width:54px;
    font-size:13px;
    color:var(--hhs-point);
    text-align:center;
}

@media (max-width:1024px){
    .main_works{
        padding:120px 0;
    }

    .main_works_head{
        margin-bottom:64px;
    }

    .main_works_head h2{
        font-size:36px;
    }

    .work_series{
        grid-template-columns:1fr;
        gap:36px;
        margin-bottom:90px;
    }

    .work_series_title{
        padding-bottom:0;
    }
}

@media (max-width:640px){
    .main_works{
        padding:60px 0;
    }

    .main_works_head h2{
        font-size:30px;
    }

    .work_series_title h3{
        font-size:28px;
    }

    .work_controls{
        justify-content:flex-start;
    }
}



/* ==============================
   Main News
============================== */

.main_news{
    padding:150px 0;
    background:var(--hhs-white);
}

.main_news .main_inner{
    width:1400px;
    max-width:95%;
    margin:0 auto;
}

.main_news_head{
    margin-bottom:56px;
    text-align:center;
}

.main_news_head h2{
    font-size:42px;
    font-weight:300;
    line-height:1.25;
    color:var(--hhs-main);
}

.main_news_list{
    border-top:1px solid var(--hhs-line);
}

.main_news_item{
    display:grid;
    grid-template-columns:150px 1fr 130px 42px;
    align-items:center;
    min-height:76px;
    border-bottom:1px solid var(--hhs-line);
    color:var(--hhs-main);
    transition:background .3s ease;
}

.main_news_item:hover{
    background:var(--hhs-bg);
}

.news_cate{
    font-size:13px;
    font-weight:400;
    letter-spacing:.04em;
    color:var(--hhs-point);
}

.news_subject{
    font-size:16px;
    font-weight:300;
    line-height:1.5;
    color:var(--hhs-main);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.news_date{
    font-size:13px;
    font-weight:300;
    color:var(--hhs-text3);
    text-align:right;
}

.news_arrow{
    position:relative;
    display:block;
    width:26px;
    height:1px;
    justify-self:end;
    background:var(--hhs-text3);
    transition:width .3s ease, background .3s ease;
}

.news_arrow:after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:7px;
    height:7px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:translateY(-50%) rotate(45deg);
}

.main_news_item:hover .news_arrow{
    width:38px;
    background:var(--hhs-point);
    color:var(--hhs-point);
}

.main_news_more{
    margin-top:44px;
    text-align:center;
}

.main_news_more a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    height:48px;
    border:1px solid var(--hhs-line);
    font-size:13px;
    font-weight:400;
    letter-spacing:.1em;
    color:var(--hhs-main);
    text-transform:uppercase;
    transition:all .3s ease;
}

.main_news_more a:hover{
    border-color:var(--hhs-point);
    color:var(--hhs-point);
    background:var(--hhs-bg);
}

.main_news_empty{
    padding:60px 0;
    border-bottom:1px solid var(--hhs-line);
    font-size:15px;
    color:var(--hhs-text3);
    text-align:center;
}

@media (max-width:768px){
    .main_news{
        padding:60px 0;
    }

    .main_news_head{
        margin-bottom:36px;
    }

    .main_news_head h2{
        font-size:32px;
    }

    .main_news_item{
        grid-template-columns:1fr 34px;
        gap:8px 16px;
        min-height:auto;
        padding:22px 0;
    }

    .news_cate{
        grid-column:1 / 2;
        font-size:12px;
    }

    .news_subject{
        grid-column:1 / 2;
        white-space:normal;
        font-size:15px;
    }

    .news_date{
        grid-column:1 / 2;
        text-align:left;
        font-size:12px;
    }

    .news_arrow{
        grid-column:2 / 3;
        grid-row:1 / 4;
        align-self:center;
    }
}



@media (max-width:1024px){
    .work_series_reverse .work_series_title{
        order:1;
        text-align:left;
    }

    .work_series_reverse .main_work_swiper_wrap{
        order:2;
    }

    .work_series_reverse .work_controls{
        justify-content:flex-start;
    }

    .work_series_reverse .work_series_title a{
        justify-content:flex-start;
    }
}