@charset "utf-8";

/*
 * DHUNET PAGE SKIN
 * PC / MOBILE 공통 반응형 콘텐츠 페이지
 */

#dh_page{
    position:relative;
    width:100%;
    margin:0;
    padding:0 0 80px;
    box-sizing:border-box;
}

#dh_page *,
#dh_page *:before,
#dh_page *:after{
    box-sizing:border-box;
}

#dh_page .dh_page_inner{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:0 30px;
}

#dh_page img{
    max-width:100%;
    height:auto;
}

#dh_page .dh_page_empty{
    padding:40px 30px;
    border:1px solid #e5e5e5;
    background:#fafafa;
    color:#555;
    line-height:1.7;
    text-align:center;
}

#dh_page .dh_page_empty strong{
    display:block;
    margin-bottom:8px;
    color:#142844;
    font-size:18px;
}

#dh_page .dh_page_empty p{
    margin:0 0 8px;
}

#dh_page .dh_page_empty code{
    display:inline-block;
    max-width:100%;
    padding:5px 8px;
    background:#fff;
    color:#c7923e;
    word-break:break-all;
}

/* 페이지 제작 시 공통으로 사용하기 좋은 기본 클래스 */
#dh_page .page_section{
    width:100%;
    margin:0 0 70px;
}

#dh_page .page_section:last-child{
    margin-bottom:0;
}

#dh_page .page_title{
    margin:0 0 25px;
    color:#142844;
    font-size:32px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.04em;
}

#dh_page .page_text{
    margin:0;
    color:#555;
    font-size:17px;
    line-height:1.9;
    word-break:keep-all;
}

@media screen and (max-width:1100px){
    #dh_page .dh_page_inner{
        padding-left:20px;
        padding-right:20px;
    }
}

@media screen and (max-width:768px){
    #dh_page{
        padding-bottom:55px;
    }

    #dh_page .dh_page_inner{
        padding-left:18px;
        padding-right:18px;
    }

    #dh_page .page_section{
        margin-bottom:45px;
    }

    #dh_page .page_title{
        margin-bottom:18px;
        font-size:25px;
    }

    #dh_page .page_text{
        font-size:15px;
        line-height:1.8;
    }

    #dh_page .dh_page_empty{
        padding:28px 18px;
        font-size:13px;
    }
}


/* =========================================================
   LOCATION PAGE
   기존 PAGE 스킨의 1500px / Noto Sans KR / navy-gold 톤 유지
   ========================================================= */
#dh_page .location_page{
    width:100%;
    margin:0;
    padding:0;
}

#dh_page .location_layout{
    display:grid;
    grid-template-columns:minmax(360px, 40%) minmax(0, 60%);
    gap:70px;
    align-items:stretch;
    width:100%;
}

#dh_page .location_info{
    min-width:0;
}

#dh_page .location_name{
    margin:0;
    padding:12px 0 30px;
    border-bottom:1px solid #d9dde2;
    color:#17212b;
    font-size:28px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.045em;
}

#dh_page .location_info_list{
    width:100%;
}

#dh_page .location_info_item{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    column-gap:22px;
    align-items:center;
    min-height:124px;
    padding:26px 8px;
    border-bottom:1px solid #d9dde2;
}

#dh_page .location_info_icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    color:#9da3aa;
}

#dh_page .location_info_icon svg{
    width:30px;
    height:30px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

#dh_page .location_info_text{
    min-width:0;
}

#dh_page .location_info_text strong{
    display:block;
    margin:0 0 13px;
    color:#17212b;
    font-size:18px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.025em;
}

#dh_page .location_info_text p{
    margin:0;
    color:#555f69;
    font-size:17px;
    line-height:1.7;
    font-weight:400;
    letter-spacing:-.02em;
    word-break:keep-all;
}

#dh_page .location_info_text a{
    color:inherit;
    text-decoration:none;
}

#dh_page .location_map{
    min-width:0;
    height:500px;
    overflow:hidden;
    background:#f3f5f7;
}

#dh_page .location_map_embed,
#dh_page .location_map_embed > div{
    width:100%;
}

#dh_page .location_map_embed{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
}

#dh_page .location_map_embed .root_daum_roughmap,
#dh_page .location_map_embed .root_daum_roughmap .wrap_map{
    width:100% !important;
}

#dh_page .location_map_embed .root_daum_roughmap{
    height:100% !important;
}

#dh_page .location_map_embed .root_daum_roughmap .wrap_map{
    height:100% !important;
}

#dh_page .location_map_embed .root_daum_roughmap .wrap_controllers{
    display:none;
}

#dh_page .location_map_ready{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    min-height:500px;
    padding:30px;
    background:#f4f6f8;
    border:1px solid #e0e4e8;
    color:#7a838d;
    text-align:center;
}

#dh_page .location_map_ready strong{
    margin-bottom:8px;
    color:#142844;
    font-size:22px;
    font-weight:700;
    letter-spacing:.08em;
}

#dh_page .location_map_ready span{
    font-size:14px;
    line-height:1.6;
}

@media screen and (max-width:1100px){
    #dh_page .location_layout{
        grid-template-columns:38% minmax(0,62%);
        gap:38px;
    }

    #dh_page .location_name{
        font-size:25px;
    }

    #dh_page .location_info_item{
        grid-template-columns:42px minmax(0,1fr);
        column-gap:16px;
        min-height:112px;
        padding:22px 4px;
    }

    #dh_page .location_info_icon{
        width:38px;
        height:38px;
    }

    #dh_page .location_info_icon svg{
        width:27px;
        height:27px;
    }

    #dh_page .location_info_text strong{
        font-size:17px;
    }

    #dh_page .location_info_text p{
        font-size:16px;
    }

    #dh_page .location_map{
        height:460px;
    }

    #dh_page .location_map_ready{
        min-height:460px;
    }
}

@media screen and (max-width:768px){
    #dh_page .location_layout{
        display:block;
    }

    #dh_page .location_info{
        margin-bottom:28px;
    }

    #dh_page .location_name{
        padding:4px 0 20px;
        font-size:23px;
    }

    #dh_page .location_info_item{
        grid-template-columns:40px minmax(0,1fr);
        column-gap:14px;
        min-height:96px;
        padding:19px 2px;
    }

    #dh_page .location_info_icon{
        width:36px;
        height:36px;
    }

    #dh_page .location_info_icon svg{
        width:25px;
        height:25px;
    }

    #dh_page .location_info_text strong{
        margin-bottom:7px;
        font-size:16px;
    }

    #dh_page .location_info_text p{
        font-size:15px;
        line-height:1.65;
    }

    #dh_page .location_map{
        width:100%;
        height:360px;
    }

    #dh_page .location_map_ready{
        min-height:360px;
        padding:22px;
    }
}

@media screen and (max-width:480px){
    #dh_page .location_map{
        height:320px;
    }

    #dh_page .location_map_ready{
        min-height:320px;
    }
}


/* =========================================================
   ACADEMY INTRO PAGE
   program01 계열의 네이비 라인 / 흰색 헤더 / 16px 본문 기준
   ========================================================= */
#dh_page .academy_intro_page{
    width:100%;
    color:#252d35;
}

#dh_page .academy_intro_block,
#dh_page .academy_program_block{
    width:100%;
}

#dh_page .academy_intro_block{
    padding:4px 0 58px;
}

#dh_page .academy_section_no{
    margin:0 0 8px;
    color:#75879a;
    font-size:14px;
    line-height:1.3;
    font-weight:400;
}

#dh_page .academy_section_title{
    margin:0;
    color:#142844;
    font-size:30px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.045em;
}

#dh_page .academy_title_line{
    display:block;
    width:42px;
    height:2px;
    margin:18px 0 42px;
    background:#c7923e;
}

#dh_page .academy_lead{
    margin:0 0 22px;
    color:#142844;
    font-size:22px;
    line-height:1.5;
    font-weight:700;
    letter-spacing:-.035em;
}

#dh_page .academy_copy{
    max-width:1260px;
}

#dh_page .academy_copy p{
    margin:0 0 22px;
    color:#252d35;
    font-size:16px;
    line-height:1.9;
    font-weight:400;
    letter-spacing:-.02em;
    word-break:keep-all;
}

#dh_page .academy_copy p:last-child{
    margin-bottom:0;
}

/* 중간 이미지는 페이지 흐름을 끊지 않도록 낮고 길게 */
#dh_page .academy_mid_visual{
    width:100%;
    height:245px;
    margin:0 0 68px;
    overflow:hidden;
    background:#eef2f5;
}

#dh_page .academy_mid_visual img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 54%;
}

#dh_page .academy_program_block{
    padding:0;
}

#dh_page .academy_program_block .academy_title_line{
    margin-bottom:28px;
}

#dh_page .academy_table_scroll{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

/* 기존 프로그램 게시판 계열과 같은 결: 상단 navy line + white head + thin gray rules */
#dh_page .academy_program_table{
    width:100%;
    min-width:1050px;
    margin:0;
    border-collapse:collapse;
    table-layout:fixed;
    border-top:3px solid #142844;
    border-bottom:1px solid #cfd5dc;
    background:#fff;
}

#dh_page .academy_program_table caption{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

#dh_page .academy_program_table .col-program{width:19%;}
#dh_page .academy_program_table .col-target{width:8%;}
#dh_page .academy_program_table .col-count{width:10%;}
#dh_page .academy_program_table .col-teacher{width:9%;}
#dh_page .academy_program_table .col-time{width:12%;}
#dh_page .academy_program_table .col-unit{width:13%;}
#dh_page .academy_program_table .col-open{width:11%;}
#dh_page .academy_program_table .col-note{width:18%;}

#dh_page .academy_program_table th,
#dh_page .academy_program_table td{
    height:58px;
    padding:13px 12px;
    border-right:1px solid #e0e4e8;
    border-bottom:1px solid #d9dee4;
    text-align:center;
    vertical-align:middle;
    word-break:keep-all;
}

#dh_page .academy_program_table tr > *:last-child{
    border-right:0;
}

#dh_page .academy_program_table thead th{
    background:#fff;
    color:#142844;
    font-size:16px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.025em;
}

#dh_page .academy_program_table tbody th{
    background:#fff;
    color:#17212b;
    font-size:16px;
    line-height:1.45;
    font-weight:600;
    letter-spacing:-.025em;
}

#dh_page .academy_program_table tbody td{
    background:#fff;
    color:#252d35;
    font-size:16px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:-.02em;
}

#dh_page .academy_program_table tbody tr:last-child th,
#dh_page .academy_program_table tbody tr:last-child td{
    border-bottom:0;
}

@media screen and (max-width:1100px){
    #dh_page .academy_intro_block{
        padding-bottom:48px;
    }

    #dh_page .academy_section_title{
        font-size:28px;
    }

    #dh_page .academy_title_line{
        margin-bottom:34px;
    }

    #dh_page .academy_lead{
        font-size:20px;
    }

    #dh_page .academy_mid_visual{
        height:220px;
        margin-bottom:58px;
    }
}

@media screen and (max-width:768px){
    #dh_page .academy_intro_block{
        padding-top:0;
        padding-bottom:34px;
    }

    #dh_page .academy_section_no{
        margin-bottom:6px;
        font-size:12px;
    }

    #dh_page .academy_section_title{
        font-size:23px;
        line-height:1.4;
    }

    #dh_page .academy_title_line{
        width:34px;
        margin:13px 0 27px;
    }

    #dh_page .academy_lead{
        margin-bottom:17px;
        font-size:18px;
        line-height:1.55;
    }

    #dh_page .academy_copy p{
        margin-bottom:17px;
        font-size:15px;
        line-height:1.8;
    }

    #dh_page .academy_pc_br{
        display:none;
    }

    #dh_page .academy_mid_visual{
        height:155px;
        margin:0 0 42px;
    }

    #dh_page .academy_program_block .academy_title_line{
        margin-bottom:20px;
    }

    #dh_page .academy_program_table{
        min-width:930px;
    }

    #dh_page .academy_program_table th,
    #dh_page .academy_program_table td{
        height:52px;
        padding:11px 9px;
    }

    #dh_page .academy_program_table thead th,
    #dh_page .academy_program_table tbody th,
    #dh_page .academy_program_table tbody td{
        font-size:14px;
    }
}

/* =========================================================
   LYDIA GREETING PAGE
   ========================================================= */
#dh_page .lydia_greeting_page{width:100%;max-width:1400px;margin:0 auto;padding:15px 0 30px;color:#30383c;}
#dh_page .lydia_greeting_grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:80px;align-items:start;}
#dh_page .lydia_greeting_content{padding-top:8px;}
#dh_page .lydia_greeting_en{margin:0 0 24px;color:#347A48;font-family:"Montserrat","Noto Sans KR",sans-serif;font-size:12px;font-weight:600;letter-spacing:.4em;}
#dh_page .lydia_greeting_title{margin:0;color:#202925;font-family:"Noto Serif KR","Noto Sans KR",serif;font-size:44px;line-height:1.42;font-weight:500;letter-spacing:-.045em;word-break:keep-all;}
#dh_page .lydia_greeting_title em{color:#347A48;font-style:normal;font-weight:600;}
#dh_page .lydia_greeting_line{display:block;width:58px;height:2px;margin:30px 0 40px;background:#347A48;}
#dh_page .lydia_greeting_intro{margin:0 0 23px;color:#48514d;font-size:17px;line-height:1.8;letter-spacing:-.025em;}
#dh_page .lydia_greeting_quote{position:relative;margin:0 0 28px;padding:2px 0 2px 29px;border-left:2px solid #9a6e45;}
#dh_page .lydia_greeting_quote:before{content:"“";position:absolute;left:12px;top:-6px;color:#9a6e45;font-family:Georgia,serif;font-size:27px;line-height:1;}
#dh_page .lydia_greeting_quote p{margin:0;color:#815b3d;font-family:"Noto Serif KR","Noto Sans KR",serif;font-size:20px;line-height:1.8;font-weight:500;letter-spacing:-.03em;word-break:keep-all;}
#dh_page .lydia_greeting_copy p{margin:0 0 18px;color:#4b5450;font-size:17px;line-height:1.9;letter-spacing:-.025em;word-break:keep-all;}
#dh_page .lydia_greeting_copy .lydia_greeting_closing{margin-top:28px;margin-bottom:0;}
#dh_page .lydia_greeting_closing strong{color:#347A48;font-weight:700;}
#dh_page .lydia_greeting_visual{width:100%;height:700px;overflow:hidden;background:#f2eee7;}
#dh_page .lydia_greeting_visual img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}

@media screen and (max-width:1100px){
 #dh_page .lydia_greeting_grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:45px;}
 #dh_page .lydia_greeting_title{font-size:37px;}
 #dh_page .lydia_greeting_quote p{font-size:18px;}
 #dh_page .lydia_greeting_intro,#dh_page .lydia_greeting_copy p{font-size:16px;}
 #dh_page .lydia_greeting_visual{height:620px;}
}
@media screen and (max-width:768px){
 #dh_page .lydia_greeting_page{padding-top:0;}
 #dh_page .lydia_greeting_grid{display:flex;flex-direction:column;gap:27px;}
 #dh_page .lydia_greeting_content{display:contents;}
 #dh_page .lydia_greeting_en{order:1;margin:0 0 -12px;font-size:10px;letter-spacing:.3em;}
 #dh_page .lydia_greeting_title{order:2;font-size:29px;line-height:1.45;}
 #dh_page .lydia_greeting_line{order:3;width:44px;margin:-8px 0 0;}
 #dh_page .lydia_greeting_visual{order:4;height:430px;}
 #dh_page .lydia_greeting_intro{order:5;margin:2px 0 -8px;font-size:15px;}
 #dh_page .lydia_greeting_quote{order:6;margin:0;padding-left:22px;}
 #dh_page .lydia_greeting_quote p{font-size:17px;line-height:1.8;}
 #dh_page .lydia_greeting_copy{order:7;}
 #dh_page .lydia_greeting_copy p{margin-bottom:16px;font-size:15px;line-height:1.85;}
}
@media screen and (max-width:480px){
 #dh_page .lydia_greeting_title{font-size:27px;}
 #dh_page .lydia_greeting_visual{height:360px;}
 #dh_page .lydia_greeting_quote p{font-size:16px;}
}


/* =========================================================
   GREETING IMAGE POSITION FINAL
   PC: 이미지 안 문구가 조금 더 위에 보이도록
   MOBILE: 효소/나무주걱이 있는 아래쪽 중심으로 노출
   ========================================================= */
@media screen and (min-width:769px){
    #dh_page .lydia_greeting_visual img{
        height:112% !important;
        object-fit:cover !important;
        object-position:center 42% !important;
        transform:translateY(-5%);
    }
}

@media screen and (max-width:768px){
    #dh_page .lydia_greeting_visual img{
        width:100% !important;
        height:135% !important;
        max-width:none !important;
        object-fit:cover !important;
        object-position:center 78% !important;
        transform:translateY(-18%);
    }
}

@media screen and (max-width:480px){
    #dh_page .lydia_greeting_visual img{
        height:145% !important;
        object-position:center 82% !important;
        transform:translateY(-22%);
    }
}



/* =========================================================
   GREETING COPY RESTORE FINAL
   ========================================================= */
#dh_page .lydia_greeting_visual_area{
    min-width:0;
}

#dh_page .lydia_greeting_visual{
    position:relative;
}

#dh_page .lydia_greeting_visual_copy{
    position:absolute;
    left:58px;
    top:37%;
    z-index:3;
    transform:translateY(-50%);
    color:#76583d;
    font-family:"Noto Serif KR","Noto Sans KR",serif;
    text-shadow:0 1px 8px rgba(255,255,255,.65);
}

#dh_page .lydia_greeting_visual_copy span,
#dh_page .lydia_greeting_visual_copy strong,
#dh_page .lydia_greeting_visual_copy b{
    display:block;
}

#dh_page .lydia_greeting_visual_copy span{
    margin-bottom:7px;
    font-size:19px;
    line-height:1.4;
    font-weight:400;
}

#dh_page .lydia_greeting_visual_copy strong{
    font-size:28px;
    line-height:1.45;
    font-weight:500;
    letter-spacing:-.04em;
}

#dh_page .lydia_greeting_visual_copy b{
    margin-top:17px;
    color:#347A48;
    font-size:19px;
    line-height:1.4;
    font-weight:600;
}

#dh_page .lydia_greeting_signature{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    margin-top:38px;
    padding-right:3px;
    font-family:"Montserrat","Noto Sans KR",sans-serif;
}

#dh_page .lydia_greeting_signature span{
    color:#347A48;
    font-size:11px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:.34em;
}

#dh_page .lydia_greeting_signature small{
    margin-top:8px;
    color:#8a8f8b;
    font-size:9px;
    line-height:1.4;
    letter-spacing:.27em;
}

@media screen and (max-width:1100px){
    #dh_page .lydia_greeting_visual_copy{
        left:38px;
        top:34%;
    }
    #dh_page .lydia_greeting_visual_copy strong{font-size:24px;}
}

@media screen and (max-width:768px){
    #dh_page .lydia_greeting_visual_area{
        display:contents;
    }

    #dh_page .lydia_greeting_visual_copy{
        left:26px;
        top:24%;
        transform:none;
    }

    #dh_page .lydia_greeting_visual_copy span{font-size:15px;}
    #dh_page .lydia_greeting_visual_copy strong{font-size:21px;}
    #dh_page .lydia_greeting_visual_copy b{
        margin-top:11px;
        font-size:16px;
    }

    #dh_page .lydia_greeting_signature{
        order:8;
        width:100%;
        margin-top:2px;
        align-items:flex-end;
    }

    #dh_page .lydia_greeting_signature span{font-size:9px;}
    #dh_page .lydia_greeting_signature small{
        margin-top:6px;
        font-size:7px;
    }
}

@media screen and (max-width:480px){
    #dh_page .lydia_greeting_visual_copy{
        left:22px;
        top:21%;
    }
    #dh_page .lydia_greeting_visual_copy strong{font-size:19px;}
}

/* =========================================================
   GREETING PC IMAGE ALIGN FINAL
   오른쪽 이미지를 '의학의 아버지...' 문장 시작선에 맞춤
   모바일 기존 배치 유지
   ========================================================= */
@media screen and (min-width:1101px){
    #dh_page .lydia_greeting_visual_area{
        padding-top:166px;
    }

    #dh_page .lydia_greeting_visual{
        height:535px !important;
        min-height:0 !important;
    }

    #dh_page .lydia_greeting_visual img{
        width:100% !important;
        height:112% !important;
        min-height:0 !important;
        object-fit:cover !important;
        object-position:center 58% !important;
        transform:translateY(-5%) !important;
    }

    #dh_page .lydia_greeting_visual_copy{
        top:28% !important;
    }

    #dh_page .lydia_greeting_signature{
        margin-top:30px;
    }
}



/* =========================================================
   GREETING PC IMAGE ALIGN FINAL V2
   오른쪽 이미지 전체를 약 55px 더 아래로 조정
   모바일 기존값 유지
   ========================================================= */
@media screen and (min-width:1101px){
    #dh_page .lydia_greeting_visual_area{
        padding-top:221px !important;
    }

    #dh_page .lydia_greeting_visual{
        height:510px !important;
    }

    #dh_page .lydia_greeting_visual_copy{
        top:27% !important;
    }

    #dh_page .lydia_greeting_signature{
        margin-top:28px !important;
    }
}


/* =========================================================
   GREETING PC IMAGE ALIGN FINAL V3
   PC 오른쪽 이미지/하단 영문 전체 40px 추가 하향
   이미지 높이 및 모바일 배치는 유지
   ========================================================= */
@media screen and (min-width:1101px){
    #dh_page .lydia_greeting_visual_area{
        padding-top:261px !important;
    }
}

/* =========================================================
   LYDIA BENEFIT PAGE
   greeting 페이지와 동일한 PAGE SKIN 구조 / 이미지 없이 좌우 교차형
   ========================================================= */
#dh_page .lydia_benefit_page{width:100%;max-width:1400px;margin:0 auto;padding:0 0 35px;color:#30383c;}
#dh_page .lydia_benefit_list{width:100%;border-top:1px solid #e4e8e4;}
#dh_page .lydia_benefit_item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:42px;align-items:center;min-height:230px;padding:42px 70px;border-bottom:1px solid #e4e8e4;}
#dh_page .lydia_benefit_item.is-right{grid-template-columns:minmax(0,1fr) 150px;}
#dh_page .lydia_benefit_item.is-right .lydia_benefit_icon{grid-column:2;grid-row:1;}
#dh_page .lydia_benefit_item.is-right .lydia_benefit_content{grid-column:1;grid-row:1;text-align:right;}
#dh_page .lydia_benefit_icon{display:flex;align-items:center;justify-content:center;width:118px;height:118px;margin:0 auto;border-radius:50%;background:#f1f6ed;color:#347A48;}
#dh_page .lydia_benefit_item.is-right .lydia_benefit_icon{background:#faf4ea;}
#dh_page .lydia_benefit_icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
#dh_page .lydia_benefit_content{min-width:0;}
#dh_page .lydia_benefit_no{display:inline-flex;align-items:center;gap:14px;margin:0 0 13px;color:#347A48;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-style:italic;line-height:1;}
#dh_page .lydia_benefit_no:after{content:"";display:block;width:34px;height:1px;background:#347A48;}
#dh_page .lydia_benefit_item.is-right .lydia_benefit_no{flex-direction:row-reverse;}
#dh_page .lydia_benefit_content h3{margin:0 0 14px;color:#202925;font-family:"Noto Serif KR","Noto Sans KR",serif;font-size:27px;line-height:1.45;font-weight:600;letter-spacing:-.04em;word-break:keep-all;}
#dh_page .lydia_benefit_content h3 em{color:#347A48;font-style:normal;font-weight:600;}
#dh_page .lydia_benefit_content p{max-width:930px;margin:0;color:#59615d;font-size:17px;line-height:1.9;font-weight:400;letter-spacing:-.025em;word-break:keep-all;}
#dh_page .lydia_benefit_item.is-right .lydia_benefit_content p{margin-left:auto;}

@media screen and (max-width:1100px){
 #dh_page .lydia_benefit_item,#dh_page .lydia_benefit_item.is-right{grid-template-columns:125px minmax(0,1fr);gap:32px;min-height:210px;padding:36px 35px;}
 #dh_page .lydia_benefit_item.is-right{grid-template-columns:minmax(0,1fr) 125px;}
 #dh_page .lydia_benefit_icon{width:100px;height:100px;}
 #dh_page .lydia_benefit_icon svg{width:44px;height:44px;}
 #dh_page .lydia_benefit_content h3{font-size:24px;}
 #dh_page .lydia_benefit_content p{font-size:16px;}
}

@media screen and (max-width:768px){
 #dh_page .lydia_benefit_page{padding-top:0;padding-bottom:15px;}
 #dh_page .lydia_benefit_item,#dh_page .lydia_benefit_item.is-right{display:grid;grid-template-columns:64px minmax(0,1fr);gap:17px;min-height:0;padding:28px 2px;text-align:left;}
 #dh_page .lydia_benefit_item.is-right .lydia_benefit_icon{grid-column:1;grid-row:1;}
 #dh_page .lydia_benefit_item.is-right .lydia_benefit_content{grid-column:2;grid-row:1;text-align:left;}
 #dh_page .lydia_benefit_icon{width:58px;height:58px;margin:2px 0 0;}
 #dh_page .lydia_benefit_icon svg{width:28px;height:28px;stroke-width:2.1;}
 #dh_page .lydia_benefit_no,#dh_page .lydia_benefit_item.is-right .lydia_benefit_no{flex-direction:row;gap:9px;margin-bottom:8px;font-size:14px;}
 #dh_page .lydia_benefit_no:after{width:24px;}
 #dh_page .lydia_benefit_content h3{margin-bottom:9px;font-size:19px;line-height:1.5;}
 #dh_page .lydia_benefit_content p,#dh_page .lydia_benefit_item.is-right .lydia_benefit_content p{margin:0;font-size:14px;line-height:1.75;}
}

@media screen and (max-width:480px){
 #dh_page .lydia_benefit_item,#dh_page .lydia_benefit_item.is-right{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:24px 0;}
 #dh_page .lydia_benefit_icon{width:48px;height:48px;}
 #dh_page .lydia_benefit_icon svg{width:24px;height:24px;}
 #dh_page .lydia_benefit_content h3{font-size:18px;}
 #dh_page .lydia_benefit_content p{font-size:13.5px;line-height:1.72;}
}

/* LYDIA GUIDE PAGE */
#dh_page .lydia_guide_page{width:100%;max-width:1400px;margin:0 auto;padding-bottom:40px;color:#30383c}
#dh_page .lydia_program_nav{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:25px;border:1px solid #e2e6e2;border-radius:10px;background:#fff;overflow:hidden}
#dh_page .lydia_program_nav_item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:20px 10px}
#dh_page .lydia_program_nav_item:not(:last-child):after{content:"";position:absolute;right:0;top:28px;bottom:28px;width:1px;background:#e3e6e3}
#dh_page .lydia_program_nav_icon,#dh_page .lydia_program_icon{display:flex;align-items:center;justify-content:center;border-radius:50%;color:#347A48;font-family:Georgia,serif}
#dh_page .lydia_program_nav_icon{width:76px;height:76px;margin-bottom:12px;font-size:31px}
#dh_page .is-green{background:#f1f6ed}
#dh_page .is-beige{background:#fbf2e7}
#dh_page .lydia_program_nav_item strong{font-family:"Noto Serif KR","Noto Sans KR",serif;font-size:19px;color:#202925}
#dh_page .lydia_program_visual{height:310px;margin-bottom:28px;overflow:hidden}
#dh_page .lydia_program_visual img{display:block;width:100%;height:100%;object-fit:cover}
#dh_page .lydia_program_list{display:flex;flex-direction:column;gap:20px}
#dh_page .lydia_program_item{display:grid;grid-template-columns:150px minmax(0,1fr) 430px;align-items:stretch;min-height:245px;padding:34px 32px;border:1px solid #e2e6e2;border-radius:10px;background:#fff}
#dh_page .lydia_program_icon{align-self:center;width:112px;height:112px;margin:auto;font-size:45px}
#dh_page .lydia_program_content{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:0 42px 0 18px}
#dh_page .lydia_program_content:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:#d9dedb}
#dh_page .lydia_program_no{display:flex;align-items:center;gap:13px;margin-bottom:10px;color:#347A48;font-family:Georgia,serif;font-size:16px}
#dh_page .lydia_program_no:after{content:"";width:34px;height:1px;background:#347A48}
#dh_page .lydia_program_content h3{margin:0 0 13px;color:#202925;font-family:"Noto Serif KR","Noto Sans KR",serif;font-size:28px;font-weight:600;letter-spacing:-.045em}
#dh_page .lydia_program_desc{max-width:650px;color:#59615d;font-size:16px;line-height:1.72;letter-spacing:-.025em;word-break:keep-all}
#dh_page .lydia_program_desc h4{margin:0 0 3px;color:#347A48;font-size:17px}
#dh_page .lydia_program_desc p{margin:0}
#dh_page .lydia_program_desc i{display:block;height:1px;margin:13px 0;background:#e4e8e4}
#dh_page .lydia_program_price{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:175px;margin-left:28px;padding:22px;background:#f7f9f5;border-radius:8px;text-align:center}
#dh_page .lydia_program_price b{margin-bottom:17px;font-size:16px}
#dh_page .lydia_program_price>span{margin-bottom:9px;font-size:16px}
#dh_page .lydia_program_price>strong{color:#17652f;font-family:Georgia,serif;font-size:36px;font-weight:500}
#dh_page .lydia_program_price strong em{margin-left:2px;font-family:"Noto Sans KR",sans-serif;font-size:14px;font-style:normal}
#dh_page .lydia_program_price.multi{display:grid;align-content:center;padding:8px 22px}
#dh_page .lydia_program_price.multi>div{display:grid;grid-template-columns:95px 1fr;align-items:center;min-height:42px;border-bottom:1px solid #dfe4df}
#dh_page .lydia_program_price.multi>div:last-child{border:0}
#dh_page .lydia_program_price.multi strong{color:#17652f;font-family:Georgia,serif;font-size:22px;font-weight:500;text-align:right}
@media(max-width:1100px){
 #dh_page .lydia_program_item{grid-template-columns:120px minmax(0,1fr) 330px;padding:30px 25px}
 #dh_page .lydia_program_content{padding-right:30px}
 #dh_page .lydia_program_price{margin-left:22px}
}
@media(max-width:768px){
 #dh_page .lydia_program_nav{margin-bottom:15px}
 #dh_page .lydia_program_nav_item{min-height:100px;padding:14px 4px}
 #dh_page .lydia_program_nav_item:not(:last-child):after{top:15px;bottom:15px}
 #dh_page .lydia_program_nav_icon{width:46px;height:46px;margin-bottom:7px;font-size:20px}
 #dh_page .lydia_program_nav_item strong{font-size:12px;white-space:nowrap}
 #dh_page .lydia_program_visual{height:165px;margin-bottom:15px}
 #dh_page .lydia_program_list{gap:12px}
 #dh_page .lydia_program_item{grid-template-columns:58px minmax(0,1fr);min-height:0;padding:22px 14px}
 #dh_page .lydia_program_icon{align-self:start;width:52px;height:52px;margin-top:3px;font-size:23px}
 #dh_page .lydia_program_content{padding:0 0 18px 10px}
 #dh_page .lydia_program_content:after{display:none}
 #dh_page .lydia_program_no{margin-bottom:7px;font-size:13px}
 #dh_page .lydia_program_no:after{width:24px}
 #dh_page .lydia_program_content h3{margin-bottom:8px;font-size:19px}
 #dh_page .lydia_program_desc{font-size:13.5px}
 #dh_page .lydia_program_desc h4{font-size:14px}
 #dh_page .lydia_program_price{grid-column:1/-1;min-height:0;margin:0;padding:18px 15px}
 #dh_page .lydia_program_price b{margin-bottom:10px;font-size:14px}
 #dh_page .lydia_program_price>span{font-size:14px}
 #dh_page .lydia_program_price>strong{font-size:29px}
 #dh_page .lydia_program_price.multi{grid-template-columns:repeat(2,1fr);padding:8px 12px}
 #dh_page .lydia_program_price.multi>div{grid-template-columns:55px 1fr;min-height:40px;padding:0 7px}
 #dh_page .lydia_program_price.multi>div:nth-child(odd){border-right:1px solid #dfe4df}
 #dh_page .lydia_program_price.multi strong{font-size:17px}
}
@media(max-width:480px){
 #dh_page .lydia_program_nav_item strong{font-size:11px}
 #dh_page .lydia_program_visual{height:135px}
 #dh_page .lydia_program_item{grid-template-columns:50px minmax(0,1fr);padding:19px 10px}
 #dh_page .lydia_program_icon{width:45px;height:45px;font-size:20px}
 #dh_page .lydia_program_content h3{font-size:18px}
 #dh_page .lydia_program_desc{font-size:13px}
 #dh_page .lydia_program_price.multi{grid-template-columns:1fr}
 #dh_page .lydia_program_price.multi>div:nth-child(odd){border-right:0}
}


/* GUIDE ICON RESTORE - original line icon style */
#dh_page .lydia_program_nav_icon svg,
#dh_page .lydia_program_icon svg{
    display:block;
    fill:none;
    stroke:#347A48;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
#dh_page .lydia_program_nav_icon svg{width:39px;height:39px;}
#dh_page .lydia_program_icon svg{width:53px;height:53px;}
@media(max-width:768px){
    #dh_page .lydia_program_nav_icon svg{width:25px;height:25px;}
    #dh_page .lydia_program_icon svg{width:27px;height:27px;}
}
@media(max-width:480px){
    #dh_page .lydia_program_icon svg{width:23px;height:23px;}
}

/* exact approved guide icon treatment */
#dh_page .lydia_program_nav_icon.is-green,
#dh_page .lydia_program_icon.is-green{background:#eef5e9!important;}
#dh_page .lydia_program_nav_icon.is-beige,
#dh_page .lydia_program_icon.is-beige{background:#fbf1e5!important;}
#dh_page .lydia_program_nav_icon svg,
#dh_page .lydia_program_icon svg{stroke:#347A48!important;stroke-width:1.8!important;}


/* =========================================================
   GUIDE ICONS - APPROVED DESIGN IMAGE ASSETS
   시안의 실제 아이콘을 그대로 사용
   ========================================================= */
#dh_page .lydia_program_nav_icon,
#dh_page .lydia_program_icon{
    background:transparent !important;
    overflow:hidden;
}
#dh_page .lydia_program_nav_icon img,
#dh_page .lydia_program_icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}


/* GUIDE ICON BACKGROUND REMOVE
   PNG 아이콘 자체의 원형 배경만 사용 */
#dh_page .lydia_program_nav_icon,
#dh_page .lydia_program_icon,
#dh_page .lydia_program_nav_icon.is-green,
#dh_page .lydia_program_nav_icon.is-beige,
#dh_page .lydia_program_icon.is-green,
#dh_page .lydia_program_icon.is-beige{
    background:none !important;
    box-shadow:none !important;
}

/* =========================================================
   LYDIA FACILITY PAGE
   ========================================================= */
#dh_page .lydia_facility_page{width:100%;max-width:1400px;margin:0 auto;padding:5px 0 35px;color:#30383c;}
#dh_page .lydia_facility_intro{text-align:center;margin:0 auto 48px;}
#dh_page .lydia_facility_en{margin:0 0 14px;color:#347A48;font-family:"Montserrat","Noto Sans KR",sans-serif;font-size:12px;font-weight:600;letter-spacing:.38em;}
#dh_page .lydia_facility_title{margin:0 0 18px;color:#202925;font-family:"Noto Serif KR","Noto Sans KR",serif;font-size:38px;line-height:1.45;font-weight:500;letter-spacing:-.045em;word-break:keep-all;}
#dh_page .lydia_facility_title em{color:#347A48;font-style:normal;font-weight:600;}
#dh_page .lydia_facility_intro p{margin:0;color:#66706b;font-size:17px;line-height:1.85;letter-spacing:-.025em;word-break:keep-all;}
#dh_page .lydia_facility_hero{width:100%;height:450px;margin-bottom:54px;overflow:hidden;background:#f3f0ea;}
#dh_page .lydia_facility_hero img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}
#dh_page .lydia_facility_gallery{position:relative;width:100%;margin-bottom:54px;overflow:hidden;}
#dh_page .lydia_facility_track{display:flex;gap:20px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform;}
#dh_page .lydia_facility_slide{flex:0 0 calc((100% - 40px)/3);height:360px;overflow:hidden;background:#f3f0ea;}
#dh_page .lydia_facility_slide img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;}
#dh_page .lydia_facility_arrow{position:absolute;z-index:4;top:50%;width:50px;height:50px;margin-top:-25px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 3px 16px rgba(0,0,0,.12);cursor:pointer;font-size:0;}
#dh_page .lydia_facility_arrow:before{content:"";position:absolute;top:16px;width:16px;height:16px;border-top:2px solid #347A48;border-left:2px solid #347A48;}
#dh_page .lydia_facility_prev{left:18px;}
#dh_page .lydia_facility_prev:before{left:19px;transform:rotate(-45deg);}
#dh_page .lydia_facility_next{right:18px;}
#dh_page .lydia_facility_next:before{right:19px;transform:rotate(135deg);}
#dh_page .lydia_facility_dots{display:flex;justify-content:center;gap:8px;margin-top:22px;}
#dh_page .lydia_facility_dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ccd4ce;cursor:pointer;}
#dh_page .lydia_facility_dot.active{background:#347A48;}
#dh_page .lydia_facility_bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
#dh_page .lydia_facility_bottom_item{height:410px;overflow:hidden;background:#f3f0ea;}
#dh_page .lydia_facility_bottom_item img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;}
@media(max-width:1100px){
 #dh_page .lydia_facility_title{font-size:34px;}
 #dh_page .lydia_facility_hero{height:400px;}
 #dh_page .lydia_facility_slide{height:300px;}
 #dh_page .lydia_facility_bottom_item{height:340px;}
}
@media(max-width:768px){
 #dh_page .lydia_facility_page{padding-top:0;padding-bottom:15px;}
 #dh_page .lydia_facility_intro{margin-bottom:28px;padding:0 4px;}
 #dh_page .lydia_facility_en{margin-bottom:10px;font-size:10px;letter-spacing:.3em;}
 #dh_page .lydia_facility_title{margin-bottom:12px;font-size:27px;line-height:1.5;}
 #dh_page .lydia_facility_intro p{font-size:14px;line-height:1.75;}
 #dh_page .lydia_facility_hero{height:300px;margin-bottom:30px;}
 #dh_page .lydia_facility_gallery{margin-bottom:30px;}
 #dh_page .lydia_facility_track{gap:12px;}
 #dh_page .lydia_facility_slide{flex-basis:100%;height:290px;}
 #dh_page .lydia_facility_arrow{width:42px;height:42px;margin-top:-21px;}
 #dh_page .lydia_facility_arrow:before{top:14px;width:13px;height:13px;}
 #dh_page .lydia_facility_prev{left:10px;} #dh_page .lydia_facility_prev:before{left:16px;}
 #dh_page .lydia_facility_next{right:10px;} #dh_page .lydia_facility_next:before{right:16px;}
 #dh_page .lydia_facility_dots{margin-top:15px;}
 #dh_page .lydia_facility_bottom{grid-template-columns:1fr;gap:12px;}
 #dh_page .lydia_facility_bottom_item{height:280px;}
}
@media(max-width:480px){
 #dh_page .lydia_facility_title{font-size:25px;}
 #dh_page .lydia_facility_hero{height:245px;}
 #dh_page .lydia_facility_slide{height:245px;}
 #dh_page .lydia_facility_bottom_item{height:235px;}
}


/* FACILITY HERO COMPACT - PC / TABLET / MOBILE */
@media screen and (min-width:1101px){
    #dh_page .lydia_facility_hero,
    #dh_page .facility_hero{
        height:360px !important;
    }
}
@media screen and (min-width:769px) and (max-width:1100px){
    #dh_page .lydia_facility_hero,
    #dh_page .facility_hero{
        height:330px !important;
    }
}
@media screen and (max-width:768px){
    #dh_page .lydia_facility_hero,
    #dh_page .facility_hero{
        height:220px !important;
    }
}
@media screen and (max-width:480px){
    #dh_page .lydia_facility_hero,
    #dh_page .facility_hero{
        height:180px !important;
    }
}
#dh_page .lydia_facility_hero img,
#dh_page .facility_hero img{
    width:100%;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
}
