﻿/* ================================================
   WooubitClinic (이레라움) — PC 스타일시트
   디자인 타겟 해상도: 1436 × 1024 px (PC)
   ================================================ */

/* ── 웹폰트 ── */
@font-face {
    font-family: 'MaruBuri';
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/MaruBuri/MaruBuri-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'MaruBuri';
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/MaruBuri/MaruBuri-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'MaruBuri';
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/MaruBuri/MaruBuri-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'NanumBarunGothic';
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/NanumBarunGothic/NanumBarunGothicLight.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'NanumBarunGothic';
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/NanumBarunGothic/NanumBarunGothic.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'NanumBarunGothic';
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/NanumBarunGothic/NanumBarunGothicBold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ── 리셋 & 기본 ── */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary: #b08968;
    --primary-dark: #8a6d50;
    --secondary: #2c3e50;
    --accent: #d4a574;
    --text: #333333;
    --text-light: #777777;
    --bg: #ffffff;
    --bg-light: #f9f7f4;
    --border: #e8e2dc;
    --success: #27ae60;
    --error: #e74c3c;
    --radius: 8px;
    --shadow: 0 2px 12px rgba(0,0,0,0.08);
    --transition: 0.3s ease;
    --header-height: 101px;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    background: #2c3963;
}

body {
    font-family: 'NanumBarunGothic', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--text);
    background: #CDD5E1;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    min-width: 1024px; /* PC 최소 폭 */
}

/* PC 1024 ~ 1279: 디자인 폭(1280) 유지하며 비율로 축소 */
/* @media (min-width: 1024px) and (max-width: 1279px) {
    body {
        zoom: calc(100vw / 1280px);
    }
} */
.site-main {
    background: var(--bg);
    padding-bottom:50px;
}

a {
    color: var(--primary-dark);
    text-decoration: none;
    transition: color var(--transition);
}
a:hover { color: var(--primary); }

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

/* ── 컨테이너 ── */
.container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}
.container-sm { max-width: 720px; }

/* ══════════════════════════════════════════
   헤더 (슬림 탑바)
   ══════════════════════════════════════════ */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: transparent;
    height: var(--header-height);
    transition: background 0.3s ease;
}
.site-header.scrolled {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.00) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 50px;
    max-width: none;
}

.logo { 
    display: flex; 
    align-items: center; 
    margin-top:10px;
}
.logo-img {
    width: 173px;
    height: 51px;
}

/* 햄버거 버튼 (항상 표시 — 메뉴는 오버레이 방식) */
.menu-open-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    background: none;
    border: none;
    cursor: pointer;
    width: 36px;
    height: 29px;
    padding: 0;
}
.menu-open-btn span {
    display: block;
    width: 100%;
    height: 3px;
    background: #2c3963;
    border-radius: 1.5px;
    transition: var(--transition);
}

.site-header.scrolled .menu-open-btn span {
    background: var(--text);
}
.site-header.scrolled .logo-img {
    filter: none;
}

/* 다크테마 헤더 흰색 로고/햄버거 */
.dark-theme .logo-img { filter: brightness(0) invert(1); }
.dark-theme .menu-open-btn span { background: #fff; }

/* 오시는 길 히어로 타이포 — Figma 356:585 (PC) */
/* .page-map .pg-hero__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 54px;
    line-height: 70px;
    color: #fff;
    margin: 0 0 20px;
}
.page-map .pg-hero__desc {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #fff;
    margin: 0;
} */
/* 모바일 — 기존 mobile 사이즈 유지 */

/* ══════════════════════════════════════════
   풀스크린 메뉴 오버레이
   ══════════════════════════════════════════ */
.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(217, 217, 217, 0.80);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    /* overflow: hidden; */
    overflow-y: auto;
}
.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.menu-overlay-inner {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.menu-overlay-inner::after {
    content: "";
    display: block;
    height:101px;
}

/* 오버레이 상단 바 */
.menu-overlay-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* padding: calc((var(--header-height) - 51px) / 2) 50px 0; */
    padding: 0 50px;
    /* flex-shrink: 0; */
    height:101px;
}
.menu-overlay-logo {
    width: 173px;
    height: 51px;
    display: block;
    margin-top:10px;
}
.menu-close-btn {
    position: relative;
    background: none;
    border: none;
    font-size: 0;
    line-height: 0;
    color: transparent;
    cursor: pointer;
    width:30px;
    height:30px;
    /* width: 21.2135px;
    height: 21.2135px; */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity var(--transition);
    padding: 0;
    flex-shrink: 0;
    /* margin-bottom:15px; */
}
.menu-close-btn::before,
.menu-close-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 36px;
    height: 2px;
    background: #2c3963;
    border-radius: 1px;
}
.menu-close-btn::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.menu-close-btn::after {
    transform: translate(-50%, -50%) rotate(135deg);
}
.menu-close-btn:hover { opacity: 0.5; }

/* ── 메뉴 콘텐츠 영역 ── */
.menu-content {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 120px;
    flex-wrap: nowrap;
    overflow: hidden;
}

.menu-content-inner {
    display: flex;
    gap: 120px;
    width: 100%;
}

/* 대표시술 + 이레라움 래퍼 */
.menu-nav {
    display: flex;
    gap: 120px;
    flex-shrink: 0;
}

.menu-section--hours {
    /* flex-shrink: 1;
    min-width: 0;
    width: 224px; 
    overflow: hidden;*/
    margin-left: auto;
    min-width:240px;
}

/* PC와 모바일 모두 표시 */
.menu-item--space {
    display: list-item;
}

/* ── 메뉴 섹션 공통 ── */
.menu-section-title {
    font-family: 'MaruBuri', serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    color: var(--secondary);
    margin-bottom: 20px;
}

.menu-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.menu-list a {
    font-family: 'MaruBuri', serif;
    font-size: 48px;
    font-weight: 600;
    line-height: 62px;
    color: var(--secondary);
    transition: opacity var(--transition);
    display: inline-block;
    white-space: nowrap;
}
.menu-list a:hover {
    opacity: 0.5;
}

/* ── 진료시간 ── */
.menu-hours {
    display: grid;
    grid-template-columns: max-content max-content;
    justify-content: start;
    column-gap: 24px;
    row-gap: 6px;
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 14px;
    line-height: 22px;
    color: #000;
}
.menu-hours p {
    margin: 0;
}

.menu-hours dt,
.menu-hours dd {margin: 0;}


/* ══════════════════════════════════════════
   반응형 — 메뉴 브레이크포인트
   ══════════════════════════════════════════ */

/* ≤ 1024px: 대표시술 + 이레라움 세로 전환, 공간소개/탄생주사 표시, 진료시간 우상단 */

/* ≤ 679px: 모바일 */


/* ══════════════════════════════════════════
   이하 기존 페이지 스타일 유지
   ══════════════════════════════════════════ */

/* ══════════════════════════════════════════
   IDX — 홈페이지 (피그마 index)
   ══════════════════════════════════════════ */

/* ── TOP: 풀스크린 히어로 ── */
.idx-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
}
.idx-hero__slides {
    position: relative;
    width: 100%;
    height: 100%;
}
.idx-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
    display:flex;
    align-items: center;
}
.idx-hero__slide.active {
    opacity: 1;
    pointer-events: auto;
}
.idx-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.idx-hero__title {
    position: relative;
    /* min-width: 1024px; */
    width: 100%;
    /* max-width: 1280px;
    margin:0 auto; */
    /* box-sizing: border-box; */
    padding-left:50px;
    /* position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%); */
    z-index: 1;
}
.idx-hero__sub {
    font-family: 'MaruBuri', serif;
    font-weight: 400;
    font-size: 54px;
    line-height: 70px;
    color: #2c3963;
    margin: 0;
}
.idx-hero__title h1 {
    font-family: 'MaruBuri', serif;
    font-size: 54px;
    font-weight: 700;
    line-height: 70px;
    color: #2c3963;
    margin: 0 0 28px;
}
.idx-hero__desc {
    /* display: none; */
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin-bottom: 30px;
}
.idx-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: 'MaruBuri', serif;
    font-size: 18px;
    font-weight: 600;
    color: #2c3963;
    text-decoration: none;
    transition: opacity 0.3s;
}
.idx-link:hover { opacity: 0.6; color: #2c3963; }
.idx-link img { width: 24px; height: 24px; transform: rotate(-90deg); }
.idx-link--white { color: #fff; }
.idx-link--white:hover { color: #fff; }
.idx-link--white img { filter: brightness(0) invert(1); }

/* 히어로 하단 인디케이터 */
.idx-hero__dots {
    position: absolute;
    left: 0;
    right:0;
    width:100%;
    bottom: 40px;
    /* display: flex;
    gap: 10px; */
    z-index: 1;
}
.idx-hero__paginate {
    /* width: 100%;
    max-width:1280px;
    margin: 0 auto; */
    padding-left:50px;
    /* box-sizing: border-box; */
    display: flex;
    gap: 10px;
}
.idx-hero__dots .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2c3963;
    opacity: 0.3;
    cursor: pointer;
    transition: opacity 0.3s;
}
.idx-hero__dots .dot.active { opacity: 1; }

/* ── Frame243: 하단 고정 카카오톡 ── */
.idx-bottom-bar {
    position: fixed;
    right: 50px;
    bottom: 40px;
    z-index: 999;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s, visibility 0.4s;
}
.idx-bottom-bar.hidden {
    opacity: 0;
    visibility: hidden;
}
.idx-kakao-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(99, 111, 140, 0.5);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    color: #fff;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 16px;
    text-decoration: none;
    transition: background 0.3s;
}
.idx-kakao-btn:hover {
    background: rgba(99, 111, 140, 0.85);
    color: #fff;
}
.idx-kakao-btn img {
    width: 26px;
    height: 24px;
}

/* ── Frame36: 콘텐츠 래퍼 ── */
.idx-content {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 50px;
    display: flex;
    flex-direction: column;
    gap: 150px;
    padding-top: 150px;
    padding-bottom: 150px;
}

/* ── 섹션 공통 ── */
.idx-section {
    position: relative;
}
.idx-heading {
    font-family: 'MaruBuri', serif;
    font-size: 48px;
    font-weight: 600;
    line-height: 64px;
    color: #2c3963;
    margin: 0 0 50px;
}
.idx-section__text {
    /* max-width: 772px; */
    margin-top: 40px;
}
.idx-section__text p {
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin-bottom: 20px;
}

/* ── EVENT 이벤트 ── */

/* 임시: 이벤트 섹션 전체 숨김 */
.idx-event {display:none;}

.idx-event__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 20px;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
}
.idx-event__img {
    position: relative;
    height: 600px;
    overflow: hidden;
}
.idx-event__img img {
    transform: scaleX(-1);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}
.idx-event__info {
    background: #3d7794;
    /* padding: 87px 90px; */
    padding: 70px 50px;
    color: #fff;
    /* display: flex;
    flex-direction: column;
    justify-content: flex-start; */
    border-radius: 0 20px 20px 0;
}
.idx-event__text {
    position:relative;
    max-width: 450px;
    height:100%
}

.idx-event__sub {
    font-family: 'MaruBuri', serif;
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 5px;
}
.idx-event__info h3 {
    font-family: 'MaruBuri', serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 50px;
    color: #fff;
    margin: 0 0 30px;
}
.idx-event__date {
    font-family: 'MaruBuri', serif;
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 10px;
}
.idx-event__desc {
    width: 400px;
    font-size: 16px;
    line-height: 26px;
    opacity: 0.8;
    font-weight: 300;
    /* margin-bottom: 32px; */
}

.idx-event__divider {
    display: none;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.4);
    margin: 0;
}

.idx-event__info .idx-link {
    position:absolute;
    left:0;
    bottom: 0;
}

/* ── ULTRACOL ── */
.idx-ultracol__img {
    /* position: relative; */
    border-radius: 20px;
    /* overflow: hidden; */
    /* aspect-ratio: 640 / 550; */
    height: 600px;
    max-width: 1180px;
    /* width: 100%; */
    margin: 0 auto;
    
    background:url('/assets/img/ultracol-section-web.webp') no-repeat center center;
    background-size: 1180px auto;
}
/* .idx-ultracol__img img {
    display:none;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 0%;

    position: absolute;
    left: 0; top: 0;
    object-position: center center;
} */



/* ── BIRTH ── */
.idx-birth__img {
    /* position: relative; */
    border-radius: 20px;
    overflow: hidden;
    /* aspect-ratio: 640 / 550; */
    height: 600px;
    max-width: 1180px;
    /* width: 100%; */
    margin: 0 auto;

    background:url('/assets/img/birth-section-web.webp') no-repeat center center;
    background-size: 1180px auto;
}

/* .idx-birth__img img {
    position: absolute;
    object-fit: cover;

    width: 100%; height: 100%;
    left: 0; top: 0;
    object-position: center center;
} */


/* ── REJURAN ── */
.idx-rejuran__img {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 640 / 550;
    background:url('/assets/img/rejuran-diamond.webp') no-repeat center center;
    background-size: 1180px auto;
    height: 600px;
    /* max-width: 1180px; */
    width: 100%;
    margin: 0 auto;
}



/* .idx-rejuran__img > picture:first-child img {
    position: absolute;
    width: 167.34%; 
    height: 113.27%; 
    left: -37.34%;
    top: -9.82%;
    max-width: none;
    object-fit: cover;
} */
.idx-rejuran__badge {
    position: absolute;
    left: 0;
    top: 0;
    /* width: 53.4%;
    height: auto; */
    mix-blend-mode: screen;
    pointer-events: none;
    width: 422px;
    top: -22px;
    left:-10px;
    /* width: 35.8%;
    top: -3.67%;
    left: -0.85%; */
}




/* ── STORY ── */
.idx-story__video {
    /* position: relative; */
    border-radius: 20px;
    overflow: hidden;
    /* aspect-ratio: 1180 / 600; */

    height: 600px;
    /* aspect-ratio: auto; */
    max-width: 1180px;
    /* width: 100%; */
    /* margin: 0 auto; */
    
}


.idx-story__video iframe {
    width:100%;
    height:100%;
}
.idx-story__thumb {
    /* display: block; */
    position: relative;
    width: 100%;
    height: 100%;
}
.idx-story__thumb picture:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Figma 431:61 — 우측 그라데이션 오버레이 */
.idx-story__gradient {
    position: absolute;
    top: 0;
    right: 0;
    width: 59.32%; /* 700/1180 */
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.00) -2.05%, #000 69.39%);
    opacity: 0.8;
    pointer-events: none;
    z-index: 1;
}
.idx-story__play-btn {
    position: absolute;
    top:0; bottom:0; left:0; right:0; width:100%; height:100%;margin: 0;
    /* top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px; */
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 2;
}

/* .idx-story__play {
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
} */
.idx-story__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}
.idx-story__thumb[type] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}
.idx-story__logo {
    /* display: none; */
    position: absolute;
    right: 10.8%;
    /* right: 126px; */
    top: 50%;
    transform: translateY(-50%);
    width: 280px;
    height: 160px;
    pointer-events: none;
    z-index: 2;
}

.idx-story .idx-story__thumb {
    background:url('/assets/img/story-clip-poster.webp') no-repeat center center;
    background-size: auto 100%;
}

.st-video .idx-story__thumb {
    background:url('/assets/img/story-clip-poster2.webp') no-repeat center center;
    background-size: auto 100%;
}

/* ── YouTube 팝업 모달 ── */
.yt-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9000;
    align-items: center;
    justify-content: center;
}
.yt-modal.active {
    display: flex;
}
.yt-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}
.yt-modal__wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
}
.yt-modal__close {
    position: absolute;
    top: -44px;
    right: 16px;
    background: none;
    border: none;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    padding: 4px 8px;
}
.yt-modal__player {
    position: relative;
    width: 100%;
    height: 600px;
    /* aspect-ratio: 16/9; */
    border-radius: 0;
    overflow: hidden;
}
.yt-modal__thumb {
    display: block;
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    position: relative;
}
.yt-modal__thumb img:first-child {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.yt-modal__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    pointer-events: none;
}
.yt-modal__player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}
.yt-modal__yt-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    cursor: pointer;
}

/* ── DOCTORS ── */

.idx-doctors__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 20px;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
}
.idx-doctors__img {
    position: relative;
    height: 600px;
    overflow: hidden;
}
.idx-doctors__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.idx-doctors__info {
    background: #F0F2F6;
    padding: 70px 50px;
    color: rgba(0, 0, 0, 0.70);
    font-weight:600;
    border-radius: 0 20px 20px 0;
}
.idx-doctors__text {
    position:relative;
    max-width: 450px;
    height:100%
}

.idx-doctors__info h3 {
    font-family: 'MaruBuri', serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 50px;
    color: #2c3963;
    margin: 0 0 10px;
}

.idx-doctors__info h3 span {
    font-size: 28px;
    line-height: 40px;
}

.idx-doctors__desc {
    font-family: 'MaruBuri', serif;
    width: 400px;
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 20px;
}
/* .idx-doctors__desc {
    width: 400px;
    font-size: 16px;
    line-height: 26px;
    opacity: 0.8;
    font-weight: 300;
} */
.idx-doctors__text ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
}


.idx-doctors__info .idx-link {
    position:absolute;
    left:0;
    bottom: 0;
}


/* 
.idx-doctors__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-bottom: 40px;
}
.idx-doctor-card {
    position: relative;
    overflow: hidden;
}
.idx-doctor-card__photo {
    aspect-ratio: 588 / 500;
    overflow: hidden;
    border-radius: 0;
}
.idx-doctor-card:first-child .idx-doctor-card__photo {
    border-radius: 0;
}
.idx-doctor-card:last-child .idx-doctor-card__photo {
    border-radius: 0;
}
.idx-doctor-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.idx-doctor-card__info {
    background: #f0f2f6;
    padding: 50px;
    min-height: 228px;
}
.idx-doctor-card:first-child .idx-doctor-card__info {
    border-radius: 0 0 0 20px;
}
.idx-doctor-card:last-child .idx-doctor-card__info {
    border-radius: 0 0 20px 0;
}
.idx-doctor-card__info h3 {
    font-family: 'MaruBuri', serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 40px;
    color: #2c3963;
    margin: 0 0 16px;
}
.idx-doctor-card__info h3 span {
    font-size: 24px;
    font-weight: 600;
    margin-left: 4px;
}
.idx-doctor-card__info p {
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.6);
}
    
.idx-doctor-single {
    display: grid;
    grid-template-columns: 600fr 580fr;
    height: 600px;
    overflow: hidden;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
}
.idx-doctor-single__photo {
    position: relative;
    overflow: hidden;
    border-radius: 20px 0 0 20px;
}
.idx-doctor-single__photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.idx-doctor-single__info {
    background: #f0f2f6;
    border-radius: 0 20px 20px 0;
    padding: 70px;
    display: flex;
    flex-direction: column;
}
.idx-doctor-single__name {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
}
.idx-doctor-single__name-kr {
    font-family: 'MaruBuri', serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 50px;
    color: #2c3963;
}
.idx-doctor-single__name-title {
    font-family: 'MaruBuri', serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 40px;
    color: #2c3963;
    margin-left: 6px;
}
.idx-doctor-single__desc {
    font-size: 18px;
    line-height: 28px;
    color: rgba(0,0,0,0.7);
    max-width: 410px;
    margin-bottom: 20px;
}
.idx-doctor-single__career {
    list-style: none;
    padding: 0;
    margin: 0 0 56px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.idx-doctor-single__career li {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
} */

/* ── SPACE ── */
.idx-space__grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 6px;
    border-radius: 20px;
    overflow: hidden;
    height: 552px;
}

/* .idx-space__grid {
        height: 600px;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    } */
/* 
.idx-space__grid {
        border-radius: 20px;
        overflow: hidden;
    } */


.idx-space__main {
    position: relative;
    /* aspect-ratio: 794 / 552; */
    height: 100%;
    overflow: hidden;
    /* border-radius: 10px 0 0 10px; */
}
/* 
.idx-space__main {
        aspect-ratio: auto;
        height: 100%;
    } */

    
/* .idx-space__main picture {
    display: block;
    position: absolute;
    inset: 0;
} */
.idx-space__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.idx-space__side {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.idx-space__imgs {
    overflow: hidden;
    height: 273px;
}
.idx-space__imgs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* .idx-space__side picture {
    display: block;
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
}
.idx-space__side picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.idx-space__side picture:first-child { border-radius: 0 10px 0 0; }
.idx-space__side picture:last-child  { border-radius: 0 0 10px 0; } */

/* ── picture 레이아웃 투명화 (space 제외) ── */
.idx-event__img picture,
.idx-birth__img picture,
.idx-ultracol__img picture,
/* .idx-rejuran__img picture, */
.idx-doctor-card__photo picture,
.idx-doctor-single__photo picture,
.idx-story__thumb picture {
    display: contents;
}

/* ── MAP ── */
.idx-map__img {
    display: block;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.15);
    height: 600px;
    position: relative;
}

.idx-map__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.idx-map__img .root_daum_roughmap,
.idx-map__img .root_daum_roughmap iframe,
.idx-map__img .root_daum_roughmap > div {
    width: 100% !important;
    height: 600px !important;
    max-width: none !important;
}



/* ── 스크롤 애니메이션: 섹션 fade-in ── */
.idx-section {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.idx-section.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* ── IDX 반응형 ── */

/* ── 웹 전용 이미지 규격 (≥680px, Figma 1180×600 기준) ── */
@media (min-width: 680px) {
    /* BIRTH: 클로즈업 이미지 — PC (1180×400) */
    /* .bt-standalone-img img {
        aspect-ratio: 59 / 20;
        height: 400px;
        object-fit: cover;
        object-position: center center;
    } */
    /* VOLUME 섹션 — PC 풀블리드 + 텍스트 오버레이 (Figma 456:53) */
    /* .uc-vol-section {
        position: relative;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        height: 600px;
        padding: 0;
        background: #f5f5f7;
        overflow: hidden;
        display: block;
    }
    .uc-vol-section picture {
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    } */
    /* .uc-vol-section .uc-vol-img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        max-width: 1440px;
        left: 50%;
        transform: translateX(-50%);
    } */
    /* .uc-vol-section .uc-vol-text {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 1180px;
        max-width: 100%;
        padding: 0 130px;
        gap: 50px;
        z-index: 1;
        box-sizing: border-box;
    }
    .uc-vol-section .uc-vol-text > div {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .uc-vol-section .uc-vol-text .uc-title {
        margin: 0;
    }
    .uc-vol-section .uc-vol-text .uc-subtitle {
        margin: 0;
    }
    .uc-vol-section .uc-vol-text .uc-text {
        width: 550px;
        max-width: 100%;
        margin: 0;
    } */

    /* 풀블리드 변형 — 1440×600 고정, 초과 폭은 #FDF2EE 배경 */
    /* .bt-standalone-img.bt-standalone-img--fullbleed {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        background: #FDF2EE;
    }
    .bt-standalone-img.bt-standalone-img--fullbleed picture {
        display: block;
        width: 100%;
    }
    .bt-standalone-img.bt-standalone-img--fullbleed img {
        display: block;
        width: 100%;
        max-width: 1440px;
        height: 600px;
        margin: 0 auto;
        aspect-ratio: auto;
        object-fit: cover;
        border-radius: 0;
    } */

    /* BIRTH: summary 배너 */
    /* .bt-summary-banner-web {
        display: block;
        width: 100%;
        border-radius: 20px;
        overflow: hidden;
        margin-bottom: 60px;
    }
    .bt-summary-banner-web img {
        width: 100%;
        display: block;
        object-fit: cover;
        aspect-ratio: 1600 / 866;
    } */

    /* BIRTH: 1180×600 max, 가로 줄어들면 같이 축소, 높이는 600 고정 */
    /* .idx-birth__img {
        height: 600px;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    }
    .idx-birth__img img {
        position: absolute;
        width: 100%; height: 100%;
        left: 0; top: 0;
        object-fit: cover;
        object-position: center center;
    } */

    /* ULTRACOL: 1180×600 max, 이미지 하단 60% 크롭 */
    /* .idx-ultracol__img {
        height: 600px;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    }
    .idx-ultracol__img img {
        width: 100%; height: 100%;
        left: 0; top: 0;
        object-fit: cover;
        object-position: center 60%;
    } */

    /* REJURAN: 1180×600 max, 이미지 111%×127% 오프셋 */
    /* .idx-rejuran__img {
        height: 600px;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    } */
    /* STORY: 1180×600 max */
    /* .idx-story__video {
        height: 600px;
        aspect-ratio: auto;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    } */
    /* SPACE: 그리드 1180×600 max */
    /* .idx-space__grid {
        height: 600px;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    } */
    /* .idx-space__main {
        aspect-ratio: auto;
        height: 100%;
    } */
    /* .idx-rejuran__img > picture:first-child img {
        position: absolute;
        width: 111.1%; height: 127%;
        left: -5.6%; top: -19.5%;
        object-fit: cover;
    } */
    /* .idx-rejuran__badge {
        width: 35.8%;
        top: -3.67%;
        left: -0.85%;
    } */

    /* STORY: 재생 버튼 웹 사이즈 */
    /* .idx-story__play-btn {
        width: 100px;
        height: 100px;
    } */
    /* .idx-hero__desc { display: block; } */
    /* .idx-hero .idx-link { font-weight: 600; } */
    /* .idx-story__logo { display: block; }
    .idx-story__thumb picture:first-child img {
        transform-origin: right center;
        transform: scale(1.4);
    } */

    /* DOCTORS: 사진 상단 외곽 라운드 */
    /* .idx-doctor-card:first-child .idx-doctor-card__photo {
        border-radius: 20px 0 0 0;
    }
    .idx-doctor-card:last-child .idx-doctor-card__photo {
        border-radius: 0 20px 0 0;
    } */

    /* SPACE: 외곽만 라운드 20px */
    /* .idx-space__grid {
        border-radius: 20px;
        overflow: hidden;
    } */
    /* .idx-space__main { border-radius: 0; } */
    /* .idx-space__side picture:first-child img { border-radius: 0; }
    .idx-space__side picture:last-child img  { border-radius: 0; } */

    /* MAP: 1180×600 max */
    /* .idx-map__img {
        height: 600px;
        border-radius: 20px;
        overflow: hidden;
        max-width: 1180px;
        width: 100%;
        margin: 0 auto;
    } */
    /* .idx-map__img .root_daum_roughmap,
    .idx-map__img .root_daum_roughmap iframe,
    .idx-map__img .root_daum_roughmap > div {
        width: 100% !important;
        height: 600px !important;
        max-width: none !important;
    } */
}


/* ═══════════════════════════════════════ */

/* ── 버튼 ── */
.btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: var(--radius);
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all var(--transition);
    text-align: center;
}
.btn-primary {
    background: var(--primary);
    color: #fff;
}
.btn-primary:hover {
    background: var(--primary-dark);
    color: #fff;
}
.btn-secondary {
    background: var(--secondary);
    color: #fff;
}
.btn-secondary:hover {
    background: #1a252f;
    color: #fff;
}
.btn-outline {
    border-color: var(--primary);
    color: var(--primary);
    background: transparent;
}
.btn-outline:hover {
    background: var(--primary);
    color: #fff;
}
.btn-lg { padding: 16px 36px; font-size: 1.05rem; }
.btn-sm { padding: 8px 16px; font-size: 0.85rem; }
.btn-block { display: block; width: 100%; }

/* ── 섹션 ── */
.section {
    padding: 80px 0;
}
.section-title {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 48px;
    color: var(--secondary);
}
.bg-light { background: var(--bg-light); }

/* ── 카드 그리드 ── */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.card {
    background: #fff;
    border-radius: var(--radius);
    padding: 32px 24px;
    box-shadow: var(--shadow);
    transition: transform var(--transition), box-shadow var(--transition);
    text-align: center;
}
.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.card h3 {
    margin: 12px 0 8px;
    font-size: 1.15rem;
}
.card-icon { font-size: 2rem; }
.card-link {
    display: inline-block;
    margin-top: 12px;
    font-size: 0.9rem;
    color: var(--primary);
    font-weight: 500;
}
.card-badge {
    display: inline-block;
    background: var(--bg-light);
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 0.8rem;
    color: var(--primary-dark);
    margin-bottom: 8px;
}

/* ── 의사 카드 ── */
.doctor-photo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 16px;
    border: 3px solid var(--border);
}
.doctor-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.doctor-specialty {
    color: var(--primary);
    font-size: 0.9rem;
}

/* ── 의사 상세 ── */
.doctor-detail {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 48px;
    align-items: start;
}
.doctor-detail-photo img {
    border-radius: var(--radius);
    width: 100%;
}

/* ── 공지 리스트 ── */
.notice-list {
    list-style: none;
}
.notice-list li {
    border-bottom: 1px solid var(--border);
}
.notice-list a {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
    color: var(--text);
}
.notice-list a:hover { color: var(--primary); }
.notice-date { color: var(--text-light); font-size: 0.9rem; }

/* ── 테이블 ── */
.table {
    width: 100%;
    border-collapse: collapse;
}
.table th, .table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
    text-align: left;
}
.table th {
    background: var(--bg-light);
    font-weight: 600;
    font-size: 0.9rem;
}
.badge {
    display: inline-block;
    background: var(--primary);
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    margin-right: 4px;
}

/* ── 폼 ── */
.form-group {
    margin-bottom: 20px;
}
.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    font-size: 0.95rem;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color var(--transition);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
}
.required { color: var(--error); }

/* ── 알림 ── */
.alert {
    padding: 16px 20px;
    border-radius: var(--radius);
    margin: 20px auto;
    max-width: 1140px;
}
.alert-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.alert-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}
.alert ul { margin-left: 16px; }

/* ── 페이지 헤더 ── */
.page-header {
    background: var(--bg-light);
    padding: 48px 0;
    padding-top: calc(var(--header-height) + 48px);
    text-align: center;
}
.page-header h1 {
    font-size: 2rem;
    color: var(--secondary);
    margin-bottom: 8px;
}
.page-header p {
    color: var(--text-light);
}

/* ── CTA ── */
.cta-section {
    background: linear-gradient(135deg, var(--secondary) 0%, #34495e 100%);
    color: #fff;
}
.cta-section h2 { color: #fff; margin-bottom: 12px; }
.cta-section p { color: rgba(255,255,255,0.8); margin-bottom: 28px; }
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ── 전후사진 ── */
.ba-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}
.ba-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.ba-label {
    display: block;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--primary-dark);
}
.ba-images img {
    border-radius: var(--radius);
    width: 100%;
}

/* ── 오시는길 ── */
.location-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}
.location-details dl {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 12px 16px;
}
.location-details dt {
    font-weight: 600;
    color: var(--primary-dark);
}

/* ── 병원소개 ── */
.about-features {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 40px;
}
.feature {
    padding: 24px;
    background: var(--bg-light);
    border-radius: var(--radius);
}
.feature h3 { margin-bottom: 8px; }

/* ── 에러 페이지 ── */
.error-page {
    padding: 120px 0;
}
.error-page h1 {
    font-size: 6rem;
    color: var(--primary);
}

/* ── 푸터 ── */
.site-footer {
    background: #2c3963;
    color: rgba(205, 213, 225, 0.7);
}
.footer-inner {
    /* max-width: 1440px; */
    max-width: 1280px;
    margin: 0 auto;
    /* padding: 50px 138px 60px; */
    padding: 50px 50px 60px;
    display: flex;
    align-items: flex-start;
    gap: 60px;
}
.footer-logo {
    flex-shrink: 0;
}
.footer-logo img {
    height: 51px;
    width: 220px;
}
.footer-info-text {
    font-size: 14px;
    line-height: 22px;
}
/* .footer-info-text p {
    margin: 0;
} */
.footer-info-text a {
    color: rgba(205, 213, 225, 0.7);
}
.footer-info-text a:hover { color: #fff; }
.footer-copy {
    margin-top: 20px;
}

/* ── 유틸리티 ── */
.text-center { text-align: center; }
.text-muted  { color: var(--text-light); }
.mt-4  { margin-top: 24px; }
.mt-6  { margin-top: 48px; }

/* ── 상태 배지 ── */
.status-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}
.status-pending   { background: #fff3cd; color: #856404; }
.status-confirmed { background: #d4edda; color: #155724; }
.status-completed { background: #d1ecf1; color: #0c5460; }
.status-cancelled { background: #f8d7da; color: #721c24; }

/* ══════════════════════════════════════════
   UC — 울트라콜 리프팅 상세 페이지
   ══════════════════════════════════════════ */

/* ── HERO ── */
.uc-hero {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
}
.uc-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.uc-hero__overlay {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    
    display: flex;
    align-items: center;
}
/* .uc-hero__title {
    position: absolute;
    left: 130px;
    top: 230px;
} */


.uc-hero__title {
    position: relative;
    width: 100%;
    max-width: 1280px;
    margin:0 auto;
    padding-left:50px;
    z-index: 1;
}



.uc-hero__sub {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 40px;
    color: #2c3963;
    margin: 0 0 5px;
}
.uc-hero__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 54px;
    line-height: 70px;
    color: #2c3963;
    margin: 0 0 20px;
}
.uc-hero__desc {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}

.dark-theme .uc-hero__heading {
    color: #fff;
}
.dark-theme .uc-hero__desc {
    color: #fff;
}



/* ── CONTENTS WRAPPER ── */
.uc-content {
    max-width: 1280px;
    margin: 0 auto;
    padding: 150px 50px;
    display: flex;
    flex-direction: column;
    gap: 150px;
}

/* ── 탄생주사 (Birth) 컴포넌트 ── */
.bt-pharma-logo {
    display: block;
    width: 400px;
    flex-shrink: 0;
    margin: 50px 0 0;
}
/* 
.bt-intro-row {
    display: flex;
    align-items: flex-start;
    gap: 80px;
}
*/
.bt-intro-col {
    display: flex;
    flex-direction: column;
    gap: 50px;
    flex: 1;
}
.bt-intro-head {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
br.mobile-br { display: none; }
.pc-only { display: none; }
.bt-intro-head .uc-subtitle { margin-top: 0; }
.bt-intro-col .bt-intro-text { margin-top: 0; }
.bt-intro-text {
    margin-top: 50px;
}
.uc-title + .bt-intro-text {
    margin-top: 50px;
}
.bt-mt40 {
    margin-top: 40px;
}

/* PLLA / PDRN 카드 */
.bt-card {
    margin-top: 60px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 50px;
}
.bt-card__img {
    width: 400px;
    height: 400px;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
}
.bt-card__body {
    flex: 1;
}
.bt-card__label {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 38px;
    color: #2c3963;
    margin: 0;
}
.bt-card__subtitle {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    color: rgba(0,0,0,0.7);
    margin: 0 0 20px;
}

/* 풀폭 이미지 */
.bt-standalone-img {
    width: 100%;
    margin: 0;
}
.bt-standalone-img img {
    width: 100%;
    display: block;
    /* aspect-ratio: 59 / 20;
    aspect-ratio: 8/5;
    object-fit: cover;
    object-position: 84% center; */
    border-radius: 10px;
}
.bt-standalone-img--fullbleed img {
    border-radius: 10px;
    object-position: center;
}


/* .bt-standalone-img.bt-standalone-img--fullbleed {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        background: #FDF2EE;
}
.bt-standalone-img.bt-standalone-img--fullbleed picture {
    display: block;
    width: 100%;
}
    */
.bt-standalone-img.bt-standalone-img--fullbleed img {
    display: block;
    width: 100%;
    max-width: 1440px;
    height: 600px;
    margin: 0 auto;
    aspect-ratio: auto;
    object-fit: cover;
    border-radius: 0;
}



.bt-full-img {
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
}

/* REJURAN rj-bubble 모바일 베이스 (PC 오버라이드는 @media 안에서) */






/* 체크리스트 */
.bt-checklist {
    list-style: none;
    padding: 0;
    margin: 50px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bt-checklist li {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    padding-left: 14px;
    position: relative;
}
.bt-checklist li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: rgba(0,0,0,0.7);
    font-weight: 400;
    font-size: 18px;
    line-height: 26px;
}

/* 제품 섹션 — PC: 1800px 오버레이 레이아웃 */
.bt-product-section {
    overflow-x: hidden;
    padding: 0;
    background: none;
}
.bt-product-block {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.bt-product-block + .bt-product-block {
    margin-top: 0;
}
.bt-product-block:nth-of-type(1) {
    background-color: #F4F3F2;
}
.bt-product-block:nth-of-type(2) {
    background-color: #DFECF2;
}
.bt-product-section--stacked .bt-product-block:nth-of-type(1) {
    background-color: #DFECF2;
}
.bt-product-section--stacked .bt-product-block:nth-of-type(2) {
    background-color: #F4F3F2;
}

.bt-product-block.bt-product-number-1 {
    background-image: url('/assets/img/birth/product-evercle-web-overlay.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
}
.bt-product-block.bt-product-number-2 {
    background-image: url('/assets/img/birth/product-dotpdrn-web.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
}

.bt-product-block.rj-product-number-1 {
    background-image: url('/assets/img/rejuran/healer-product-web.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
}
.bt-product-block.rj-product-number-2 {
    background-image: url('/assets/img/rejuran/hbplus-product-web.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
}

/* birth 제품섹션: 블록 배경색을 이미지 가장자리 색에 맞춤 (바둑판 띠 제거) */
.bt-product-section--birth .bt-product-block:nth-of-type(1) { background-color: #ddeef2; }
.bt-product-section--birth .bt-product-block:nth-of-type(2) { background-color: #f5f5f5; }
.bt-product-section--birth .bt-product-block:nth-of-type(3) { background-color: #e5edf1; }

/* birth 에버클(--right): row로 흩어진 텍스트를 우측 단일 컬럼으로 */
.bt-product-section--birth .bt-product-block--right .bt-product-block__text {
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
}
.bt-product-section--birth .bt-product-block--right .bt-product-block__text::before { display: none; content: none; }
.bt-product-section--birth .bt-product-block--right .bt-product-block__text > * {
    width: 50%;
    max-width: 520px;
}

.bt-product-block__pc-bg {
    position: absolute;
    inset: 0;
    width: 1800px;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
    left: 50%;
    transform: translateX(-50%);
}
.bt-product-block__img {
    display: none;
}
.bt-product-block__text {
    position: relative;
    z-index: 1;
    display:flex;
    flex-direction: column;
    /* position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    display: flex;
    flex-direction: column;
    z-index: 10; */
    width:100%;
    max-width:1280px;
    /* min-width: */
    margin: 0 auto;
    padding:0 50px;
}
.bt-product-block--right .bt-product-block__text {
    /* left: 50.555%; */
    /* align-items: flex-end; */
    flex-direction: row;
    gap: 80px;
}

.bt-product-block--right .bt-product-block__text::before {
    content: '';
    display:block;
    width: 40%;
    height: 100%;
}

/* .rj-product-number-2 .bt-product-block__text::before {
    width: 38%;
} */
.rj-product-number-2 .bt-product-block__text {
    gap: 70px;
}

/* 
.bt-product-block__label {
    min-width:600px;
} */

/* .bt-product-block--left .bt-product-block__text {
    left: 17.222%;
} */
/* .bt-product-block .uc-title {
    font-size: 36px;
    line-height: 50px;
    margin-top: 0;
} */
/* .bt-product-block .uc-subtitle {
    font-size: 20px;
    line-height: 30px;
    margin-top: 10px;
} */
/* .bt-product-block .bt-intro-text {
    margin-top: 50px;
    width: 480px;
}
.bt-product-block--left .bt-intro-text {
    width: 500px;
} */

/* 혜택 행 레이아웃 (PC: 이미지 좌 + 텍스트 우) */
.bt-benefit-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 80px;
}
.bt-benefit-row .bt-full-img {
    width: 40%;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
}
.bt-benefit-text {
    flex: 1;
}
.bt-benefit-text .uc-title {
    margin-top: 0;
}
.bt-benefit-text .bt-benefit-list {
    margin-top: 40px;
}

/* 혜택 리스트 */
.bt-benefit-list {
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.bt-benefit-list--divider {
    /* gap: 0; */
    padding-top:50px;
    border-top: 2px solid rgba(0,0,0,0.08);
}
.bt-benefit-list--divider .bt-benefit-item {
    padding: 0 0 50px;
    border-bottom: 2px solid rgba(0,0,0,0.08);
}
.bt-benefit-list--row {
    gap: 50px;
}
.bt-benefit-list--row .bt-benefit-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 50px;
}
.bt-benefit-list--row .bt-benefit-item .bt-changes-item__icon {
    width: 160px;
    height: 160px;
    margin-bottom: 0;
    flex-shrink: 0;
}
.bt-benefit-list--row .bt-benefit-item__text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.bt-benefit-list--row .bt-benefit-item__title {
    font-size: 24px;
    line-height: 36px;
    margin: 0;
}
.bt-benefit-list--row .bt-benefit-item .uc-text {
    margin: 0;
    line-height: 26px;
}
.bt-benefit-item__title {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 32px;
    color: #2c3963;
    margin: 0 0 15px;
}

/* 6가지 변화 그리드 — 1440+: 3열 / 1024~1439: 2열 */
/* @media (min-width: 1024px) and (max-width: 1439px) {
    .bt-changes-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-child(3n) {
        border-right: 2px solid rgba(255,255,255,0.7);
    }
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-child(2n) {
        border-right: none;
    }
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-last-child(-n+3) {
        border-bottom: 2px solid rgba(255,255,255,0.7);
    }
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-last-child(-n+2) {
        border-bottom: none;
    }
} */
.bt-changes-grid {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.bt-changes-grid--gray {
    background: #f2f2f2;
    border-radius: 20px;
    padding: 0;
}
.bt-changes-grid--divider {
    border-top: none;
}
.bt-changes-grid--divider .bt-changes-item {
    padding: 50px 0;
    border-bottom: 1px solid rgba(0,0,0,0.15);
    align-items: center;
    gap: 40px;
}
.bt-changes-grid--divider .bt-changes-item:nth-child(3n+1):nth-last-child(-n+3),
.bt-changes-grid--divider .bt-changes-item:nth-child(3n+2):nth-last-child(-n+2),
.bt-changes-grid--divider .bt-changes-item:nth-child(3n):nth-last-child(-n+1),
.bt-changes-grid--divider .bt-changes-item:nth-last-child(-n+3) {
    border-bottom: none;
}
.bt-changes-grid--gray.bt-changes-grid--divider {
    padding: 0;
}
.bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item {
    padding: 50px 40px;
    border-right: 2px solid rgba(255,255,255,0.7);
    border-bottom: 2px solid rgba(255,255,255,0.7);
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item__title {
    font-size: 24px;
    line-height: 36px;
}
.bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-child(3n) {
    border-right: none;
}
.bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-last-child(-n+3) {
    border-bottom: none;
}
.bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:last-child {
    border-bottom: none;
    border-right: none;
}
.bt-changes-grid--divider .bt-changes-item__icon {
    width: 80px;
    height: 80px;
}
.bt-changes-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.bt-changes-item:last-child {
    border-bottom: none;
    /* padding-bottom: 0; */
}
.bt-changes-item__icon {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    object-fit: contain;
}
.bt-changes-item__icon--circle {
    border-radius: 50%;
    border: 2px solid rgba(44,57,99,0.6);
    box-sizing: border-box;
    padding: 14px;
}
.bt-benefit-item .bt-changes-item__icon {
    width: 150px;
    height: 150px;
    margin-bottom: 20px;
}
.bt-changes-item__text {
    flex: 1;
}
.bt-changes-item__title {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0 0 10px;
}

/* 3단 스텝 카드 */
.bt-steps {
    display: flex;
    flex-direction: column;
    gap: 100px;
}
.bt-step-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 100px;
}
.bt-step-card:nth-child(2) {
    flex-direction: row-reverse;
    /* gap: 230px; */
}
.bt-step-card .uc-text {
    max-width: 550px;
}
.bt-step-card__img {
    width: 400px;
    height: 400px;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
.bt-step-card__text {
    flex: 1;
}
.bt-step-card .uc-title {
    margin-top: 0;
}
.bt-step-card .uc-text {
    margin-top: 50px;
}

/* WHY 클로버 — 1440+: 일렬 gap 20, 1024~1439: 겹침 (margin-left -66) */
/* @media (min-width: 1024px) and (max-width: 1439px) {
    .bt-clover { gap: 0 !important; }
    .bt-clover__circle + .bt-clover__circle { margin-left: -66px;}
} */
.bt-clover {
    display: flex;
    flex-direction: row;
    position: static;
    width: auto;
    height: auto;
    /* gap: 20px; */
    margin: 50px 0 0;
}
.bt-clover__circle {
    position: static;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: #2c3963;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bt-clover__circle span {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 5;
}

.bt-clover__circle + .bt-clover__circle { 
    margin-left: clamp(-66px, calc(-66px + (86 * ((100vw - 1024px) / 416))), 20px);
}


.bt-clover__tl, .bt-clover__tr, .bt-clover__bl, .bt-clover__br { top: auto; left: auto; right: auto; bottom: auto; }
.bt-clover__diamond {
    display: none;
}

/* 요약 섹션 */
/* PC 전용 배너 — 모바일에서 숨김 */
/* .bt-summary-banner-web { display: none; } */

.bt-summary-divider {
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,0.15);
    margin: 40px 0;
}
.bt-summary-block {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 60px;
}
.bt-summary-block__img {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0;
    display: block;
}
.bt-summary-block__text {
    flex: 1;
}
.bt-summary-block .bt-benefit-item__title {
    text-align: left;
    margin-bottom: 15px;
}
.bt-summary-block .uc-text {
    text-align: left;
}


.bt-product-section--stacked .bt-product-block {
    aspect-ratio: auto;
    /* height: 600px; */
}
.bt-product-section--stacked .bt-product-block__pc-bg {
    height: 100%;
    inset: 0;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
/* 
.bt-product-section--stacked .bt-product-block__text {
    top: 50%;
    transform: translateY(-50%);
    width: 480px;
}
*/
/* .bt-product-section--stacked .bt-product-block .bt-benefit-list {
    margin-top: 30px;
    gap: 25px;
} */
.bt-product-section--stacked .bt-product-block .bt-benefit-item__title {
    font-size: 20px;
    line-height: 30px;
    margin: 0 0 8px;
}
/* .bt-product-section--stacked .bt-product-block .uc-text {
    font-size: 16px;
    line-height: 26px;
} */



/* 시술 부위 가이드 - 이미지 양쪽 오버레이 (PC: Figma 1039:1312) */
.uc-face-wrap {
    position: relative;
    margin-top: 40px;
    width: 100%;
    max-width: 1180px;
    height: 540px;
    background:url('/assets/img/ultracol-face-web.png') no-repeat center center;
    background-size: auto 540px;
}
.uc-face-img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 20px;
    object-fit: cover;
}
.uc-guide-col {
    position: absolute;
    top: 12px;
    width:30%;
    max-width: 320px;
    bottom: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 30px;
    padding: 0;
}
.uc-guide-col--left {
    left: 0;
    align-items: flex-start;
}
.uc-guide-col--right {
    right: 0;
    left: auto;
    align-items: flex-end;
}

/* 시술 부위 가이드 태그 — PC: 320×152 pill */
.uc-guide-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 30px;
}
.uc-guide-tag {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* width: 320px; */
    width: 100%;
    height: 152px;
    padding: 0 20px;
    border-radius: 100px;
    background: #40a5a7;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    gap: 5px;
}
.uc-guide-tag__title {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
}
.uc-guide-tag__desc {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
}



.uc-particle-section {
    display: grid;
    margin-top:50px;
    grid-template-columns: 400px 1fr;
    column-gap: 50px;
    row-gap: 0;
    align-items: center;
}

/* .uc-particle-section > .uc-title { grid-column: 1 / -1; }
.uc-particle-section > .uc-text { grid-column: 1 / -1; } */
.uc-particle-section > .bt-step-card__img {
    width: 400px;
    height: 400px;
    /* grid-column: 1;
    grid-row: 3;
    width: 400px;
    height: 400px;
    align-self: center; */
}
/* .uc-particle-section > .uc-particle-info {
    grid-column: 2;
    grid-row: 3;
    align-self: center;
} */
.uc-particle-section .bt-benefit-item__title {
    font-size: 28px;
    line-height: 40px;
}
.uc-particle-section .bt-card__subtitle {
    font-size: 20px;
    line-height: 30px;
    color: rgba(0,0,0,0.7);
    margin: 10px 0 20px;
}
.uc-particle-section .bt-checklist 
{
    margin-top: 0;
}
/* 
.uc-particle-info {
    margin-top: 30px;
} */




.rj-bubble {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 70px;
    /* justify-content: space-between; */
}


.rj-bubble__img {
    width:40%;
    /* width: 500px;
    height: 500px; */
    flex-shrink: 0;
    object-fit: cover;
    border-radius: 0;
    aspect-ratio: auto;
}
.rj-bubble__text {
    /* flex: 1; */
    width:600px;
    /* display: flex;
    flex-direction: column;
    gap: 50px;
    margin-top: 0; */
}
.rj-bubble__head {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rj-bubble__head .uc-title { margin: 0; }
.rj-bubble__head .uc-subtitle { margin: 0; }
/* .rj-bubble__text .bt-benefit-list { margin-top: 0; gap: 30px; } */
.rj-bubble__text .bt-benefit-item__title { font-size: 24px; line-height: 36px; }
.rj-bubble__text .bt-benefit-item .uc-text { max-width: 480px; }


.rj-intro {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    /* gap: 80px; */
}

.rj-intro > .rj-intro__text {
    /* flex: 1; */
    /* min-width: 700px; */
    width: 700px;
}
/* .rj-intro__text .uc-title { margin: 0; }
.rj-intro__text .uc-subtitle { margin: 0; } */
/* .rj-intro__text .uc-text { margin-top: 50px; width: 700px; } */
.rj-intro > .rj-intro__img {
    flex-shrink: 0;
    width: 400px !important;
    height: 400px !important;
    border-radius: 20px;
    object-fit: cover;
    margin: 0 !important;
}

.rj-full-section {
    height: 600px;
    background:url('/assets/img/rejuran/products-banner.webp') no-repeat center;
    background-color: #AECCD0;
    background-size: auto 100%;
}





.rj-changes-grid {
    /* display: grid !important; */
    grid-template-columns: repeat(2, 1fr) !important;
    /* gap: 0 !important; */
    border-top: 1px solid rgba(0,0,0,0.15);
}
.rj-changes-grid .bt-changes-item {
    /* padding: 50px 0;
    border-bottom: 1px solid rgba(0,0,0,0.15); */
    gap: 50px;
}
/* 1024~1439: 텍스트가 아이콘 아래로 (Figma 1037:946) */

/* 3열 그리드용 base 규칙(.bt-changes-grid--divider :nth-last-child(-n+3))이 2열 4개에서
    item 2/3/4의 border-bottom을 제거하므로 동일 specificity로 복구 */
.bt-changes-grid--divider.rj-changes-grid .bt-changes-item:nth-last-child(-n+3) {
    border-bottom: 1px solid rgba(0,0,0,0.15);
}
/* .rj-changes-grid .bt-changes-item:nth-child(2n+1) {
    padding-right: 30px;
} */
.rj-changes-grid .bt-changes-item:nth-child(2n) {
    padding-left: 30px;
}
.rj-changes-grid .bt-changes-item__icon--circle {
    width: 150px;
    height: 150px;
    padding: 20px;
    border-width: 2px;
}
.rj-changes-grid .bt-changes-item__text {
    max-width: 300px;
}
.rj-changes-grid .bt-changes-item__title {
    font-size: 24px;
    line-height: 36px;
}
/* .rj-changes-grid .bt-changes-item .uc-text {
    font-size: 16px;
    line-height: 26px;
} */





/* 입자의 모양 PC 레이아웃 (Figma 438:4422) — 모바일은 영향 없음 */
/* @media (min-width: 769px) { */
    .pc-only { display: inline; }
    /* Story hero: 600px 고정, 이미지 2200px 센터 고정, 좌우 여백 #B7B09B */
    /* .story-hero { height: 600px; background-color: #B7B09B; }
    .story-hero .pg-hero__bg { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1467px; height: 600px; max-width: none; object-fit: cover; } */
    /* 우유빛 바탕 ~ 진료 철학 섹션 간격 50px (global gap 150px - 100px = 50px) */
    .st-philosophy { margin-top: 0; }
    .st-pillar__text { align-self: center; }

    /* .uc-particle-section {
        display: grid;
        grid-template-columns: 400px 1fr;
        column-gap: 50px;
        row-gap: 0;
        align-items: center;
    }
    .uc-particle-section > .uc-title { grid-column: 1 / -1; }
    .uc-particle-section > .uc-text { grid-column: 1 / -1; }
    .uc-particle-section > .bt-step-card__img {
        grid-column: 1;
        grid-row: 3;
        width: 400px;
        height: 400px;
        margin-top: 50px !important;
        align-self: center;
    }
    .uc-particle-section > .uc-particle-info {
        grid-column: 2;
        grid-row: 3;
        margin-top: 50px;
        align-self: center;
    }
    .uc-particle-section .bt-benefit-item__title {
        font-size: 28px;
        line-height: 40px;
    }
    .uc-particle-section .bt-card__subtitle {
        font-size: 20px;
        line-height: 30px;
        color: rgba(0,0,0,0.7);
        margin: 10px 0 20px;
    } */

    /* REJURAN 배너 3개 (1800×600, 좌우 동일 크롭, 1800 초과 시 bg 색상) */
    /* .rj-banner.rj-banner--1,
    .rj-banner.rj-banner--2,
    .rj-banner.rj-banner--3 {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        max-width: none;
        position: relative;
        height: 600px;
        padding: 0;
        overflow: hidden;
        aspect-ratio: auto;
    }
    .rj-banner.rj-banner--1 { background: #AECCD0; }
    .rj-banner.rj-banner--2 { background: #DFECF2; }
    .rj-banner.rj-banner--3 { background: #F4F3F2; }
    .rj-banner picture {
        display: block;
        width: 100%;
        max-width: 1800px;
        height: 600px;
        margin: 0 auto;
    }
    .rj-banner picture img,
    .rj-banner > img {
        display: block;
        width: 100%;
        max-width: 1800px;
        height: 600px;
        margin: 0 auto;
        object-fit: cover;
        border-radius: 0;
        position: static;
        inset: auto;
        aspect-ratio: auto;
    } */

    /* bt-product-section--stacked PC — 배경색 820px, 이미지+텍스트 600px 상하 중앙 */
    /* .bt-product-section--stacked .bt-product-block {
        aspect-ratio: auto;
        height: 600px;
    }
    .bt-product-section--stacked .bt-product-block__pc-bg {
        height: 100%;
        inset: 0;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
    }
    .bt-product-section--stacked .bt-product-block__text {
        top: 50%;
        transform: translateY(-50%);
        width: 480px;
    }
    .bt-product-section--stacked .bt-product-block .bt-benefit-list {
        margin-top: 30px;
        gap: 25px;
    }
    .bt-product-section--stacked .bt-product-block .bt-benefit-item__title {
        font-size: 20px;
        line-height: 30px;
        margin: 0 0 8px;
    }
    .bt-product-section--stacked .bt-product-block .uc-text {
        font-size: 16px;
        line-height: 26px;
    } */

    /* REJURAN Section 4 — 무너진 장벽 (Figma 995:8 이미지 좌 + 텍스트 우) */
    /* .rj-bubble {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 80px;
    }
    .rj-bubble__img {
        width: 500px;
        height: 500px;
        flex-shrink: 0;
        object-fit: cover;
        border-radius: 0;
        aspect-ratio: auto;
    }
    .rj-bubble__text {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 50px;
        margin-top: 0;
    }
    .rj-bubble__head {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .rj-bubble__head .uc-title { margin: 0; }
    .rj-bubble__head .uc-subtitle { margin: 0; }
    .rj-bubble__text .bt-benefit-list { margin-top: 0; gap: 30px; }
    .rj-bubble__text .bt-benefit-item__title { font-size: 24px; line-height: 36px; }
    .rj-bubble__text .bt-benefit-item .uc-text { max-width: 480px; } */

    /* REJURAN Section 6 — 변화 그리드 (Figma 995:54 — 2열 그리드 + 가로 디바이더)
       각 row: image 150 + text 300, gap 50; 디바이더와 콘텐츠 간 50px (item padding-top/bottom 50) */
    /* .rj-changes-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0 !important;
        border-top: 1px solid rgba(0,0,0,0.15);
    }
    .rj-changes-grid .bt-changes-item {
        padding: 50px 0;
        border-bottom: 1px solid rgba(0,0,0,0.15);
        gap: 50px;
    }
    
    @media (max-width: 1439px) {
        .rj-changes-grid .bt-changes-item {
            flex-direction: column !important;
            align-items: flex-start;
            gap: 30px;
        }
    }
    .bt-changes-grid--divider.rj-changes-grid .bt-changes-item:nth-last-child(-n+3) {
        border-bottom: 1px solid rgba(0,0,0,0.15);
    }
    .rj-changes-grid .bt-changes-item:nth-child(2n+1) {
        padding-right: 30px;
    }
    .rj-changes-grid .bt-changes-item:nth-child(2n) {
        padding-left: 30px;
    }
    .rj-changes-grid .bt-changes-item__icon--circle {
        width: 150px;
        height: 150px;
        padding: 20px;
        border-width: 2px;
    }
    .rj-changes-grid .bt-changes-item__text {
        max-width: 300px;
    }
    .rj-changes-grid .bt-changes-item__title {
        font-size: 24px;
        line-height: 36px;
    }
    .rj-changes-grid .bt-changes-item .uc-text {
        font-size: 16px;
        line-height: 26px;
    } */

    /* REJURAN Section 1 — 다이아 멤버쉽 인트로 (Figma 572:97)
       flex 2-col로 텍스트 래퍼 + 이미지 배치 (grid 행 분배로 인한 텍스트 사이 빈 공간 문제 해결) */
    /* .rj-intro {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 80px;
    }
    .rj-intro > .rj-intro__text {
        flex: 1;
        min-width: 0;
    }
    .rj-intro__text .uc-title { margin: 0; }
    .rj-intro__text .uc-subtitle { margin: 0; }
    .rj-intro__text .uc-text { margin-top: 50px; max-width: 700px; }
    .rj-intro > .rj-intro__img {
        flex-shrink: 0;
        width: 400px !important;
        height: 400px !important;
        border-radius: 20px;
        object-fit: cover;
        margin: 0 !important;
    } */
    /* 1024~1439 — Figma 1037:863: 이미지가 텍스트 아래로 (column layout) */
    /* @media (max-width: 1439px) {
        .rj-intro {
            flex-direction: column;
            align-items: flex-start;
            gap: 50px;
        }
    } */

/* REJURAN Section 2 — 다이아 멤버쉽 포인트 (Figma 994:15) */
.rj-points {
    margin-top: 50px;
    gap: 50px;
}
.rj-points .bt-benefit-item {
    display: grid;
    grid-template-columns: 200px 1fr;
    grid-template-rows: auto auto;
    column-gap: 50px;
    row-gap: 10px;
    align-items: center;
}
.rj-points .bt-benefit-item > .rj-point-circle {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    /* margin: 0 !important; */
    width: 200px; height: 200px; border-radius: 50%; object-fit: cover; display: block; border: 1px solid rgba(44,57,99,0.3);
}
.rj-points .bt-benefit-item > .rj-point-text {
    grid-column: 2;
    grid-row: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rj-points .bt-benefit-item .bt-benefit-item__title {
    font-size: 24px;
    line-height: 36px;
    margin: 0;
}
.rj-points .bt-benefit-item .uc-text {
    max-width: 720px;
    margin: 0;
}
/* } */

/* ── 공통 타이포 ── */
.uc-title {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 50px;
    color: #2c3963;
    margin: 0;
}
.uc-title--sm {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 50px;
    color: #2c3963;
    margin: 0 0 10px;
}
.uc-subtitle {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: rgba(0,0,0,0.7);
    margin: 10px 0 0;
}
.uc-subtitle--sm {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}
.uc-text {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
    word-break: keep-all;
}
.uc-subtitle + .uc-text {
    margin-top: 50px;
}
.uc-section { position: relative; }

/* ── SECTION 1: 콜라겐 감소 ── */
.uc-collagen .uc-title { margin-bottom: 50px; }
.uc-collagen .uc-text { margin-bottom: 50px; max-width: 700px; }
.uc-skin-compare {
    display: flex;
    gap: 50px;
}
.uc-skin-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.uc-skin-img {
    width: 400px;
    height: 300px;
    border-radius: 200px;
    overflow: hidden;
}
.uc-skin-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.uc-skin-label {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0,0,0,0.7);
}

/* ── VOLUME 섹션 (bg #f5f6f8, 풀블리드 이미지) ── */
.uc-vol-section {
    margin: 0;
    padding: 0;
    /* background: #f5f6f8; */
    /* padding-bottom: 75px;
    display: flex;
    flex-direction: column; */
    position: relative;
    height: 600px;
    overflow: hidden;
    display: flex;
    align-items: center;
    background:url('/assets/img/ultracol-answer2-web.webp') no-repeat calc(50% + 100px) center;
    background-color: #f5f6f8;
    background-size: auto 100%;

}
.uc-vol-img {
    display: none; /* 데스크톱은 .uc-vol-section 배경이미지 사용, 모바일만 <img> 노출 */
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 0;
}
.uc-vol-text {
    padding: 0 50px;
    display: flex;
    flex-direction: column;
    gap: 25px;

    width:100%;
    max-width:1280px;
    margin: 0 auto;

}

/* 
.uc-vol-section .uc-vol-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1180px;
    max-width: 100%;
    padding: 0 130px;
    gap: 50px;
    z-index: 1;
    box-sizing: border-box;
}
.uc-vol-section .uc-vol-text > div {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.uc-vol-section .uc-vol-text .uc-title {
    margin: 0;
}
.uc-vol-section .uc-vol-text .uc-subtitle {
    margin: 0;
}
    
.uc-vol-section .uc-vol-text .uc-text {
    width: 550px;
    max-width: 100%;
    margin: 0;
}
     */



/* ── SECTION 2: 울트라콜 해답 ── */
.uc-answer-wrap {
    display: flex;
    flex-direction: column;
    gap: 70px;
}
.uc-answer-bg {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: 600px;
    overflow: hidden;
}
.uc-answer-bg__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.uc-answer-inner {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
    padding: 151px 0;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.uc-answer-inner .uc-title { margin-bottom: 0; }
.uc-answer-inner .uc-text { max-width: 550px; }

/* 4세대 부스터 */
.uc-gen4 {
    display: flex;
    align-items: center;
    /* gap: 80px;
    max-width: 1180px; */
    justify-content: space-between;
}
.uc-gen4__img {
    width:38%;
    /* height: 500px;
    flex-shrink: 0;
    overflow: hidden; */
}
.uc-gen4__img img {
    width: 100%;
    /* height: 100%; */
    object-fit: cover;
}
.uc-gen4__text {
    width:550px;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.uc-gen4__text .uc-subtitle--sm { margin-top: 10px; }
.uc-gen4__text .uc-text { max-width: 480px; }

/* 풀폭 배너 */

.uc-full-section {
    height: 600px;
    background:url('/assets/img/ultracol-fullwidth1-web.webp') no-repeat center;
    background-color: #FDF2EE;
    background-size: auto 100%;
}
.uc-full-section img { display: none; } /* 데스크톱은 배경이미지 사용, 모바일만 <img> 노출 */


.uc-fullwidth-banner {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
}
.uc-fullwidth-banner img {
    width: 100%;
    height: auto;
    display: block;
}
.uc-banner-round {
    width: 100%;
    margin-left: 0;
    border-radius: 20px;
    overflow: hidden;
}
.uc-banner-round img {
    width: 100%;
    height: 450px;
    object-fit: cover;
}

/* ── SECTION 3: 핵심 장점 ── */
.uc-advantages .uc-title { margin-bottom: 50px; }
.uc-adv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #f2f2f2;
    border-radius: 20px;
    position: relative;
}
/* 세로 구분선 */
.uc-adv-grid::before,
.uc-adv-grid::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #fff;
}
.uc-adv-grid::before { left: calc(100% / 3); }
.uc-adv-grid::after { left: calc(200% / 3); }

.uc-adv-item {
    padding: 40px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
/* 가로 구분선: 4,5,6번째 아이템 위 */
.uc-adv-item:nth-child(n+4) {
    border-top: 2px solid #fff;
}

.uc-adv-icon {
    width: 60px;
    height: 60px;
    object-fit: contain;
}
.uc-adv-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #2c3963;
    margin: 0;
}
.uc-adv-desc {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
    max-width: 300px;
}

/* ── SECTION 5: 3단 교차 상세 ── */
.uc-details {
    display: flex;
    flex-direction: column;
    gap: 90px;
}
.uc-detail-row {
    display: flex;
    align-items: center;
    gap: 100px;
}
.uc-detail-row--reverse {
    flex-direction: row-reverse;
    gap: 230px;
}
.uc-detail-img {
    width: 400px;
    height: 400px;
    border-radius: 200px;
    overflow: hidden;
    flex-shrink: 0;
}
.uc-detail-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.uc-detail-text {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.uc-detail-text .uc-text { max-width: 550px; }

/* ── SECTION 7: WHY 원형 ── */
.uc-why .uc-title { margin-bottom: 10px; }
.uc-why .uc-subtitle--sm { margin-bottom: 50px; }
.uc-why-circles {
    display: flex;
    gap: 20px;
}
.uc-why-circle {
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: #2c3963;
    display: flex;
    align-items: center;
    justify-content: center;
}
.uc-why-circle span {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #fff;
    text-align: center;
}

/* ── SECTION 8: 입자 비교 ── */
.uc-particle .uc-title { margin-bottom: 10px; }
.uc-particle .uc-subtitle--sm { margin-bottom: 50px; }
.uc-particle-compare {
    display: flex;
    align-items: center;
    gap: 50px;
}
.uc-particle-img {
    width: 400px;
    height: 300px;
    border-radius: 200px;
    overflow: hidden;
    flex-shrink: 0;
}
.uc-particle-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.uc-particle-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.uc-particle-brand {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 40px;
    color: #2c3963;
    margin: 0;
}
.uc-particle-sub {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}
.uc-particle-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.uc-particle-list li {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
}
.uc-particle-list li::before {
    content: '· ';
}

/* ── UC 반응형 ── */
/* 태블릿/모바일 레이아웃 (PC 1024+ 에서는 zoom으로 비율 축소되므로 적용 안 함) */

/* Birth / UC — 679px rem 오버라이드 */


/* ══════════════════════════════════
   반응형 — 페이지 콘텐츠
   ══════════════════════════════════ */

/* 스크롤 잠금 (메뉴 열림 시 body에 적용) */
body.menu-open {
    overflow: hidden;
}

/* ══════════════════════════════════════════
   PG — 공통 페이지 스타일 (Story / Doctor / Space / Map)
   ══════════════════════════════════════════ */

/* ── HERO ── */
.pg-hero .uc-hero__desc {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
}
/* .pg-hero {
    height: 600px;
} */
/* .pg-hero {
    position: relative;
    width: 100%;
    height: 545px;
    overflow: hidden;
}
.pg-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.pg-hero__bg--gray {
    background: #d9d9d9;
}
.pg-hero__overlay {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.pg-hero__title {
    position: absolute;
    left: 130px;
    top: 230px;
}
.pg-hero__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 54px;
    line-height: 70px;
    color: #2c3963;
    margin: 0 0 20px;
}
.pg-hero__desc {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
} */


/* ── CONTENT WRAPPER ── */
.pg-content {
    max-width: 1280px;
    margin: 0 auto;
    padding: 150px 50px;
    display: flex;
    flex-direction: column;
    gap: 150px;
}
.pg-section { position: relative; }
.dr-profile--second { margin-top: -75px; }

/* ── 타이포 ── */
.pg-big-title {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 64px;
    color: #2c3963;
    margin: 0;
}
.pg-title {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 50px;
    color: #2c3963;
    margin: 0;
}
.pg-subtitle {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: rgba(0,0,0,0.7);
    margin: 10px 0 0;
}
.pg-text {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}

/* ── 풀폭 배너 ── */
.pg-banner {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}
.pg-banner img {
    width: 100%;
    height: 100%;
    /* height: 450px; */
    object-fit: cover;
    display: block;
}


/* ══════════════════════════════════════════
   ST — 병원소개 (Story)
   ══════════════════════════════════════════ */

.story-hero {background-color: #B7B09B; }
.story-hero .uc-hero__bg { top: 0; left: 50%; transform: translateX(-50%); width: 1467px; height: 600px; max-width: none; }


/* 동영상 섹션 */
.st-video .idx-story__video {
    margin-top: 50px;
}
.st-video__wrap {
    margin-top: 40px;
    border-radius: 20px;
    overflow: hidden;
}
.st-video__wrap img {
    width: 100%;
    height: auto;
    display: block;
}
.st-text--wide {
    margin-top: 30px;
    max-width: 900px;
}

/* 진료 철학 */
.st-philosophy__header {
    margin-bottom: 80px;
}
.st-philosophy__header .pg-subtitle {
    margin-top: 15px;
}
.st-pillar {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    margin-bottom: 60px;
}
.st-pillar:last-child { margin-bottom: 0; }
.st-pillar__circle {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: #d9d9d9;
    flex-shrink: 0;
    overflow: hidden;
}
.st-pillar__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #2c3963;
    margin: 0 0 20px;
}
.st-pillar__text {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.st-pillar__text .pg-text { margin-top: 0; }

/* 파트너 그리드 */
.st-divider {
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,0.15);
    margin: 0;
}
/* 모바일 전용 구분선(파트너 항목 사이) — PC에서는 숨김 */
.st-divider--mo { display: none; }

.st-partner { display: flex; flex-direction: column; gap: 50px; }

.st-partner .pg-title { margin-bottom: 0; }
.st-partner__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 60px;
    row-gap: 0;
}
.st-partner__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #2c3963;
    margin: 0 0 10px;
}
.st-partner__item .pg-text { max-width: 440px; }

.st-partner__row { display: flex;}
.st-partner__item { width:100%; max-width: 590px;}



/* ══════════════════════════════════════════
   DR — 의료진 (Doctor)
   ══════════════════════════════════════════ */
.doctor-hero__overlay {
    background:url('/assets/img/doctor-hero-web.webp') no-repeat center;
    background-size: cover;
}

/* PC: 경력은 사진 위 오버레이(.dr-profile__credentials)로 표시하므로
   본문 아래 리스트(.dr-profile__career)는 숨긴다 (모바일에서만 노출) */
.dr-profile__intro .dr-profile__divider,
.dr-profile__intro .dr-profile__career { display: none; }

.dr-profile {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.dr-profile__photo {
    position: relative;
    width: 100%;
    /* height: 250px; */
    border-radius: 20px;
    background: #d9d9d9;
    overflow: hidden;
}
.dr-profile__photo img {
    display:block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dr-profile__credentials {
    position: absolute;
    /* right: 40px;
    bottom: 40px; */
    /* background: rgba(56,66,89,0.85);
    backdrop-filter: blur(8px);
    border-radius: 16px;
    padding: 30px 35px; */
    display: flex;
    flex-direction: column;
    gap: 30px;
    top: 100px;
    left: 100px;
}



.dr-cred-group { display: flex; flex-direction: column; gap: 5px; }
    
.dr-cred-group p {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}
.dr-profile__intro {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
/* .dr-profile__intro .pg-text { max-width: 800px; } */
.dr-profile__divider {
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,0.15);
    flex-shrink: 0;
}
.dr-profile__career {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.dr-profile__career p {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}




    /* .dr-profile__intro .pg-text { max-width: 600px; }
    .dr-profile__intro .dr-profile__divider { display: none; }
    .dr-profile__intro .dr-profile__career { display: none; } */




/* ══════════════════════════════════════════
   SP — 공간소개 (Space)
   ══════════════════════════════════════════ */

/* Figma 354:473 — Hero 1440×600, title 54px / desc 24px */
/* .sp-hero {
    height: 600px;
}
.sp-hero .pg-hero__desc {
    font-size: 24px;
    line-height: 36px;
} */

/* Space mobile (≤1023px) — Figma 689:843 (66/86), 689:842 (24/38) ÷2 (720→360 mobile) */

.sp-room {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.sp-room__info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.sp-room__photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.sp-room__img {
    overflow: hidden;
    /* height: 400px; */
    height:clamp(300px, 30vw, 400px);
}
.sp-room__img picture { display: contents; }
/* 외곽 코너만 라운딩 — 안쪽 코너는 명시적으로 sharp */
.sp-room__img--left,
.sp-room__img--left img { border-radius: 20px 0 0 20px; }
.sp-room__img--right,
.sp-room__img--right img { border-radius: 0 20px 20px 0; }
.sp-room__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ══════════════════════════════════════════
   MP — 오시는 길 (Map)
   ══════════════════════════════════════════ */

.mp-building-group {
    display: flex;
    flex-direction: column;
    gap: 150px;
}

.mp-building .pg-title { margin-bottom: 50px; }
.mp-building-photos {
    display: flex;
    flex-direction: row;
    gap: 6px;
    border-radius: 20px;
    overflow: hidden;
}
.mp-building-photo {
    width: 100%;
    display: block;
    object-fit: cover;
}

.mp-building-photo {
    height:clamp(300px, 30vw, 400px);
}
/* .mp-building-photo:first-child { border-radius: 20px 0 0 20px; }
.mp-building-photo:last-child { border-radius: 0 20px 20px 0; } */
.mp-building-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 
.mp-building .sp-room__photos {
    grid-template-columns: 1fr;
    gap: 0;
    border-radius: 10px;
}

.mp-map {
    display: flex;
    flex-direction: column;
    gap: 50px;
} 
*/

.mp-map .pg-title { margin-bottom: 50px; }
.mp-map__wrap {
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: 20px;
    overflow: hidden;
    height:clamp(450px, 45vw, 600px);
}
.mp-map__wrap img {
    width: 100%;
    height: auto;
    display: block;
}


/* .mp-map__wrap { height: 600px; } */
.mp-map__wrap .root_daum_roughmap,
.mp-map__wrap .root_daum_roughmap iframe,
.mp-map__wrap .root_daum_roughmap > div {
    width: 100% !important;
    height: 600px !important;
    max-width: none !important;
}




.mp-map__address {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 10px 0 0;
}

.mp-info {
    /*display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    
    background: #f8f8f8;
    border-radius: 20px;
    padding: 50px 40px;
    */
    display:flex;
    justify-content: space-between;
}

.mp-info__col:last-child {
    min-width: 290px;
}



.mp-info__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    /* font-size: 22px;
    line-height: 34px;
    margin: 0 0 20px; */
    color: #2c3963;
    font-size: 24px;
    line-height: 36px;
    margin: 0 0 10px;
}
.mp-info__list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 14px;
    margin: 0;
    font-size: 16px;
    line-height: 26px;
    color:#000;
}
/* 
.mp-info__list dt {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: #2c3963;
    font-weight: 600;
}
.mp-info__list dd {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}
*/
.mp-info__list a {
    color: rgba(0,0,0,0.7);
    text-decoration: none;
}
.mp-info__list a:hover { color: #2c3963; }
.mp-info__text p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(0,0,0,0.7);
    margin: 0 0 4px;
}




    
/* Figma 356:585 — PC 오시는 길 (1024+, 모바일 영향 없음) */
/* @media (min-width: 1024px) { */
    /* 건물 사진 가로 2열 (Figma 476:14) — 587×400, gap 6, 외곽 라운딩 20 */
    /* .mp-building-photos {
        flex-direction: row;
        gap: 6px;
        border-radius: 0;
        overflow: visible;
    }
    .mp-building-photo {
        flex: 1 1 0;
        height: 400px;
        min-width: 0;
    }
    .mp-building-photo:first-child { border-radius: 20px 0 0 20px; }
    .mp-building-photo:last-child { border-radius: 0 20px 20px 0; } */

    /* 진료시간/주차/문의 — 평문 3열, 배경/패딩 없음 (Figma 358:672) */
    /* .mp-info {
        background: transparent;
        padding: 0;
        gap: 0;
        border-radius: 0;
    }
    .mp-info__col {
        flex: 1 1 0;
        min-width: 0;
    }
    .mp-info__heading {
        font-size: 24px;
        line-height: 36px;
        margin: 0 0 10px;
    }
    .mp-info__list dt,
    .mp-info__list dd {
        font-size: 16px;
        line-height: 26px;
    } */

    /* 지도 1180×600 (Figma 356:610) */
    /* .mp-map .pg-title { width: 700px; }
    .mp-map__wrap { height: 600px; }
    .mp-map__wrap .root_daum_roughmap,
    .mp-map__wrap .root_daum_roughmap iframe,
    .mp-map__wrap .root_daum_roughmap > div {
        width: 100% !important;
        height: 600px !important;
        max-width: none !important;
    } */
/* } */



/* ══════════════════════════════════════════
   CJ — 콜쥬란 시너지 (Coljuran)
   ══════════════════════════════════════════ */

/* 카드 쌍 */
.cj-cards {
    display: flex;
    align-items: stretch;
    gap: 30px;
}
.cj-plus {
    font-family: 'MaruBuri', serif;
    font-size: 36px;
    color: #2c3963;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.cj-card {
    flex: 1;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.cj-card__img {
    height: 280px;
    overflow: hidden;
}
.cj-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cj-card__body {
    padding: 30px 35px 40px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cj-card--blue .cj-card__body { background: #527fa0; }
.cj-card--teal .cj-card__body { background: #40a5a7; }
.cj-card__name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 40px;
    color: #fff;
    margin: 0;
}
.cj-card__sub {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: rgba(255,255,255,0.85);
    margin: 0;
}
.cj-card__list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
}
.cj-card__list li {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 15px;
    line-height: 26px;
    color: rgba(255,255,255,0.9);
}
.cj-card__list li::before { content: '✓ '; }

/* 체크리스트 */
.cj-checklist {
    list-style: none;
    padding: 0;
    margin: 50px 0 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.cj-checklist li {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 17px;
    line-height: 28px;
    color: rgba(0,0,0,0.7);
    padding-left: 28px;
    position: relative;
}
.cj-checklist li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #2c3963;
    font-weight: 700;
}

/* 시술 부위 가이드 */
.cj-guide .uc-title { margin-bottom: 15px; }
.cj-guide .uc-subtitle { margin-bottom: 50px; }
.cj-guide__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 80px;
}
.cj-guide__item { margin-bottom: 20px; }
.cj-guide__label {
    display: inline-block;
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    border-bottom: 2px solid #2c3963;
    padding-bottom: 4px;
    margin-bottom: 10px;
}

/* 콜쥬란의 약속 */
.cj-promise .uc-title { margin-bottom: 10px; }
.cj-promise .uc-subtitle { margin-bottom: 60px; }
.cj-promise__list {
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.cj-promise__item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.cj-promise__img {
    width: 100%;
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
}
.cj-promise__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cj-promise__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #2c3963;
    margin: 0;
}

/* 3열 장점 그리드 */
.uc-adv-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}
.uc-adv-grid--3::after { display: none; }


/* ══════════════════════════════════════════
   BS — 스킨부스터 (Booster)
   ══════════════════════════════════════════ */

/* 4 솔루션 카드 */
.bs-solutions {
    max-width: 1180px;
    margin: -80px auto 0;
    padding: 0 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.bs-sol-card {
    border-radius: 20px;
    overflow: hidden;
    background: #f8f8f8;
}
.bs-sol-card__img {
    height: 260px;
    overflow: hidden;
}
.bs-sol-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bs-sol-card__body {
    padding: 30px 30px 35px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bs-sol-card__name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #2c3963;
    margin: 0;
}
.bs-sol-card__sub {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: rgba(0,0,0,0.5);
    margin: 0;
}

/* 시술 과정 */
.bs-process .uc-title { margin-bottom: 10px; }
.bs-process .uc-subtitle { margin-bottom: 50px; }
.bs-process__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
.bs-process__item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.bs-process__img {
    border-radius: 20px;
    overflow: hidden;
    height: 350px;
}
.bs-process__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bs-process__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 34px;
    color: #2c3963;
    margin: 0;
}


/* ══════════════════════════════════════════
   HL — 상처복원 (Healing)
   ══════════════════════════════════════════ */

/* 체크 아이콘 그리드 */
.hl-checks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}
.hl-check {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}
.hl-check__icon {
    width: 80px;
    height: 80px;
}
.hl-check__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.hl-check__text {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}

/* 4열 장점 */
.hl-benefits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 50px;
}
.hl-benefit {
    background: #f8f8f8;
    border-radius: 20px;
    padding: 35px 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.hl-benefit__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 34px;
    color: #2c3963;
    margin: 0;
}

/* 에어샤인 메커니즘 */
.hl-mechanism {
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin-top: 60px;
}
.hl-mechanism__item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.hl-mechanism__img {
    width: 100%;
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
}
.hl-mechanism__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hl-mechanism__heading {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #2c3963;
    margin: 0;
}

/* 에어샤인 핵심 메커니즘 — 모바일 divider 레이아웃 (Figma 1073:2106) */
.hl-airshine-mech { margin-top: 75px; }
.hl-airshine-mech .hl-mechanism {
    gap: 0;
    margin-top: 25px;
    border-top: 1px solid rgba(0,0,0,0.15);
}
.hl-airshine-mech .hl-mechanism .bt-benefit-item {
    flex-direction: column;
    align-items: flex-start;
    padding: 25px 0;
    gap: 20px;
    border-bottom: 1px solid rgba(0,0,0,0.15);
}
.hl-airshine-mech .hl-mechanism .hl-mechanism__icon {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 1px solid rgba(44,57,99,0.3);
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}
.hl-airshine-mech .hl-mechanism .bt-benefit-item__title { margin: 0 0 5px; }

/* ══════════════════════════════════════════
   색소 솔루션 (PIGMENT) — pg-* 컴포넌트
   ══════════════════════════════════════════ */

/* 프로세스 스텝 박스 */
.pg-process-box {
    background: #f2f2f2;
    border-radius: 20px;
    padding: 40px 0;
}
.pg-process-step {
    padding: 20px 40px;
}
.pg-process-step + .pg-process-step {
    border-top: 2px solid #fff;
}
.pg-process-num {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    display: block;
    margin-bottom: 5px;
}
.pg-process-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0 0 10px;
}
.pg-process-sub {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0,0,0,0.7);
    margin: 0 0 10px;
}
.pg-text {
    font-family: 'NanumBarunGothic', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(0,0,0,0.7);
    margin: 0;
}

/* 3D 진단 카드 */
.pg-diagnosis {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 50px;
}
.pg-diagnosis-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.pg-diagnosis-img {
    width: 100%;
    height: 200px;
    border-radius: 20px;
    overflow: hidden;
}
.pg-diagnosis-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pg-diagnosis-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0;
}

/* 시술 시스템 */
.pg-system {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 50px;
}
.pg-system-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.pg-system-img {
    width: 100%;
    height: 200px;
    border-radius: 20px;
    overflow: hidden;
}
.pg-system-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pg-system-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0;
}

/* 레이저 장비 카드 */
.pg-laser-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 50px;
}
.pg-laser-card {
    background: #f2f2f2;
    border-radius: 20px;
    overflow: hidden;
}
.pg-laser-img {
    width: 100%;
    height: 200px;
    overflow: hidden;
}
.pg-laser-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pg-laser-body {
    padding: 25px 30px;
}
.pg-laser-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0 0 10px;
}

/* Before/After 비교 */
.pg-ba-compare {
    display: flex;
    gap: 50px;
    margin-top: 50px;
}

.pg-ba-item {
    /* flex: 1; */
    text-align: center;
}
.pg-ba-img-wrap {
    /* display: inline-block;
    width: 150px;
    height: 90px;
    border-radius: 45px; */
    width: 300px; height: 180px; border-radius: 90px;
    overflow: hidden;
}
.pg-ba-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% center;
    /* transform: scale(1.5); */
    display: block;
}
    
.pg-ba-label {
    display: block;
    font-family: 'NanumBarunGothic', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0, 0, 0, 0.70);
    margin-top: 10px;
}

/* 주의사항 */
.pg-caution-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 50px;
}
.pg-caution-item {
    padding: 0;
}
.pg-caution-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    color: #2c3963;
    margin: 0 0 10px;
}

/* ══════════════════════════════════════════
   리쥬란 재생케어 (REJURAN) — rj-* 컴포넌트
   ══════════════════════════════════════════ */

.rj-benefit-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.rj-benefit-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rj-benefit-name {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0;
}

.rj-feature-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
}
.rj-feature-item h4 {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0 0 10px;
}

/* 피부 고민별 효과 */
.rj-effects {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.rj-effect-row {
    display: flex;
    gap: 30px;
    align-items: center;
}
.rj-effect-img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.rj-effect-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rj-effect-text h4 {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0 0 10px;
}

/* 차별점 */
.rj-diff-list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.rj-diff-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.rj-diff-img {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}
.rj-diff-img img {
    width: 100%;
    height: auto;
    display: block;
}
.rj-diff-text h4 {
    font-family: 'MaruBuri', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    color: #2c3963;
    margin: 0 0 10px;
}

/* ══════════════════════════════════════════
   비스포크 리프팅 (LASER) — ls-* 컴포넌트
   ══════════════════════════════════════════ */

/* 장비 원형 이미지 */
.ls-device-circle {
    width: 100%;
    max-width: 400px;
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}

/* 장비 상세 텍스트 */
.ls-tool-img img {
    width: 100%;
    max-width: 500px;
    display: block;
}
.ls-tool-features {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.ls-tool-feature h4 {
    margin-bottom: 10px;
}

/* 정품 브랜드 로고 */
.ls-brand-logos {
    display: flex;
    gap: 40px;
    align-items: center;
    flex-wrap: wrap;
}
.ls-brand-logos img {
    height: 40px;
    width: auto;
    object-fit: contain;
}

/* 3단계 마취 시스템 */
.ls-anesthesia {
    margin-top:50px;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.ls-anesthesia-item {
    display: flex;
    gap: 50px;
    align-items: center;
}
.ls-anesthesia-icon {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 2px solid rgba(44,57,99,0.6);
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ls-anesthesia-icon img {
    width: 108px;
    object-fit: contain;
}


.ls-anesthesia-item h4.bt-changes-item__title {
    font-size: 24px;
    line-height: 36px;
    margin: 0 0 10px;
}
    /* .ls-anesthesia-item .uc-text { max-width: 500px; line-height: 26px; } */



/* 입체감 디자인 리스트 */
.ls-design-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.ls-design-item h4 {
    margin-bottom: 10px;
}


/* ══════════════════════════════════════════
   PG + CJ + BS + HL + RJ + LS 반응형
   ══════════════════════════════════════════ */



/* PG / ST — 679px rem 오버라이드 (Figma 725:2966 ÷2 ÷16) */

/* =============================================================
   Laser (laser.php) — 인트로 이미지 컨테이너 베이스 스타일
   ============================================================= */
.ls-steps-grid { margin-top: 25px; }
.ls-section2-gap .uc-content { gap: 0; }


/* =============================================================
   Laser (laser.php) — PC 데스크톱 전용 Figma 1:1 매칭
   Figma node 768:525 (CONTENTS) 기준. 모바일 영향 없음.
   ============================================================= */
/* @media (min-width: 769px) { */
    /* SECTION 1: LIFTING — 텍스트 좌측 + 이미지 우측 */
.ls-lifting {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    /* gap: 80px; */
}
.ls-lifting__text {
    /* flex: 1;
    min-width: 0; */
    width: 600px;
}
/* .ls-lifting__text .uc-title { margin: 0; } */
/* .ls-lifting__text .uc-subtitle { margin: 10px 0 0; } */
.ls-lifting__text .uc-text { max-width: 600px; }
.ls-lifting__img {
    width: 500px;
    height: 410px;
    /* aspect-ratio: auto;
    flex-shrink: 0;
    margin: 0 !important;

    overflow: hidden;
    border-radius: 10px; */
}
/* .ls-lifting__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
} */
/* 

.ls-lifting__img {
    width: 100%;
    aspect-ratio: 320 / 266.6;
    overflow: hidden;
    border-radius: 10px;
} 
.ls-lifting__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.20);
    display: block;
}*/

.ls-section2-gap .bt-changes-item__text {
    max-width: 290px;
}








/* SECTION 3: 장비 인트로 — 교차 블록 (Figma 12:576) */
.ls-device-intro { gap: 90px; }
.ls-device-intro .bt-step-card__text {
    flex: 1;
    min-width: 0;
    /* max-width: 550px; */
}
.ls-device-intro .bt-step-card__text .uc-title { margin: 0; }
.ls-device-intro .bt-step-card__text .uc-subtitle { margin: 10px 0 0; }
.ls-device-intro .bt-step-card__text .uc-text { margin: 30px 0 0; }

/* SECTION 5/6/7: TOOLS — 장비 이미지 570x570 */

.ls-tools .ls-tools__img-wrapper {
    max-width: 570px;
    flex:1;
    overflow:hidden;
}


.ls-tools .bt-step-card { 
    align-items: flex-end; 
    /* gap: 60px;  */
    gap: 0 !important;
    justify-content: space-between;
}
.ls-tools--reverse .bt-step-card { flex-direction: row-reverse; }
.ls-tools .bt-step-card__img.ls-tool-img {
    width: 570px;
    height: 570px;
    border-radius: 0;
    /* object-fit: contain;
    flex-shrink: 0; */

    object-fit: cover;
    object-position: right center;
}


.ls-tools.ls-tools--reverse .bt-step-card__img.ls-tool-img {
    object-position: left center;
}


.ls-tools .bt-step-card__text {
    width: 550px;
    flex: 0 0 auto;
}
.ls-tools .bt-step-card__text .uc-title { margin: 0; }
.ls-tools .bt-step-card__text .uc-subtitle { margin: 10px 0 0; }
/* .ls-tools .bt-step-card__text .bt-benefit-list {
    margin-top: 50px !important;
    gap: 50px;
} */
.ls-tools .bt-step-card__text .bt-benefit-item__title {
    font-size: 24px;
    line-height: 36px;
    margin: 0 0 10px;
}
.ls-tools .bt-step-card__text .bt-benefit-item .uc-text {
    margin: 0;
    line-height: 26px;
    max-width: 500px;
}

/* SECTION 8: FAITH — 1440+: 텍스트 좌 + 로고 우, 1024~1439: 텍스트 위 + 로고 아래 */
.ls-faith {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    /* gap: 62px; */
    justify-content: space-between;
}

.ls-faith__text {
    flex: 1;
    min-width: 600px;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 10px;
}
.ls-faith__text .uc-title { margin: 0; line-height: 48px; }
.ls-faith__text .uc-subtitle { margin: 0; }
.ls-faith__text .uc-text { margin-top: 40px; max-width: 600px; }
.ls-faith .ls-brand-logos {
    /* margin-top: 0 !important; */
    gap: 50px;
    flex-shrink: 0;
    /* align-items: center; */
}
.ls-faith .ls-brand-logos img { height: 52px; }

    /* SECTION 9: COMFORT — 마취 아이콘 150x150 (Figma) */
    

    .ls-section2-gap { margin-top: 150px; }
    .ls-section2-gap .uc-content { gap: 0; padding-top: 100px; padding-bottom: 100px; }
    .ls-steps-grid { margin-top: 50px; }

    /* SECTION 10: WHY — 4개 다크 서클 280×280 (Figma) */
    /* .bt-clover__circle span {
        font-size: 20px;
        line-height: 30px;
    } */

    /* =============================================================
       Ultracol (ultracol.php) — PC 추가 매칭
       ============================================================= */
    /* Task #1 — SECTION 1: 본문(bt-intro-text)과 두 원형 비교 이미지(uc-skin-compare) 사이 50px */
    .uc-skin-compare { margin-top: 50px; }

    /* Task #2a — SECTION 2 uc-vol-section: 풀블리드 + 빈 공간 #F5F5F7 채움
       베이스 룰 line 2613의 `margin: 0 -30px`가 파일 cascade에서 @media min-width: 680px의 풀블리드 margin을 덮으므로 명시 재정의 필요
       이미지 위치는 베이스 룰(line 1045-1054)의 중앙 정렬 그대로 유지 */
    /* .uc-vol-section {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        background: #F5F5F7;
    } */
    /* .uc-vol-section picture {
        background: #F5F5F7;
    } */

    /* Task #3 — SECTION 2 → SECTION 3 → SECTION 4 사이 gap 80px
       uc-content의 flex gap: 150px를 인접 형제에 음수 margin-top으로 보정 */
    /* .uc-vol-section + .uc-gen4 { margin-top: -70px; } */
    /* .uc-gen4 + .bt-standalone-img--fullbleed { margin-top: -70px; } */
/* } */

/* =============================================================
   Healing (healing.php) — 베이스(모바일 포함) 스타일
   ============================================================= */
/* .hl-airshine-block__device { display: block; } */
.pg-data__img {
    width: 65%;
    border-radius: 20px;
    margin: 0 0 20px;
    display: block;
}
/* .pg-therapy-item__circle {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #2c3963;
    margin: 0 0 20px;
}
.pg-therapy-item__circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.5);
    transform-origin: center;
} */
/* .pg-tools__img {
    aspect-ratio: 19 / 10;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.1);
} */
.hl-mechanism__icon {
    width: 200px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    margin-bottom: 20px;
    border: 2px solid rgba(44,57,99,0.3);
}

/* =============================================================
   Healing (healing.php) — PC 데스크톱 전용 Figma 1:1 매칭
   Figma node 186:24 (CONTENTS) 기준. 모바일 영향 없음.
   ============================================================= */
/* @media (min-width: 769px) { */
    /* SECTION 2: 속부터 채워 올리는 — 텍스트 좌측 + 이미지 우측 */


    .hl-checklists .bt-changes-item__text {
        max-width: 270px;
    }


    .hl-healing-intro {
        display: flex;
        flex-direction: row;
        align-items: center;
        /* gap: 280px; */
        /* justify-content: space-between; */
    }
    .hl-healing-intro__text {
        flex: 1;
        min-width: 0;
    }
    .hl-healing-intro__text .uc-title { margin: 0; }
    .hl-healing-intro__text .uc-subtitle { margin: 10px 0 0; max-width: 500px; }
    .hl-healing-intro__text .uc-text { margin: 50px 0 0; max-width: 500px; }
    .hl-healing-intro__img {
        width:40%;
        /* width: 400px;
        height: 400px;
        flex-shrink: 0;
        overflow: hidden; */
    }
    .hl-healing-intro__img img {
        width: 100%;
        /* height: 100%; */
        object-fit: cover;
        display: block;
    }

/* 

.uc-gen4__text {
    width:550px;
    display: flex;
    flex-direction: column;
    gap: 50px;
} */




    /* SECTION 4: 에어샤인 X 울트라콜 시너지 — 2x2 그리드 + 가로 디바이더 */
    .hl-synergy-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0 !important;
        border-top: 1px solid rgba(0,0,0,0.15);
    }
    .hl-synergy-grid .bt-changes-item {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        padding: 50px 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.15) !important;
    }
    .hl-synergy-grid .bt-changes-item:nth-child(2n+1) { padding-right: 30px; }
    .hl-synergy-grid .bt-changes-item:nth-child(2n) { padding-left: 30px; }
    /* 베이스 3열용 :nth-last-child(-n+3) 룰이 2x2에서 item 2/3/4의 border-bottom을 제거하므로 복구 */
    .bt-changes-grid--divider.hl-synergy-grid .bt-changes-item:nth-last-child(-n+3) {
        border-bottom: 1px solid rgba(0,0,0,0.15) !important;
    }
    .hl-synergy-grid .bt-changes-item__icon--circle {
        width: 150px;
        height: 150px;
        border-width: 2px;
        padding: 15px;
        box-sizing: border-box;
    }
    .hl-synergy-grid .bt-changes-item__title {
        font-size: 24px;
        line-height: 36px;
        margin: 0 0 10px;
    }
    .hl-synergy-grid .bt-changes-item .uc-text {
        font-size: 16px;
        line-height: 26px;
        max-width: 500px;
    }

    /* SECTION 3: 울트라콜 배너 — 텍스트 오버레이 (Figma 1440×600 기준) */
    .hl-ultracol-banner {
        position: relative;
        overflow: hidden;
        height: 600px;
        background: linear-gradient(to right, #CFD8D8 50%, #D4EAFB 50%);
    }
    .hl-ultracol-banner picture { display: block; }
    .hl-ultracol-banner__img {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 1440px;
        max-width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .hl-ultracol-banner__content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        padding: 0;
        margin: 0;
        gap: 0;
        display: block;
    }
    .hl-ultracol-banner__text {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%);
        /* margin: 0 !important; */
        max-width: 600px;
        width: 600px;
    }
    .hl-ultracol-banner__text .uc-title { margin: 0; }
    .hl-ultracol-banner__text .uc-subtitle { margin: 10px 0 0; max-width: 500px; }
    .hl-ultracol-banner__text .uc-text { margin: 50px 0 0; max-width: 600px; }

    /* =============================================================
       Pigment (pigment.php) — Figma 943:229 기준 PC 매칭
       ============================================================= */
    /* Section 2: Before/After (Figma 943:313 — gap 50px, oval 300×180) */
    /* .pg-ba-compare { gap: 50px; justify-content: flex-start; margin-top: 50px; } */
    /* .pg-ba-item { flex: none; width: 300px; text-align: center; }
    .pg-ba-img-wrap { width: 300px; height: 180px; border-radius: 90px; }
    .pg-ba-item img { transform: none; object-position: 55% center; } */
    /* .pg-ba-label { margin-top: 8px; font-size: 14px; line-height: 22px; } */
    /* Section 3: gap from After label to h2 = 150px (60px bottom-padding + 90px margin-top) */
    /* .pg-process-section { margin-top: 90px; } */
    .pg-process-sub { font-size: 20px; line-height: 30px; }

/* Section 1: 인트로 — 1440+: 텍스트 좌 + 이미지 우 (Figma 943:917)
    1024~1439: 텍스트 위 + 이미지 아래 (Figma 945:947) */
.pg-intro {
    display: flex;
    flex-direction: row;
    align-items: center;
    /* gap: 130px; */
    justify-content: space-between;
}
/* @media (max-width: 1439px) {
    .pg-intro {
        flex-direction: column !important;
        align-items: flex-start;
        gap: 50px;
    }
} */
.pg-intro__text { 
    /* flex: 1; min-width: 0;  */
    width: 650px;
}

/* .pg-intro__text .uc-title { margin: 0; }
.pg-intro__text .uc-subtitle { margin: 10px 0 0; }
.pg-intro__text .uc-text { margin: 50px 0 0; max-width: 650px; } */
.pg-intro__img {
    width: 400px;
    height: 382px;
    /*flex-shrink: 0;
    overflow: hidden;
    border-radius: 20px; */
}

/* .pg-intro__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    margin: 0 !important;
    display: block;
} */



/* .ls-lifting__text .uc-title { margin: 0; }
.ls-lifting__text .uc-subtitle { margin: 10px 0 0; }
.ls-lifting__text .uc-text { margin: 50px 0 0; max-width: 600px; }
.ls-lifting__img {
    width: 500px;
    height: 410px;
    aspect-ratio: auto;
    flex-shrink: 0;
    margin: 0 !important;

    overflow: hidden;
    border-radius: 10px;
}
.ls-lifting__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
} */







    /* Section 4 DATA — 이미지 좌측(300x200) + 텍스트 우측(550) (Figma 943:323) */
    .pg-data .bt-benefit-item .pg-data__img {
        width: 300px !important;
        height: 200px !important;
        border-radius: 20px;
        object-fit: cover;
        flex-shrink: 0;
        margin: 0 !important;
        display: block;
    }
    .pg-data .bt-benefit-item__text { max-width: 550px; }
    .pg-data .bt-benefit-item .uc-text { max-width: 550px; }

    /* Section 3 PROGRESS — 4-step 회색 박스를 1440+에서도 2x2 유지
       (베이스의 3열 그리드 + 1439px↓에서 2열 변환 룰을 모든 PC에서 2열로 고정) */
.pg-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
}
/* 2열에서의 흰색 디바이더 — 3번째(=row2 col1)는 세로 보더 복구, 짝수(=col2)는 보더 제거,
    마지막 2개(=row2 둘 다)는 가로 보더 제거 */
.bt-changes-grid--gray.bt-changes-grid--divider.pg-process-grid .bt-changes-item:nth-child(3n) {
    border-right: 2px solid rgba(255,255,255,0.7);
}
.bt-changes-grid--gray.bt-changes-grid--divider.pg-process-grid .bt-changes-item:nth-child(2n) {
    border-right: none;
}
.bt-changes-grid--gray.bt-changes-grid--divider.pg-process-grid .bt-changes-item:nth-last-child(-n+3) {
    border-bottom: 2px solid rgba(255,255,255,0.7);
}
.bt-changes-grid--gray.bt-changes-grid--divider.pg-process-grid .bt-changes-item:nth-last-child(-n+2) {
    border-bottom: none;
}

.pg-process-grid .bt-changes-item__text {
    max-width:360px;
}

    /* Section 5 THERAPHY — 2x2 그리드 (Figma 943:336 gap-140 col, gap-50 row) */
.pg-therapy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    /* column-gap: 140px;
    row-gap: 50px; */
}
/* .pg-therapy-item { text-align: left; } */
.pg-therapy-item__circle {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #000;
    margin: 0 0 30px;
}
.pg-therapy-item__circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.5);
    transform-origin: center;
    display: block;
}
.pg-therapy-item .bt-benefit-item__title {
    font-size: 24px;
    line-height: 36px;
    margin: 0 0 10px;
}
.pg-therapy-item .uc-text { max-width: 450px; }

    /* Section 7 TOOLS — 4 장비 카드 교차 (image-text / text-image), 이미지 550x300 */
.pg-tools .bt-step-card { gap: 0; align-items: center; justify-content: space-between;}
.pg-tools .bt-step-card:nth-child(2) { /*gap: 190px;*/ gap: 0;}
.pg-tools .bt-step-card:nth-child(4) { flex-direction: row-reverse; /*gap: 190px;*/ }
.pg-tools .bt-step-card__img.pg-tools__img {
    width: 550px;
    height: 300px;
    aspect-ratio: auto;
    border-radius: 20px;
    border: 2px solid rgba(0,0,0,0.1);
    object-fit: cover;
    flex-shrink: 0;
}
.pg-tools .bt-step-card__text { flex: 0 0 auto; margin-right:30px;}
.pg-tools .bt-step-card__text .uc-title {
    font-size: 28px;
    line-height: 40px;
    /* margin: 0; */
}
.pg-tools .bt-step-card__text .uc-text {
    margin: 20px 0 0;
    max-width: 440px;
    /* line-height: 26px; */
}

/* SECTION 4/7: 디바이스 분할 섹션 (유펄스 / 에어샤인) — 카드형 이미지 + 텍스트 컬럼 */
.hl-device-split {
    display: flex;
    align-items: center;
    gap: 60px;
}
.hl-device-split__media {
    flex: 1;
    align-self: stretch;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hl-device-split__media img {
    max-width: 100%;
    max-height: 604px;
    object-fit: contain;
    display: block;
}
.hl-device-split__body {
    flex: 1;
    min-width: 0;
}
.hl-device-split__body .uc-title { margin: 0; }
.hl-device-split__body .bt-intro-text {
    margin-top: 50px;
    max-width: 600px;
}
.hl-device-split__body .bt-benefit-list { margin-top: 50px; gap: 50px; }
.hl-device-split__body .bt-benefit-item__title { font-size: 24px; line-height: 36px; margin: 0; }
.hl-device-split__body .bt-benefit-item .uc-text { margin-top: 10px; }
.hl-device-split .hl-airshine-why { margin-top: 80px; }

/* SECTION 5: 에버클 PLLA 풀폭 배너 (Figma 1440×600, 사이드 #F5F5F5) */
.hl-evercl-banner {
    position: relative;
    overflow: hidden;
    height: 600px;
    background: #F5F5F5;
}
.hl-evercl-banner__img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1440px;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.hl-evercl-banner__text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: max(50px, calc(50% - 590px));
    width: 560px;
    z-index: 1;
}
.hl-evercl-banner__text .uc-title { margin: 0; }
.hl-evercl-banner__text .uc-subtitle { margin: 10px 0 0; }
.hl-evercl-banner__text .uc-text { margin: 50px 0 0; max-width: 520px; }

    /* Section 6: 에어샤인 핵심 메커니즘 (Figma 585:101) — PC 초기화 + 레이아웃 */
    .hl-airshine-mech { margin-top: 0; }
    .hl-airshine-mech .uc-title { margin: 0; }
    .hl-airshine-mech .hl-mechanism {
        margin-top: 50px;
        gap: 50px;
        border-top: none;
    }
    .hl-airshine-mech .hl-mechanism .bt-benefit-item {
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 50px;
        border-bottom: none;
    }
    .hl-mechanism .bt-benefit-item .hl-mechanism__icon {
        width: 280px;
        height: 280px;
        border-radius: 50%;
        border: 1px solid rgba(44,57,99,0.3);
        object-fit: cover;
        flex-shrink: 0;
        margin: 0;
        box-sizing: border-box;
    }
    .hl-mechanism .bt-benefit-item__title { font-size: 24px; line-height: 36px; margin: 0; }
    .hl-mechanism .bt-benefit-item__text { max-width: 720px; gap: 10px; }

    /* Section 7: 왜 에어샤인이어야? (Figma 585:120) */
    .hl-airshine-why .uc-title { margin: 0; }
    .hl-airshine-why .bt-benefit-list { margin-top: 50px; gap: 50px; }
    .hl-airshine-why .bt-benefit-item__title { font-size: 24px; line-height: 36px; margin: 0; }
    .hl-airshine-why .bt-benefit-item .uc-text { margin-top: 10px; /*max-width: 600px;*/ }

    /* Story: pg-title → pg-text 간격 50px (Figma 351:23) */
    .pg-text.st-text--wide { margin-top: 50px; }

    /* Story: 평생의 파트너 섹션 (Figma 354:301) */
    /* .st-partner { display: flex; flex-direction: column; gap: 50px; }
    .st-partner .st-divider { margin: 0; height: 1px; }
    .st-divider--inner { display: none; }
    .st-partner__row { display: flex; justify-content: space-between; align-items: flex-start; }
    .st-partner__item { width: 590px; flex-shrink: 0; }
    .st-partner__heading { font-size: 24px; line-height: 36px; margin: 0 0 10px; }
    .st-partner__item .pg-text { max-width: 440px; } */

    /* Doctor: 의사 프로필 PC (Figma 354:364) */
    /* .dr-profile { gap: 50px; }
    .dr-profile__photo { height: 1100px; border-radius: 20px; }
    .dr-profile__credentials {
        display: flex;
        top: 100px;
        left: 100px;
        right: auto;
        bottom: auto;
        background: none;
        backdrop-filter: none;
        border-radius: 0;
        padding: 0;
        gap: 30px;
    } */
    /* .dr-cred-group { display: flex; flex-direction: column; gap: 5px; }
    .dr-cred-group p { font-size: 16px; line-height: 26px; color: rgba(0,0,0,0.7); }
    .dr-profile__intro { gap: 50px; }
    .dr-profile__intro .pg-title { font-size: 36px; line-height: 50px; }
    .dr-profile__intro .pg-text { max-width: 600px; }
    .dr-profile__intro .dr-profile__divider { display: none; }
    .dr-profile__intro .dr-profile__career { display: none; } */
/* } */


/* new */
/* @media (min-width: 1280px) {
    .idx-event__info {padding: 70px;}
    .idx-doctors__info {padding: 70px;}
} */

@media (min-width: 1200px) {
    .idx-event__info {padding-left: 70px;}
    .idx-doctors__info {padding-left: 70px;}
    .bt-intro-row {display: flex; align-items: flex-start;}
    .bt-pharma-logo {margin-top: 0;}
    .bt-benefit-row .bt-full-img {width: 500px; height: 500px;}
    .rj-bubble__img {width: 500px; height: 500px;}
    .uc-gen4__img {width: 520px;  height: 500px; display:flex; align-items: center;}
    .hl-healing-intro__img {width: 400px; height: 400px;}

    .bt-product-block--right .bt-product-block__text::before {width: 500px;}


}


/* @media (max-width: 1439px) {
    .rj-changes-grid .bt-changes-item {
        flex-direction: column !important;
        align-items: flex-start;
        gap: 30px;
    }
} */

@media (max-width: 1200px) {
    .bt-changes-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-child(3n) {border-right: 2px solid rgba(255,255,255,0.7);}
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-child(2n) {border-right: none;}
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-last-child(-n+3) {border-bottom: 2px solid rgba(255,255,255,0.7);}
    .bt-changes-grid--gray.bt-changes-grid--divider .bt-changes-item:nth-last-child(-n+2) {border-bottom: none;}

    .bt-step-card__img {width: 33%; height:auto;}
    .bt-step-card {gap: 70px;}
    .bt-step-card:nth-child(2) {gap: 70px;}

    .rj-intro {flex-direction: column; align-items: flex-start; gap: 50px;}


    .rj-changes-grid .bt-changes-item {flex-direction: column !important; align-items: flex-start; gap: 30px;}

    .ls-lifting {flex-direction: column; align-items: flex-start; gap: 50px;}
    .ls-faith {flex-direction: column !important; gap: 50px;}

    .pg-intro {flex-direction: column; align-items: flex-start; gap: 50px;}

    .pg-therapy-grid {grid-template-columns: repeat(1, 1fr) !important;}
    .pg-therapy-item.bt-benefit-item {
        display:grid;
        grid-template-columns:200px 1fr;
        grid-template-areas:
        "a b"
        "a c";
        gap:0 50px;
    }
    .pg-therapy-item__circle {grid-area:a; margin:0;}
    .pg-therapy-grid .bt-benefit-item__title {grid-area:b; display:flex; align-items:end;}
    .pg-therapy-grid .uc-text {grid-area:c; }
    

    .pg-tools .bt-step-card__img.pg-tools__img {width: 49%; height: auto;}

    .pg-tools .bt-step-card__text {margin-right:0;}

    /* .menu-content {
        display: block;
        margin:0 auto;
        padding:0 20px;
    } */
}

@media (max-width: 1300px) {
    .menu-nav {flex-direction: column;gap: 70px;}
}



@media (min-width: 1600px) {
    .idx-hero__sub,
    .idx-hero__title h1 {
        font-size: 66px;
        line-height: 90px;
    }
}


@media (max-width: 1024px) {
    .idx-hero__sub,
    .idx-hero__title h1 {
        font-size: 36px;
        line-height: 50px;
    }
    .idx-hero__desc {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 10px;
    }

    .idx-hero .idx-link {
        font-size: 16px;
        line-height: normal;
    }
}


/* rejuran 제품섹션(--stacked): row로 흩어진 --right 텍스트를 우측 단일 컬럼으로, 텍스트 폭 Figma 기준 제한 (birth --birth 패턴과 동일) */
@media (min-width: 680px) {
    .bt-product-section--stacked .bt-product-block--left .bt-product-block__text > * {
        max-width: 500px;
    }
    .bt-product-section--stacked .bt-product-block--right .bt-product-block__text {
        flex-direction: column;
        align-items: flex-end;
        gap: 0;
    }
    .bt-product-section--stacked .bt-product-block--right .bt-product-block__text::before { display: none; content: none; }
    .bt-product-section--stacked .bt-product-block--right .bt-product-block__text > * {
        width: 50%;
        max-width: 520px;
    }
}
