/********** Design CSS **********/
@import url('../fonts/stylesheet.css');

body {
    font-family: 'NotoSansKR', sans-serif, 'Inter';
    font-size:16px; 
}
/** ws : worpsoft **/

:root {
    --ws-main: #f5e0da; 
    --ws-sub:  #f7e7c8;
    --ws-deep: #e4cda9;
    --ws-deep2:#b89f79; 
    --ws-link: #c89b90;   
    --ws-hover:#b76e79; 
    --ws-grey0:#111111; 
    --ws-grey1:#333333; 
    --ws-grey2:#7d7d7d; 
    --ws-grey3:#b5b5b6; 
    --ws-grey4:#d2d2d1; 
    --ws-grey5:#e8e8e8; 
    --ws-grey6:#f5f5f5; 
    --ws-white:#ffffff;
    --ws-green: #52AA54; 
    --ws-blue: #0d84da; 
    --ws-red:#cd1e1e;

    --ws-gradient-rose: linear-gradient(135deg, #e5b2ca 0%, #b76e79 50%, #94535d 100%);
    --ws-gradient-gold: linear-gradient(135deg, #f3e5ab 0%, #d4af37 50%, #b8860b 100%);
}

.gradient-text {
    background: linear-gradient(135deg, #f5e0d0, #e5b2a3, #f6e7c7, #e5b2a3, #f5e0d0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gradient-text2{
    background: linear-gradient(45deg, #f5e0d0, #e5b2a3, #f6e7c7, #e5b2a3, #f5e0d0, #b98c70);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

h1 { font-size: 3rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 1.65rem; }   /* 1.5 > 1.65*/
h4 { font-size: 1.35rem; }    /* 1.25 > 1.35 */
h5 { font-size: 1.25rem; }    /* 1.125 > 1.25*/
h6 { font-size: 1rem; margin-top:0; margin-bottom:0 !important; }
li { list-style: none;}
p {font-size:1.1rem;  word-break: auto-phrase;}

a { color: var(--ws-link);  }
a:hover, a:focus, a:active { color: var(--ws-hover);  /* #a58279;*/}

.bg-primary {
    background-color: var(--ws-main)!important
}
.bg-lipink {background:#fdf5f2 !important; }
.bg-f4 { background: #f4f4f4; }
.bg-f9 { background: #f9f9f9!important; }
.bg-lightgrey { background-color:#EEEEEE; }
.bg-f6 { background:#f6f6f6; }


.fc-white { color: #fff !important; }
.fc-grey0 { color: #111111;}
.fc-grey1 { color: #333333 !important; }  /* fc-grey > fc-grey1 */
.fc-grey2 { color: #7d7d7d; } /* fc-7d > fc-grey2 */
.fc-grey3 { color: #b5b5b6; } /* fc-light-grey > fc-grey3 */
.fc-grey4 { color: #d2d2d1; }
.fc-grey5 { color: #f5f5f5; }
.fc-point { color: var(--ws-hover); }
.point_line {border-bottom: 2px solid #d79c92; }

.stick { font-size:12px !important;  vertical-align: text-bottom; margin-left:6px; margin-right:6px; }
.fs-14 { font-size:0.875rem !important; }
.fs-16 { font-size:1rem !important; }
.fs-24 { font-size:1.5rem !important; }
.fs-36 { font-size:2rem; }
.fs-30 { font-size:1.875rem; }

.ls-1 { letter-spacing:1rem; }
.ls-harf { letter-spacing:0.5rem; }

.text-primary { color: var(--ws-main)!important; }

.center { margin:0 auto; }

.mxw-480 { max-width:480px; }
.mxw-500 { max-width:500px; }
.mxw-600 { max-width:600px; }
.mxw-700 { max-width:700px; word-break:keep-all; }
.intro_tg { 
    max-width: 700px; 
    word-break: keep-all; 
    line-height:1.5; 
    font-size:2rem;}
.wbka-lh { word-break: keep-all; line-height:1.5; }

/* main menu color */

.dropdown-item { 
    color: rgba(255,255,255,.75); 
    padding:.4rem 2.6rem; 
}
a.dropdown-item:hover{ 
   background: #d79c92;
}
/* Quick Menu */
.quick-menu {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    display: flex;
    flex-direction: column;
}
.quick-menu-item {
    width: 80px;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--ws-hover);
    color: #fff !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    transition: background 0.3s;
    gap: 4px;
}
.quick-menu-item:hover {
    background: #94535d;
    color: #fff !important;
}
.quick-menu-item i {
    font-size: 22px;
}
.quick-menu-item span {
    font-size: 11px;
    letter-spacing: -0.5px;
    white-space: nowrap;
}
.quick-menu-top {
    border-radius: 40px 0 0 0;
}
.quick-menu-bottom {
    border-radius: 0 0 0 40px;
    border-bottom: none;
}

.quick-menu-items {
    display: flex;
    flex-direction: column;
}

.quick-menu-toggle {
    display: none;
}

@media (max-width: 768px) {
    /* 드로어 전체가 오른쪽에서 슬라이드 — 손잡이가 메뉴 왼쪽에 붙어 함께 이동 */
    .quick-menu {
        flex-direction: row;
        align-items: center;
        right: -64px;
        top: 50%;
        transform: translateY(calc(-50% + 140px));
        transition: right 0.3s ease;
    }
    .quick-menu.open {
        right: 0;
    }
    .quick-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 72px;
        background: rgba(183, 110, 121, 0.82);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        border: none;
        border-radius: 12px 0 0 12px;
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
        order: -1;
        align-self: center;
        transition: background 0.2s;
    }
    .quick-menu-toggle:hover { background: rgba(148, 83, 93, 0.92); }
    .quick-menu-toggle i { font-size: 11px; color: #fff; transform: rotate(90deg); }
    .quick-menu-toggle span { display: none; }
    .quick-menu-items {
        display: flex;
        flex-direction: column;
        width: 64px;
        transition: none;
    }
    .quick-menu-item {
        width: 64px;
        height: 62px;
        flex-shrink: 0;
    }
    .quick-menu-item.quick-menu-top { border-radius: 40px 0 0 0 !important; }
    .quick-menu-item.quick-menu-bottom { border-radius: 0 0 0 40px !important; }
    .back-to-top {
        right: 20px !important;
        bottom: 20px;
    }
    .mb-6 { margin-bottom: 2.5rem !important; }
}

/* 모바일: 병원소개 hero 섹션 폰트 축소 */
@media (max-width: 991.98px) {
    .bg-symbol h2       { font-size: 1.3rem; }
    .bg-symbol .fs-36   { font-size: 1.15rem !important; }
    .bg-symbol .intro_tg { font-size: 1.1rem !important; }
    .bg-symbol h1.gradient-text { font-size: 1.4rem; }
}

.back-to-top {
    position: fixed;
    display: none;
    right: 30px;
    bottom: 30px;
    z-index: 99;
    background: #b76e79 !important;
    border-color: #b76e79 !important;
    border-radius: 50% !important;
    width: 48px;
    height: 48px;
}
.back-to-top i {
    color: #e8e8e8 !important;
}
.back-to-top:hover {
    background: #94535d !important;
    border-color: #94535d !important;
}
.back-to-top:focus,
.back-to-top:active,
.back-to-top.btn-primary:active:focus {
    background: #b76e79 !important;
    border-color: #b76e79 !important;
    box-shadow: 0 0 0 .25rem #F5E0D9 !important;
    outline: none !important;
}
.fw-medium { font-weight: 600; }
.mt-6 { margin-top: 5rem; }
.mb-6 { margin-bottom: 5rem; }
.pt-6 { padding-top: 5rem; }
.pb-6 { padding-bottom: 5rem; }
.w-20 { width:20%; }
.w-30 { width:30%; }
.w-40 { width:40%; }
.w-80 { width:80%; }
.width-400 { width:400px; max-width:100%; }

.display-6 { font-weight:600;}
.bg-symbol {
    position: relative;
    overflow: hidden;
}
.bg-symbol::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 200px;       /* Y축 조절: 값을 키우면 더 아래로 내려감 */
    bottom: -200px;
    background: url(../img/symbol.svg) center top no-repeat;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}
.bg-symbol > * {
    position: relative;
    z-index: 1;
}
.rounded-circle{ 
    border-radius:50%; 
    width:250px;
    height:250px;  
}

.bg-sub {
   background: linear-gradient(135deg,rgba(245, 235, 235, .45) 0%, rgba(245, 224, 218, .5) 50%, rgba(239, 214, 214, .4) 100%);
    border-top-left-radius: 30px;   
    border-top-right-radius: 30px;     
}
/* .bg-sub h1 { color: #f9f9f9 !important; } */

.badge {font-size:1.1rem; padding:.5em .85em; }
.table-bordered>:not(caption)>*>* {
    vertical-align:middle; 
}
/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

.form-check-input:focus {
    border-color: var(--ws-hover);
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(206, 56, 51, 0.207)
}

.form-check-input:checked {
    background-color: var(--ws-hover);
    border-color: var(--ws-hover) ;
}
.form-control:focus {
    color: #797672;
    background-color: #fff;
    border-color: var(--ws-deep2); 
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(206, 80, 51, 0.25)
}
.form-select:focus {
    border-color: var(--ws-hover);  /*#e7af99 */
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(206, 146, 51, .25)
}

.border-primary {
    border-color: var(--ws-hover) !important
}

.border-secondary {
    border-color: var(--ws-grey5) !important
}

.breadcrumb-item a { color: var(--ws-grey1); }
.breadcrumb-item[aria-current="page"] { color: var(--ws-grey0); }

/*** Button ***/
.btn {
    transition: .5s;
    font-weight: 500;
    text-transform: uppercase;
}

.btn-outline-primary:hover {
    color: var(--ws-grey2);
    font-weight:500; 
}

.btn-primary {
    color:var(--ws-grey2);
    background-color: var(--ws-main);
    border-color: var(--ws-main); 
}

.btn-primary:hover {
    color: var(--ws-white);
    background-color: var(--ws-hover);
    border-color:  var(--ws-hover);
}


.btn-outline-secondary:hover {
    color: var(--ws-grey1);
}
.btn-secondary { 
color: #555555; 
background: var(--ws-grey4); 
border-color: var(--ws-grey4); 
border-radius: 4px; 
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-xl-square {
    width: 60px;
    height: 60px;
}

.btn-xxl-square {
    width: 75px;
    height: 75px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square,
.btn-xl-square,
.btn-xxl-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}

/*** Navbar ***/
.sticky-top {
    top: -100px;
    transition: .5s;
}

.navbar .navbar-nav .nav-link {
    margin-right: 35px;
    padding: 15px 0;
    color: var(--ws-grey1); 
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 400;
    outline: none;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--ws-hover); 
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    vertical-align: middle;
    margin-left: 8px;
    font-size:12px; 
    color: var(--ws-hover);
}


@media (max-width: 991.98px) {
    .navbar .navbar-nav .nav-link  {
        margin-right: 0;
        padding: 10px 0;
    }

    .navbar .navbar-nav {
        margin-top: 15px;
        border-top: 1px solid #EEEEEE;
    }

    .navbar .dropdown-menu {
        background: #fff;
    }
    .navbar .dropdown-menu .dropdown-item {
        color: var(--ws-grey1);
    }
    .navbar .dropdown-menu .dropdown-item:hover {
        color: var(--ws-hover);
        background: #f9f5f3;
    }
}

@media (min-width: 992px) {
    /* 메뉴를 가로로 꽉 채워 space-between이 먹도록 */
    .navbar .navbar-nav.w-100 {
        width: 100%;
    }

    /* space-between 배치일 때 링크 우측 마진은 간격을 망치므로 제거 */
    .navbar .navbar-nav.justify-content-between .nav-link {
        margin-right: 0;
    }

    .navbar .nav-item .dropdown-menu {
        display: block;
        border: none;
        margin-top: 0;
        top: 150%;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
        left:-40px;
        border-radius: 0 0 8px 8px !important;
        overflow:hidden;
        min-width: 14rem;
    }

    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        visibility: visible;
        transition: .5s;
        opacity: 1;
        color: rgba(0,0,0,.6);
        background: rgba(229,178,163,.75) ;    
    }
}

/*** Top quick ***/
.top-quick li  { 
    font-size: .875rem; 
    padding:4px 0; 
}

.top-quick li:not(:last-child)::after{
    content: "|"; 
    margin:0 10px; 
    color: var(--ws-grey3); 
    font-weight:normal; 
}

/*** Header ***/
.carousel .carousel-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .35);
    z-index: 1;
}

.carousel .carousel-caption {
    top: 0;
    left: max(0px, calc((100% - 1320px) / 2));
    right: max(0px, calc((100% - 1320px) / 2));
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: left;
    background: transparent;
    padding: 3rem;
    padding-left: 11rem;
    z-index: 2;
}

.carousel .carousel-caption h1 {
    font-family: 'NanumMyeongjo', serif;
    font-weight: 700;
    word-break:auto-phrase; 
    font-size:2.65rem; 
    max-width:800px; 
    text-align:center; 
    opacity: .5;
}

.carousel .carousel-indicators {
    top: 0;
    bottom: 0;
    left: max(0px, calc((100% - 1320px) / 2));
    right: auto;
    width: 80px;
    flex-direction: column;
    margin: 0;
    margin-left: 3rem;
    z-index: 10;
}

.carousel .carousel-indicators [data-bs-target] {
    width: 70px;
    height: 70px;
    text-indent: 0;
    margin: 5px 0;
    border: 2px solid var(--ws-main);
    overflow: hidden;
}

.carousel .carousel-indicators [data-bs-target] img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 992px) {
    .carousel .carousel-item {
        position: relative;
        min-height: 500px;
    }

    .carousel .carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .carousel .carousel-indicators [data-bs-target] {
        width: 60px;
        height: 60px;
    }

    .carousel .carousel-caption {
        padding-left: 10rem;
    }
}

@media (max-width: 768px) {
    .carousel .carousel-item {
        min-height: 340px;
    }

    .carousel .carousel-indicators [data-bs-target] {
        width: 44px;
        height: 44px;
    }

    .carousel .carousel-caption {
        padding-left: 6.5rem;
        padding-bottom: 1rem;
    }

    .carousel .carousel-caption h1 {
        font-size: 1.2rem !important;
        margin-bottom: 0.5rem !important;
    }
}

/* 모바일: 한국어 widow 방지 (마지막 음절 혼자 줄바꿈 방지) */
@media (max-width: 991.98px) {
    .carousel .carousel-caption h1,
    .service h3,
    .service p {
        word-break: keep-all;
    }
}

@media (min-width: 1200px) {
    .carousel .carousel-item .display-1 {
        font-size: 7rem;
    }
}

/* Hero Video Slide */
#carousel-video-item {
    position: relative;
    height: 700px;
    background: #000;
}

#carousel-video-item .carousel-video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.carousel-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.carousel-video-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 1.4rem;
}

/* Video Caption */
.carousel .carousel-video-caption {
    text-align: center;
    align-items: center;
}

.video-caption-title {
    font-family: 'NanumMyeongjo', serif;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.4;
}

.video-quote-icon {
    font-size: 0.5em;
    vertical-align: top;
    opacity: 0.4;
}

.video-caption-sub-1,
.video-caption-sub-2 {
    font-size: 3rem;
    line-height: 2;
    font-family: 'NanumMyeongjo', serif;
}

.video-caption-desc {
    font-size: 3rem;
    line-height: 1.4;
    font-family: 'NanumMyeongjo', serif;
}

.video-caption-en {
    font-style: italic;
    color: var(--ws-main);
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0;
}

/* 순차 애니메이션 — 절대 위치로 각 줄을 세로 가운데 독립 배치 (진입 transform은 JS가 방향별 처리) */
.carousel-video-caption .video-caption-title,
.carousel-video-caption .video-caption-sub-1,
.carousel-video-caption .video-caption-sub-2,
.carousel-video-caption .video-caption-desc,
.carousel-video-caption .video-caption-en {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    opacity: 0;
}

/* "진정성 있는 진료를 실천합니다" 강조 */
.video-caption-desc-3 {
    font-size: 4rem;
}

/* "Every woman" — 인디케이터 썸네일과 겹침 방지 */
.carousel-video-caption .video-caption-en {
    left: 12%;
    /*right: 12%;*/
}

/* 캡션 공통 깊이감 */
.carousel-video-caption .video-caption-title,
.carousel-video-caption .video-caption-sub-1,
.carousel-video-caption .video-caption-sub-2,
.carousel-video-caption .video-caption-desc,
.carousel-video-caption .video-caption-en {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

/* 핵심 키워드: 산스 Black + 샴페인골드 (명조 regular와 극적 대비) */
.vc-key {
    font-family: 'NotoSansKR', sans-serif;
    font-weight: 900;
    color: #C6A84B;
    letter-spacing: -0.02em;
}

/* 굵기 강조: 산스 Black (명조 regular와 극적 대비) */
.vc-bold {
    font-family: 'NotoSansKR', sans-serif;
    font-weight: 900;
    letter-spacing: -0.02em;
}

/* 감성 강조: 샴페인골드 — 한국어는 italic 효과 없으므로 색상으로 대체 */
.vc-accent {
    color: #C6A84B;
    font-weight: 700;
}

/* 이탤릭: 영문 전용 */
.vc-italic {
    font-style: italic;
}

/* 결구 강조: 산스 Black + 넓은 자간 */
.vc-wide {
    font-family: 'NotoSansKR', sans-serif;
    font-weight: 900;
    letter-spacing: 0.08em;
    display: inline-block;
}
/* 클로징 강조: 산스 Black + 골드 밑줄 */
.vc-underline {
    font-family: 'NotoSansKR', sans-serif;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-decoration: underline;
    text-decoration-color: #C6A84B;
    text-underline-offset: 8px;
    text-decoration-thickness: 2px;
}

/* 클로징 강조: 산스 Black + 골드 박스 */
.vc-box {
    font-family: 'NotoSansKR', sans-serif;
    font-weight: 900;
    letter-spacing: -0.02em;
    display: inline-block;
    border: 4px solid #C6A84B;
    padding: 4px 16px;
}

/* 샴페인골드 강조점 */
.emphasis-dot {
    -webkit-text-emphasis-style: filled dot;
    -webkit-text-emphasis-color: currentColor;
    text-emphasis-style: filled dot;
    text-emphasis-color: currentColor;
    text-emphasis-position: over right;
}

/* 영상 인디케이터 썸네일: 동영상 표시 오버레이 */
#carousel-video-indicator {
    position: relative;
}
#carousel-video-indicator::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}
#carousel-video-indicator::after {
    content: '▶';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 0.75rem;
    padding-left: 3px; /* 삼각형 광학 보정 */
    width: 32px;
    height: 32px;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-sizing: border-box;
}

@media (max-width: 992px) {
    #carousel-video-item { height: 500px; }
    .video-caption-title,
    .video-caption-sub-1,
    .video-caption-sub-2,
    .video-caption-desc,
    .video-caption-en { font-size: 2rem; }
}

@media (max-width: 768px) {
    #carousel-video-item { height: 340px; }
    .video-caption-title,
    .video-caption-sub-1,
    .video-caption-sub-2,
    .video-caption-desc,
    .video-caption-en { font-size: 0.95rem; }
}

/* 모바일 히어로 영상 슬로건 오버레이 */
.mobile-hero-overlay { display: none; }
@media (max-width: 991.98px) {
    .mobile-hero-overlay {
        display: block;
        position: absolute;
        left: 16px;
        bottom: 16px;
        max-width: calc(100% - 32px);
        text-align: left;
        color: #fff;
        z-index: 5;
        pointer-events: none;
    }
    .mho-slogan {
        font-family: 'NotoSansKR', sans-serif;
        font-size: 0.95rem;
        line-height: 1.55;
        font-weight: 400;
        margin: 0 0 8px;
        letter-spacing: -0.01em;
        color: rgba(255, 255, 255, 0.7);
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
    }
    .mho-slogan em {
        font-style: normal;
        font-weight: 700;
        color: #c89b90;
    }
    .mho-name {
        font-family: 'NotoSansKR', sans-serif;
        font-size: 1.4rem;
        line-height: 1.3;
        font-weight: 600;
        margin: 0;
        letter-spacing: -0.01em;
        color: #c89b90;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    }
}

.page-header {
    background: linear-gradient(rgba(255, 255, 255, .7), rgba(207, 176, 164, .7)), url(../img/carousel-1.jpg) center center no-repeat;
    background-size: cover;
}
.page-header2 {
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image2.jpg) center center no-repeat;
    background-size: cover;
}
.page-header3{
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image3.jpg) center center no-repeat;
    background-size: cover;
}
.page-header4 {
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image4.jpg) center center no-repeat;
    background-size: cover;
}
.page-header5{
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image5.jpg) center center no-repeat;
    background-size: cover;
}
.page-header6 {
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image6.jpg) center center no-repeat;
    background-size: cover;
}
.page-header7{
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image7.jpg) center center no-repeat;
    background-size: cover;
}
.page-header8{
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/sub_image8.jpg) center center no-repeat;
    background-size: cover;
}

/* index */

.question  li { 
    display:flex; 
    align-items:center; 
    margin-bottom: 6px;
}
/*** About ***/
.about-img {
    position: relative;
    padding-left: 45px;
}

/* .about-img::before {
    position: absolute;
    content: "";
    width: 200px;
    height: 300px;
    top: 0;
    left: 0;
    border: 5px solid var(--ws-main);
    animation: animateUpDown 3s ease-in-out infinite;
    z-index: -1;
} */

@keyframes animateUpDown { 
    0% { 
        top: -25px;
    }
    50% { 
        top: -45px;
    }
    100% { 
        top: -25px;
    } 
}


/*** Features ***/
.feature {
    background:var(--ws-grey6);
}

.lifecare {
    position: relative;
}

.lifecare::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('../img/life_bg.png') center center / cover no-repeat;
    opacity: 0.8;
    z-index: 0;
}

.lifecare > * {
    position: relative;
    z-index: 1;
}

.feature-row {
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.feature-item {
    border-color: rgba(0, 0, 0, .03) !important;
}

.feature-icon {
    position: relative;
    transition: .5s;
}

.feature-item:hover .feature-icon {
    margin-left: 3rem;
}

.feature-item a::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: var(--ws-grey2);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}

.feature-item a:hover {
    color: var(--ws-main) !important;
}

.feature-item a:hover::after {
    background: var(--ws-main);
}

.experience .progress {
    height: 5px;
}

.experience .progress .progress-bar {
    width: 0px;
    transition: 3s;
}
.rounded-rect{ border-radius:5%; }

.grey-box {
    width:130px; 
    height:130px; 
    border-radius:16rem; 
    margin-right:1rem; 
    opacity:.7; 
 }
 .grey-box:nth-child(1) { 
    background:#eaa6a6 url(../img/life-icon1.svg)center center no-repeat;
    background-size: 50%; 
}
.grey-box:nth-child(2) { 
    background:#eaa6a6 url(../img/life-icon2.svg)center center no-repeat;
    background-size: 50%; 
}

.grey-box:nth-child(3) { 
    background:#eaa6a6 url(../img/life-icon3.svg)center center no-repeat;
    background-size: 50%; 
}
p.care_img { 
    width: 470px; 
    height:540px; 
    background:url(../img/medical_history.jpg)center top no-repeat;
    background-size:cover; 
}

/*** Care ***/
.care .care-item {
    position: relative;
    margin-top: 45px;
}

.care .care-inner {
    position: relative;
    height: 100%;
    margin-top: 45px;
    background: var(--ws-white);
    box-shadow: 0 0 45px rgba(0, 0, 0, .05);
}

.care .care-inner::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 0;
    left: 0;
    bottom: 0;
    transition: 1s;
    background: var(--ws-main);
}

.care .care-inner:hover::before {
    height: 100%;
    top: 0;
}

.care .care-item img {
    margin-top: -45px;
    padding-left: 45px;
}

.care .care-item * {
    position: relative;
    transition: .5s;
    z-index: 1;
}

.care .care-item:hover h5,
.care .care-item:hover p {
    color: var(--ws-white);
}

.care .care-item:hover a {
    padding-left: 45px !important;
}
.care-item img {
    width: 370px;
    height: 425px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}


/*** Service ***/
.health .health-item {
    position: relative;
    margin-top: 45px;
    border-radius:8px; 
}

.health .health-inner {
    position: relative;
    height: 100%;
    margin-top: 45px;
    background: var(--ws-white);
    box-shadow: 0 0 45px rgba(0, 0, 0, .05);
}

.health .health-inner::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 0;
    left: 0;
    bottom: 0;
    transition: 1s;
    background: var(--ws-main);
}

.health .health-inner:hover::before {
    height: 100%;
    top: 0;
}


.health .health-item img {
 width:320px ; 
 height:420px; 
 object-fit: cover;
 display: block;
 margin: 0 auto;
 border-radius:8px; 
}

.health-box h3 { font-size:1.5rem !important; }
.health .health-item01,.health .health-item02 , .health .health-item03, .health .health-item04{  
    width:320px ; 
    height:420px; 
    object-fit: cover;
    display: block;
    margin: 0 auto;
    border-radius:8px; 
}

 .medical .medical-item01,  .medical .medical-item02 , .medical .medical-item03, 
 .medical .medical-item04,  .medical .medical-item05 , .medical .medical-item06{  
    width:380px ; 
    height:360px; 
    object-fit: cover;
    display: block;
    margin: 0 auto;
    border-radius:8px; 
}
.circle{
    width:50px; 
    height:50px; 
    border-radius:25px; 
    background: var(--ws-hover);  /* #e5b2a3*/
    text-align:center; 
    margin:0 auto; 
    position:relative; 
    top:60%; 
    z-index:10; 
}
.circle img { 
    width:80%; 
    top:20%; 
    position:relative; 

}
.health .health-item01 { 
    background:url(../img/healthimg01.jpg)center top no-repeat;
    background-size:cover; 
}
.health .health-item02 { 
    background:url(../img/view-6.jpg)center top no-repeat;
    background-size:cover; 
}
.health .health-item03 { 
    background:url(../img/bartholin-03.jpg)center top no-repeat;
    background-size:cover; 
}
.health .health-item04 { 
    background:url(../img/beautiful-body.jpg)center top no-repeat;
    background-size:cover; 
}


.medical .medical-item01 { 
    background:url(../img/healthimg01.jpg)center top no-repeat;
    background-size:cover; 
}
.medical .medical-item02  { 
    background:url(../img/healthimg02.jpg)center top no-repeat;
    background-size:cover; 
}
.medical .medical-item03  { 
    background:url(../img/healthimg03.jpg)center top no-repeat;
    background-size:cover; 
}
.medical .medical-item04 { 
    background:url(../img/bg_goverment.png)center top no-repeat;
    background-size:cover; 
}
.medical .medical-item05  { 
    background:url(../img/medical_05.png)center top no-repeat;
    background-size:cover; 
}
.medical .medical-item06  { 
    background:url(../img/medical_06.png)center top no-repeat;
    background-size:cover; 
}



.health .health-item * {
    position: relative;
    transition: .5s;
    z-index: 1;
}

.health .health-item:hover h5,
.health .health-item:hover p {
    color: var(--ws-white);
}

.health .health-item:hover a {
    padding-left: 45px !important;
}
.health-box {
    background:rgba(255,255,255,.7);
    width:80%;
    margin:0 auto;
    text-align:center;
    top:54%;
    position:relative;
    border-radius:10px;
    padding:20px 0 ;
}

/* 모바일 2x2 그리드: 고정 크기 해제 */
@media (max-width: 768px) {
    .health .health-item01,
    .health .health-item02,
    .health .health-item03,
    .health .health-item04 {
        width: 100%;
        height: 220px;
    }
    .circle {
        top: 18%;
    }
    .health-box {
        top: 28%;
        padding: 8px 0.4rem !important; /* px-5(3rem), pt-4(1.5rem) override */
        width: 95%;
    }
    .health-box h3 { font-size: 1rem !important; }
    .health-box h6 { font-size: 0.7rem; }
}


/*** Accordion ***/
/* .elle-accordion .accordion-item {
    border: none;
    margin-bottom: 10px;
    border-radius: 8px !important;
    overflow: hidden;
}

.elle-accordion .accordion-button {
    background-color: var(--ws-grey5);
    color: var(--ws-grey1);
    font-weight: 500;
    border: none;
    box-shadow: none;
    padding: 18px 24px;
    border-radius: 8px !important;
}

.elle-accordion .accordion-button:not(.collapsed) {
    background-color: #e5b2a3;
    color: #fff;
    box-shadow: none;
}

.elle-accordion .accordion-button::after {
    display: none;
}

.elle-accordion .accordion-button::before {
    content: "+";
    font-size: 24px;
    font-weight: 300;
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    transition: .3s;
}

.elle-accordion .accordion-button:not(.collapsed)::before {
    content: "−";
    color: #fff;
}

.elle-accordion .accordion-button:focus {
    box-shadow: none;
}

.elle-accordion .accordion-collapse {
    background-color: #f5e0d0;
    border-radius: 0 0 8px 8px !important;
}

.elle-accordion .accordion-body {
    color: #fff;
    padding: 20px 24px 18px 24px;
    margin-top:-10px; 
}
 */

/*** Appoinment ***/
.appoinment {
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/carousel-2.jpg) left center no-repeat;
    background-size: cover;
}


/*** Team ***/
.team .team-item {
    background: var(--ws-white);
    box-shadow: 0 0 45px rgba(0, 0, 0, .05);
}

.team .team-item .team-social {
    position: absolute;
    width: 0;
    height: 100%;
    top: 0;
    right: 0;
    transition: .5s;
    background: var(--ws-main);
    display: flex;
    align-items: center;
    justify-content: center;
}

.team .team-item:hover .team-social {
    width: 100%;
    left: 0;
}

.team .team-item .team-social .btn {
    opacity: 0;
    transition: .5s;
}

.team .team-item:hover .team-social .btn {
    opacity: 1;
}

.profile { padding-left: 28px; }
.profile li { 
    margin-bottom: 10px;
    font-size:1.125rem; 
    color: #333;  
}
.profile li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ws-hover);
    margin-right: 8px;
    vertical-align: middle;
}

.profile2 li { 
    margin-bottom: 7px;
    /* padding-left:14px;  */
    font-size:1rem; 
    color: #333;   
}
.profile2 li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ws-grey2);
    margin-right: 8px;
    vertical-align: middle;
}
.article li {
    margin-bottom: 10px;
    font-size:1.125rem;
    list-style-type: disc;
}
.dot { font-size:.5rem; vertical-align: middle; }
/*** Doctor Detail (연재발표/주요논문) ***/
.doctor-detail dl {
    margin-bottom: 2rem;
}

.doctor-detail dt {
    margin-bottom: 1rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid var(--ws-grey4);
}

.doctor-detail dt .detail-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--ws-black);
    padding-bottom:5px; 
    border-bottom:5px solid #b76e79; 
}

.doctor-detail dd {
    margin-left: 0;
}

.doctor-detail .article {
    padding-left: 1.2rem;
}

.doctor-detail .article li {
    /*margin-bottom: 1rem;*/
    /*padding-bottom: 1rem;*/
    line-height: 1.7;
    font-size: 1rem;
    color: #333;
    list-style-type: none;
    position: relative;
    padding-left: 4.5rem;
}

.doctor-detail .article li::before {
    content: '';
    position: absolute;
    left: -0.5rem;
    top: .74rem;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ws-hover);
    margin-right:5px; 
}

.doctor-detail .article li:last-child {
    border-bottom: none;
}

.doctor-detail .article .year {
    position: absolute;
    left: 0;
    font-weight: 600;
    color: var(--fc-point);
    min-width: 4rem;
}

.doctor-detail .article .journal {
    color: #888;
    font-size: 1rem;
    word-break:auto-phrase;
}

/*** Doctor Lotus (사진 영역) ***/
.doctor-lotus {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 480px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    overflow: hidden;
}
.doctor-lotus::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../img/symbol.svg') center center / 90% auto no-repeat;
    opacity: 0.18;
    z-index: 0;
    animation: lotusFloat 6s ease-in-out infinite;
}
.doctor-lotus::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 6%;
    transform: translateX(-50%);
    width: 70%;
    height: 14px;
    background: radial-gradient(ellipse at center, rgba(148,83,93,.22) 0%, rgba(148,83,93,0) 70%);
    filter: blur(2px);
    z-index: 0;
}
.doctor-lotus-img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}
@keyframes lotusFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-10px) scale(1.02); }
}
@media (max-width: 991.98px) {
    .doctor-lotus { max-width: 360px; }
}

/*** Doctor Intro (신규 리디자인) ***/
.doctor-intro { position: relative; }
.doctor-intro::before { top: 120px; opacity: 0.08; }

.doctor-photo {
    position: relative;
    display: inline-block;
    padding: 30px;
}
.doctor-photo::before,
.doctor-photo::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.doctor-photo::before {
    inset: 0;
    background: var(--ws-gradient-rose);
    padding: 2px;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    opacity: .55;
}
.doctor-photo::after {
    inset: 14px;
    border: 1px solid rgba(183,110,121,.25);
}
.doctor-photo-inner {
    position: relative;
    width: 340px;
    height: 340px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 20px 45px -22px rgba(148, 83, 93, .35);
}
.doctor-photo-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform .6s ease;
}
.doctor-photo:hover .doctor-photo-inner img { transform: scale(1.04); }
.doctor-photo-tag {
    position: absolute;
    left: 50%;
    bottom: 4px;
    transform: translateX(-50%);
    background: var(--ws-gradient-rose);
    color: #fff;
    font-size: .75rem;
    letter-spacing: .25rem;
    padding: 6px 18px;
    border-radius: 999px;
    box-shadow: 0 6px 18px -8px rgba(148, 83, 93, .55);
    white-space: nowrap;
}

.doctor-intro-head { margin-bottom: 2rem; }
.doctor-eyebrow {
    display: inline-block;
    font-size: .8rem;
    letter-spacing: .4rem;
    color: var(--ws-hover);
    text-transform: uppercase;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(183,110,121,.35);
    margin-bottom: 1rem;
}
.doctor-name {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0 0 1.1rem;
    font-weight: 700;
}
.doctor-role {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--ws-grey2);
    letter-spacing: .25rem;
}
.doctor-name-kr {
    font-size: 3.2rem;
    letter-spacing: .6rem;
    line-height: 1;
}
.doctor-sub {
    display: flex;
    align-items: center;
    gap: .9rem;
    color: var(--ws-grey1);
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 1.4rem;
}
.doctor-sub-divider {
    display: inline-block;
    width: 18px;
    height: 1px;
    background: var(--ws-grey3);
}
.doctor-quote {
    position: relative;
    margin: 0;
    padding: 1rem 0 0;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--ws-grey1);
    word-break: keep-all;
    border-top: 1px dashed rgba(183,110,121,.25);
}
.doctor-quote i {
    color: var(--ws-hover);
    opacity: .35;
    font-size: .9em;
    margin: 0 .3rem;
    vertical-align: top;
}

.doctor-card {
    position: relative;
    background: rgba(255,255,255,.7);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(183,110,121,.12);
    border-radius: 18px;
    padding: 1.5rem 1.75rem 1.25rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 18px 40px -28px rgba(148, 83, 93, .25);
}
.doctor-card-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding-bottom: .75rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid rgba(183,110,121,.15);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ws-grey1);
    letter-spacing: .1rem;
}
.doctor-card-title i {
    color: var(--ws-hover);
    font-size: 1.05rem;
}
.doctor-card-title span { position: relative; }

.doctor-career {
    margin: 0;
    padding: 0;
}
.doctor-career li {
    position: relative;
    padding: .35rem 0 .35rem 1.1rem;
    font-size: 1.02rem;
    color: var(--ws-grey1);
    line-height: 1.6;
}
.doctor-career li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .95rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ws-hover);
    box-shadow: 0 0 0 3px rgba(183,110,121,.12);
}

.doctor-society {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .55rem;
    margin: 0;
    padding: 0;
}
.doctor-society li {
    font-size: .9rem;
    padding: .35rem .85rem;
    border: 1px solid rgba(183,110,121,.25);
    border-radius: 999px;
    color: var(--ws-grey1);
    background: #fff;
    transition: all .25s ease;
}
.doctor-society li:hover {
    background: var(--ws-gradient-rose);
    color: #fff;
    border-color: transparent;
}

@media (max-width: 991.98px) {
    .doctor-photo-inner { width: 260px; height: 260px; }
    .doctor-name-kr { font-size: 2.4rem; letter-spacing: .4rem; }
    .doctor-role { font-size: 1rem; letter-spacing: .2rem; }
    .doctor-card { padding: 1.25rem 1.25rem 1rem; }
}
@media (max-width: 575.98px) {
    .doctor-photo { padding: 18px; }
    .doctor-photo-inner { width: 220px; height: 220px; }
    .doctor-name { gap: .6rem; }
    .doctor-name-kr { font-size: 2rem; }
    .doctor-society li { font-size: .82rem; padding: .3rem .7rem; }
}

/*** Testimonial ***/
.testimonial-img {
    position: relative;
    min-height: 200px;
    overflow: hidden;
}

.testimonial-img div {
    position: absolute;
    width: 100px;
    height: 100px;
    animation-duration: 5s;
}

.testimonial-img div:nth-child(1) {
    top: 10%;
    left: 10%;
    animation-delay: .1s;
}

.testimonial-img div:nth-child(2) {
    top: 60%;
    left: 20%;
    animation-delay: .4s;
}

.testimonial-img div:nth-child(3) {
    top: 20%;
    left: 60%;
    animation-delay: .7s;
}

.testimonial-img div:nth-child(4) {
    bottom: 10%;
    right: 10%;
    animation-delay: 1s;
}

.testimonial-img div::after {
    position: absolute;
    content: "";
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    box-shadow: 0 0 10px 10px var(--ws-white) inset;
    z-index: 1;
}

.testimonial-carousel .owl-item img {
    width: 100px;
    height: 100px;
}

.testimonial-carousel .owl-nav {
    margin-top: 15px;
    display: flex;
}

.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next {
    margin-right: 15px;
    color: var(--ws-main);
    font-size: 45px;
    transition: .5s;
}

.testimonial-carousel .owl-nav .owl-prev:hover,
.testimonial-carousel .owl-nav .owl-next:hover {
    color: var(--ws-grey2);
}


/*** Contact ***/
@media (min-width: 992px) {
    .contact-info::after {
        position: absolute;
        content: "";
        width: 0px;
        height: 100%;
        top: 0;
        left: 50%;
        border-left: 1px dashed rgba(255, 255, 255, .2);
    }
}

@media (max-width: 991.98px) {
    .contact-info::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 0px;
        top: 50%;
        left: 0;
        border-top: 1px dashed rgba(255, 255, 255, .2);
    }
}


/*** Appoinment ***/
.newsletter {
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/carousel-3.jpg) left center no-repeat;
    background-size: cover;
}

.footer { color: #626262; }
/*** Footer ***/
.footer .btn.btn-link {
    display: block;
    margin-bottom: 5px;
    padding: 0;
    text-align: left;
    color: var(--ws-grey2);
    font-weight: normal;
    text-transform: capitalize;
    transition: .3s;
}

.tel { 
    font-size:40px; 
    color: var(--ws-grey1); 
    font-weight:400;  }
.footer .btn.btn-link::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--ws-grey3);
    margin-right: 10px;
}

.footer .btn.btn-link:hover {
    color: var(--ws-main);
    letter-spacing: 1px;
    box-shadow: none;
}
.footer-logo { 
    position:relative; 
    top:-50px;
}

.day { 
    padding: 6px 10px;
    border-radius: 20px; 
    background: var(--ws-main);
    color: var(--ws-grey1); 
    font-size: 1rem; 
    font-weight:500; 
}
.lunch { 
    padding: 6px 42px;
    border-radius: 20px; 
    background: var(--ws-grey5);
    color: var(--ws-grey1); 
    font-size: 1rem; 
    font-weight:500; 
}
.copyright {
    background: var(--ws-main);
}

.copyright a {
    color: var(--ws-white);
}

.copyright a:hover {
    color: var(--ws-hover);
}

.copy_btn { padding-left:0; }
.copy_btn li  { 
    border:1px solid #7f7f7f; 
    padding: 4px 8px; 
    color: #7f7f7f; 
  }
/*** Care Item ***/
.care-item img {
    width: 320px; /* 370 >320 */
    height: 400px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}

/*** View Carousel (병원둘러보기) ***/
.view-carousel-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}
.view-main-carousel {
    position: relative;
}
.view-main-carousel .item img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 8px;
}
.view-main-carousel .owl-nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    margin: 0 !important;
    padding: 0;
    pointer-events: none;
    z-index: 10;
}
.view-main-carousel .owl-nav .owl-prev,
.view-main-carousel .owl-nav .owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.7) !important;
    border-radius: 50% !important;
    font-size: 28px !important;
    color: #696969 !important;
    transition: all 0.3s;
    pointer-events: all;
}
.view-main-carousel .owl-nav .owl-prev:hover,
.view-main-carousel .owl-nav .owl-next:hover {
    background: rgba(255,255,255,0.95) !important;
}
.view-main-carousel .owl-nav .owl-prev { left: 15px; }
.view-main-carousel .owl-nav .owl-next { right: 15px; }

.view-thumb-carousel .item {
    cursor: pointer;
    border-radius: 6px;
    overflow: hidden;
    border: 3px solid transparent;
    opacity: 0.5;
    transition: all 0.3s;
}
.view-thumb-carousel .item:hover,
.view-thumb-carousel .item.active {
    opacity: 1;
    border-color: var(--ws-hover);
}
.view-thumb-carousel .item img {
    width: 100%;
    height: 90px;
    object-fit: cover;
}

@media (max-width: 768px) {
    .view-main-carousel .item img {
        height: 250px;
    }
    .view-main-carousel .owl-nav {
        height: 250px;
    }
    .view-thumb-carousel .item img {
        height: 60px;
    }
}

/*** Board (게시판) ***/
.board-table thead th {
    background: var(--ws-grey6);
    color: var(--ws-grey1);
    font-weight: 600;
    vertical-align: middle;
    border-top: 2px solid var(--ws-grey1);
}
.board-table tbody td {
    vertical-align: middle;
    font-size: 1rem;
    color: var(--ws-grey1);
}
.board-table tbody td a {
    color: var(--ws-grey1);
    text-decoration: none;
}
.board-table tbody td a:hover {
    color: var(--ws-hover);
}
.board-table tbody tr:hover {
    background-color: #fdf6f3;
}

/* 페이징 */
.pagination .page-link {
    color: var(--ws-grey2);
    border-color: var(--ws-grey5);
}
.pagination .page-item.active .page-link {
    background-color: var(--ws-hover);
    border-color: var(--ws-hover);
    color: #fff;
}
.pagination .page-link:hover {
    background-color: var(--ws-main);
    border-color: var(--ws-main);
    color: #fff;
}

/* 글쓰기 폼 */
.board-write-table th {
    background: var(--ws-grey6);
    vertical-align: middle;
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--ws-grey1);
    border: 1px solid var(--ws-grey5);
    padding: 10px 15px;
}
.board-write-table td {
    border: 1px solid var(--ws-grey5);
    padding: 10px 15px;
}

/*** Content Tab ***/
.nav-pills .nav-link {
    background-color: var(--ws-main);
    color: #acacac;
}
.nav-pills .nav-link.active {
    background-color: var(--ws-hover);
    color: #fff;
}

/*** Content Text ***/
.content-text {
    font-size: 1.25rem;
    word-break: auto-phrase;
}

.chapter { 
    display:inline-block; 
    border-radius: 60px; 
    padding: 14px 40px; 
    background: #f5e0da; 
}
.pl-5 { padding-left: 5rem; }

/*** V3 Eyou-style Layout ***/
.eng-title {
    font-family: 'NotoSerifKR', 'Georgia', serif;
    font-size: 3rem;
    font-weight: 300;
    color: var(--ws-hover);
    line-height: 1.2;
    letter-spacing: -0.02em;
}
.eng-title-sm {
    font-family: 'NotoSerifKR', 'Georgia', serif;
    font-size: 2.2rem;
    font-weight: 300;
    color: var(--ws-hover);
    text-align: center;
}
.sub-desc {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--ws-grey0);
    margin-bottom: 1rem;
}
.hero-section {
    padding: 5rem 0 4rem;
}
.hero-question {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ws-grey1);
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}
.hero-question i { color: var(--ws-hover); margin-right: .5rem; }
.mini-card {
    text-align: center;
    padding: 1.2rem .8rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgb(215 178 178 / 46%);
    transition: transform .2s;
}
.mini-card:hover { transform: translateY(-3px); }
.mini-card .mini-icon {
    width: 60px; height: 60px;
    margin: 0 auto .6rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #f5e0da 0%, #e5b2a3 100%);
    display: flex; align-items: center; justify-content: center;
}
.mini-card .mini-icon i { font-size: 1.4rem; color: #fff; }
.mini-card h6 { font-weight: 600; font-size: .95rem; margin: 0; color: var(--ws-grey1); }

/* Disease section with watermark */
.disease-section {
    position: relative;
    padding: 5rem 0;
    background: #f0ebe6;
    overflow: hidden;
}
.disease-section .watermark {
    position: absolute;
    font-family: 'NotoSerifKR', serif;
    font-size: 8rem;
    font-weight: 200;
    color: rgba(0,0,0,.04);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
}
.disease-section .watermark.wm1 { top: 10%; right: 5%; }
.disease-section .watermark.wm2 { top: 45%; left: 5%; }
.disease-section .watermark.wm3 { bottom: 8%; left: 15%; }
.disease-section > .container { position: relative; z-index: 1; }

.tab-inline .nav-link {
    padding: .6rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    color: var(--ws-grey2);
    border: 2px solid var(--ws-grey4);
    background: transparent;
    margin: 0 .3rem;
}
.tab-inline .nav-link.active {
    background: var(--ws-hover);
    color: #fff;
    border-color: var(--ws-hover);
}

.white-card {
    background: #fff;
    border-radius: 16px;
    padding: 3rem;
    box-shadow: 0 4px 30px rgba(0,0,0,.07);
    margin-top: 2.5rem;
}
.white-card .card-img {
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    min-height: 280px;
}
.white-card .card-img img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.white-card .info-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--ws-grey0);
    margin-bottom: .6rem;
}
.white-card .info-text {
    font-size: 1rem;
    color: var(--ws-grey2);
    line-height: 1.7;
    word-break: keep-all;
}

/* Self-check area */
.selfcheck-area { margin-top: 3.5rem; }
.selfcheck-area .sc-title-en {
    font-family: 'NotoSerifKR', serif;
    font-size: 2.5rem;
    font-weight: 200;
    color: rgba(0,0,0,.08);
    margin-bottom: -1rem;
}
.selfcheck-area .sc-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--ws-grey0);
    margin-bottom: 1.5rem;
}
.check-box-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
@media (max-width: 768px) {
    .check-box-row { grid-template-columns: repeat(2, 1fr); }
}
.check-box-item {
    background: #fff;
    border-radius: 10px;
    padding: 1.5rem 1.2rem;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.check-box-item .cb-label {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ws-grey1);
    margin-bottom: .5rem;
}
.check-box-item .cb-bar {
    width: 30px; height: 4px;
    background: var(--ws-hover);
    margin: 0 auto .6rem;
    border-radius: 2px;
}
.check-box-item .cb-text {
    font-size: 0.975rem;
    color: var(--ws-grey2);
    line-height: 1.5;
}

/* Types grid */
.types-section {
    padding: 5rem 0;
    background: #fff;
}
.type-grid-item {
    margin-bottom: 2rem;
}
.type-grid-item .tg-img {
    border-radius: 12px;
    overflow: hidden;
    height: 220px;
    margin-bottom: 1rem;
}
.type-grid-item .tg-img img {
    width: 100%; height: 100%; object-fit: cover;
}
.type-grid-item h5 {
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: .5rem;
    text-align: center;
}
.type-grid-item p {
    font-size: 1rem;
    color: var(--ws-grey2);
    line-height: 1.6;
    text-align: center;
    word-break: keep-all;
}

/* Content section */
.content-section {
    padding: 5rem 0;
}
.content-section.bg-warm {
    background: linear-gradient(135deg, #fdf9f7 0%, #f5ece7 100%);
}
.info-block {
    background: #fff;
    border-radius: 12px;
    padding: 2rem;
    border: 1px solid #e0d6d0;
    box-shadow: 0 2px 16px rgba(0,0,0,.05);
    height: 100%;
}
.info-block h5 {
    font-weight: 700;
    color: var(--ws-grey0);
    margin-bottom: .8rem;
}
.info-block p {
    font-size: 1rem;
    color: var(--ws-grey2);
    line-height: 1.7;
}
.info-block .ib-icon {
    width: 50px; height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f5e0da, #e5b2a3);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
}
.info-block .ib-icon i { color: #fff; font-size: 1.2rem; }
.info-block .ib-icon.ib-rose1 { background: #b57a83; }
.info-block .ib-icon.ib-rose2 { background: #b9747a; }

.notice-block {
    background: #fff;
    border-radius: 12px;
    padding: 2.5rem;
    border: 1px solid #e0d6d0;
    box-shadow: 0 2px 16px rgba(0,0,0,.05);
}

.treatment-list li {
    padding: .8rem 0;
    border-bottom: 1px solid var(--ws-grey5);
    font-size: 1.05rem;
    color: var(--ws-grey1);
    display: flex;
    align-items: flex-start;
}
.treatment-list li:last-child { border-bottom: none; }
.treatment-list li::before {
    content: '\f058';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: var(--ws-hover);
    margin-right: .8rem;
    flex-shrink: 0;
    margin-top: 3px;
}

/* CTA banner */
.cta-banner {
    background: linear-gradient(135deg, #f5e0da 0%, #e5b2a3 50%, #d9998a 100%);
    padding: 3rem 0;
    text-align: center;
}
.cta-banner h4 { font-weight: 700; color: #fff; margin-bottom: .8rem; }
.cta-banner p { color: rgba(255,255,255,.9); font-size: 1.1rem; margin-bottom: 1.5rem; }
.cta-banner .btn-cta {
    background: #fff; color: var(--ws-hover); font-weight: 600;
    padding: .7rem 2.5rem; border-radius: 50px; border: none;
    font-size: 1.05rem; transition: all .3s;
}
.cta-banner .btn-cta:hover { background: var(--ws-grey0); color: #fff; }

.hero-img { border-radius:10px;  }

.iv-box { 
background:#b76e79;
border-radius:5px; 
padding:10px; 
min-height:74px; 
 }
 .iv-box h4 { color: #fff; }
 .iv-box h6 {color:  #f4f4f4; }
 .mini-card2 {
    text-align: center;
    padding: .8rem .8rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgb(129 89 89 / 52%);
    transition: transform .2s;
    min-height:226px;
}
 .mini-card2 h5 {color: #565656; font-size:18px; }


/********** index3 Content Design (from index2) **********/

/* === Welcome Section === */
.idx2-welcome {
    position: relative;
    padding: 6rem 0 5rem;
    background: linear-gradient(180deg, #fff 0%, #fdf8f5 40%, #f8ede6 100%);
    overflow: hidden;
}
.idx2-welcome .watermark {
    position: absolute;
    font-family: 'NotoSerifKR', serif;
    font-size: 9rem;
    font-weight: 200;
    color: rgba(183, 110, 121, .04);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
}
.idx2-welcome .wm1 { top: 5%; right: -2%; }
.idx2-welcome .wm2 { bottom: 8%; left: -3%; }
.idx2-welcome > .container { position: relative; z-index: 1; }

.idx2-welcome .section-eyebrow {
    display: inline-block;
    font-family: 'NotoSerifKR', serif;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: .3em;
    color: var(--ws-hover);
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.idx2-welcome .section-title {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--ws-grey0);
    line-height: 1.4;
    margin-bottom: 1rem;
}
.idx2-welcome .section-title .highlight {
    background: linear-gradient(45deg, #d4a574, #b76e79, #c89b90, #d4af87);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.idx2-welcome .section-desc {
    font-size: 1.1rem;
    color: var(--ws-grey2);
    line-height: 1.8;
    word-break: keep-all;
}
.idx2-welcome .section-line {
    width: 50px;
    height: 2px;
    background: linear-gradient(90deg, var(--ws-hover), var(--ws-deep));
    margin: 1.5rem auto;
}

/* Care Cards */
.idx2-care-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 40px rgba(183, 110, 121, .1);
    transition: transform .4s cubic-bezier(.25,.46,.45,.94), box-shadow .4s ease;
}
.idx2-care-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(183, 110, 121, .18);
}
.idx2-care-card .card-img-wrap {
    position: relative;
    height: 280px;
    overflow: hidden;
}
.idx2-care-card .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.idx2-care-card:hover .card-img-wrap img {
    transform: scale(1.05);
}
.idx2-care-card .card-img-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(transparent, rgba(255,255,255,.9));
}
.idx2-care-card .card-num {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(183,110,121,.85), rgba(196,155,144,.85));
    color: #fff;
    font-size: .85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
    z-index: 2;
}
.idx2-care-card .card-body {
    padding: 1.5rem 1.8rem 2rem;
}
.idx2-care-card .card-body h4 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--ws-grey0);
    margin-bottom: .6rem;
}
.idx2-care-card .card-body p {
    font-size: .95rem;
    color: var(--ws-grey2);
    line-height: 1.7;
    word-break: keep-all;
    margin: 0;
}

/* === Lifecycle Section === */
.idx2-lifecycle {
    position: relative;
    padding: 6rem 0;
    background: #f7f2ee;
    overflow: hidden;
}
.idx2-lifecycle::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: url('../img/life_bg.png') center center / cover no-repeat;
    opacity: 0.6;
    z-index: 0;
}
.idx2-lifecycle > .container { position: relative; z-index: 1; }

.idx2-lifecycle .watermark {
    position: absolute;
    font-family: 'NotoSerifKR', serif;
    font-size: 7rem;
    font-weight: 200;
    color: rgba(183, 110, 121, .05);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
}
.idx2-lifecycle .wm1 { top: 10%; right: 5%; }

.idx2-lifecycle .lc-eyebrow {
    font-family: 'NotoSerifKR', serif;
    font-size: .9rem;
    font-weight: 300;
    letter-spacing: .25em;
    color: var(--ws-hover);
    text-transform: uppercase;
    margin-bottom: .8rem;
}
.idx2-lifecycle .lc-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--ws-grey0);
    line-height: 1.4;
    margin-bottom: 1.5rem;
}
.idx2-lifecycle .lc-desc {
    font-size: 1.05rem;
    color: var(--ws-grey1);
    line-height: 1.9;
    word-break: keep-all;
    max-width: 480px;
}

.idx2-lc-icon-row {
    display: flex;
    gap: 1.2rem;
    margin-top: 2.5rem;
}
.idx2-lc-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease, box-shadow .3s ease;
    background-size: 50%;
    background-position: center;
    background-repeat: no-repeat;
}
.idx2-lc-icon:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(183,110,121,.2);
}
.idx2-lc-icon.icon1 {
    background-color: rgba(212, 165, 116, .35);
    background-image: url(../img/life-icon1.svg);
}
.idx2-lc-icon.icon2 {
    background-color: rgba(183, 110, 121, .3);
    background-image: url(../img/life-icon2.svg);
}
.idx2-lc-icon.icon3 {
    background-color: rgba(200, 155, 144, .35);
    background-image: url(../img/life-icon3.svg);
}

/* === Why Choose Section === */
.idx2-why {
    position: relative;
    padding: 6rem 0;
    background: #fff;
    overflow: hidden;
}
.idx2-why .watermark {
    position: absolute;
    font-family: 'NotoSerifKR', serif;
    font-size: 8rem;
    font-weight: 200;
    color: rgba(212, 175, 55, .04);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
}
.idx2-why .wm1 { top: 8%; left: 3%; }
.idx2-why .wm2 { bottom: 10%; right: 0%; }
.idx2-why > .container { position: relative; z-index: 1; }

.idx2-why .why-eyebrow {
    font-family: 'NotoSerifKR', serif;
    font-size: .9rem;
    font-weight: 300;
    letter-spacing: .25em;
    color: var(--ws-deep2);
    text-transform: uppercase;
}
.idx2-why .why-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--ws-grey0);
    margin-bottom: .8rem;
}
.idx2-why .why-desc {
    font-size: 1.05rem;
    color: var(--ws-grey2);
    line-height: 1.8;
    word-break: keep-all;
    max-width: 800px;
    margin: 0 auto;
}

.idx2-service-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 380px;
    cursor: pointer;
    transition: transform .4s cubic-bezier(.25,.46,.45,.94), box-shadow .4s ease;
}
.idx2-service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(0,0,0,.12);
}
.idx2-service-card .sc-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .5s ease;
}
.idx2-service-card:hover .sc-bg {
    transform: scale(1.06);
}
.idx2-service-card .sc-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 100%);
    transition: background .4s ease;
}
.idx2-service-card:hover .sc-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.65) 100%);
}
.idx2-service-card .sc-icon {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.idx2-service-card .sc-icon img {
    width: 60%;
    filter: brightness(0) invert(1);
}
.idx2-service-card .sc-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    z-index: 2;
    transform: translateY(8px);
    transition: transform .4s ease;
}
.idx2-service-card:hover .sc-content {
    transform: translateY(0);
}
.idx2-service-card .sc-content h6 {
    font-family: 'NotoSerifKR', serif;
    font-size: .8rem;
    font-weight: 300;
    letter-spacing: .15em;
    color: rgba(255,255,255,.7);
    margin-bottom: .3rem;
}
.idx2-service-card .sc-content h3 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}
.idx2-service-card .sc-line {
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #d4af87, #c89b90);
    margin-top: .8rem;
    transition: width .4s ease;
}
.idx2-service-card:hover .sc-line {
    width: 50px;
}

/* === Map Section === */
.idx2-map {
    position: relative;
    padding: 6rem 0;
    background: linear-gradient(180deg, #f8f4f0 0%, #f0ebe6 100%);
    overflow: hidden;
}
.idx2-map .watermark {
    position: absolute;
    font-family: 'NotoSerifKR', serif;
    font-size: 7rem;
    font-weight: 200;
    color: rgba(183, 110, 121, .03);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
}
.idx2-map .wm1 { top: 15%; right: 5%; }
.idx2-map > .container { position: relative; z-index: 1; }

.idx2-map .map-eyebrow {
    font-family: 'NotoSerifKR', serif;
    font-size: .9rem;
    font-weight: 300;
    letter-spacing: .25em;
    color: var(--ws-hover);
    text-transform: uppercase;
}
.idx2-map .map-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--ws-grey0);
    margin-bottom: .5rem;
}
.idx2-map .map-img-wrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,.08);
}
.idx2-map .map-img-wrap img {
    width: 100%;
    display: block;
}
.idx2-map .map-info {
    background: #fff;
    border-radius: 16px;
    padding: 2rem 2.5rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
    margin-top: -40px;
    position: relative;
    z-index: 2;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.idx2-map .map-info .addr {
    font-size: 1.05rem;
    color: var(--ws-grey1);
    margin-bottom: 1rem;
}
.idx2-map .map-info .addr i {
    color: var(--ws-hover);
    margin-right: .5rem;
}
.idx2-map .map-links {
    display: flex;
    gap: .8rem;
    justify-content: center;
}
.idx2-map .map-links a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem 1.2rem;
    border-radius: 50px;
    background: var(--ws-grey6);
    color: var(--ws-grey1);
    font-size: .9rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .3s;
}
.idx2-map .map-links a:hover {
    background: var(--ws-main);
    color: var(--ws-grey0);
}
.idx2-map .map-links a img {
    height: 20px;
}

/* === Animations === */
@keyframes idx2FadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes idx2FadeLeft {
    from { opacity: 0; transform: translateX(-30px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes idx2FadeRight {
    from { opacity: 0; transform: translateX(30px); }
    to   { opacity: 1; transform: translateX(0); }
}

.idx2-anim {
    opacity: 0;
}
.idx2-anim.idx2-visible {
    animation-duration: .8s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.25,.46,.45,.94);
}
.idx2-anim.idx2-visible.fade-up    { animation-name: idx2FadeUp; }
.idx2-anim.idx2-visible.fade-left  { animation-name: idx2FadeLeft; }
.idx2-anim.idx2-visible.fade-right { animation-name: idx2FadeRight; }

/* === Responsive === */
@media (max-width: 991.98px) {
    .idx2-welcome .section-title { font-size: 2rem; }
    .idx2-lifecycle .lc-title,
    .idx2-why .why-title,
    .idx2-map .map-title { font-size: 1.8rem; }
    .idx2-welcome .watermark,
    .idx2-lifecycle .watermark,
    .idx2-why .watermark,
    .idx2-map .watermark { font-size: 5rem; }
    .idx2-service-card { height: 320px; }
}
@media (max-width: 767.98px) {
    .idx2-welcome { padding: 4rem 0 3rem; }
    .idx2-lifecycle,
    .idx2-why,
    .idx2-map { padding: 4rem 0; }
    .idx2-welcome .section-title { font-size: 1.6rem; }
    .idx2-lifecycle .lc-title,
    .idx2-why .why-title,
    .idx2-map .map-title { font-size: 1.5rem; }
    .idx2-welcome .watermark,
    .idx2-lifecycle .watermark,
    .idx2-why .watermark,
    .idx2-map .watermark { font-size: 3.5rem; }
    .idx2-care-card .card-img-wrap { height: 220px; }
    .idx2-service-card { height: 280px; }
    .idx2-lc-icon { width: 80px; height: 80px; }
    .idx2-map .map-info { margin-top: -20px; padding: 1.5rem; }
}

/* === idx2 mobile refinements === */
/* 1) Service card - keep title/subtitle on a single line regardless of device width */
.idx2-service-card .sc-content h6,
.idx2-service-card .sc-content h3 {
    white-space: nowrap;
}
@media (max-width: 991.98px) {
    .idx2-service-card .sc-content { padding: 1rem; }
    .idx2-service-card .sc-content h6 {
        font-size: clamp(0.55rem, 2.2vw, 0.8rem);
        letter-spacing: .12em;
    }
    .idx2-service-card .sc-content h3 {
        font-size: clamp(0.9rem, 4vw, 1.4rem);
    }
}
@media (max-width: 420px) {
    .idx2-service-card .sc-content { padding: .8rem; }
    .idx2-service-card .sc-content h6 { font-size: clamp(0.5rem, 2vw, 0.7rem); }
    .idx2-service-card .sc-content h3 { font-size: clamp(0.8rem, 3.8vw, 1.2rem); }
}

/* 2) Map links - hide label text on mobile, show icon only */
@media (max-width: 767.98px) {
    .idx2-map .map-links a { padding: .55rem 1.1rem; }
    .idx2-map .map-links a .map-link-label { display: none !important; }
    .idx2-map .map-links a img { height: 26px; }
}

/* 3) Footer schedule table - force single-line Korean on mobile */
@media (max-width: 767.98px) {
    .footer .table {
        font-size: 11px !important;
        margin-bottom: .75rem;
    }
    .footer .table th,
    .footer .table td {
        padding: .4rem .15rem;
        white-space: nowrap;
        word-break: keep-all;
        writing-mode: horizontal-tb;
        letter-spacing: -.02em;
    }
    .footer .table td:first-child,
    .footer .table th:first-child {
        font-size: 10px;
        padding: .4rem .1rem;
    }
}

