@charset "UTF-8";

/* ================================================================
   1440px ÀÌÇÏ (PC Á¼Àº È­¸é ~ ³ëÆ®ºÏ)
================================================================ */
@media screen and (max-width: 1440px) {
    :root {
        --side-padding: 34px;
    }

    .logo { flex-basis: 165px; }
    .logo img, .all-menu__logo img { width: 150px; }
    .gnb-link { padding: 0 12px; font-size: 13px; }
    .gnb-link::after { right: 12px; left: 12px; }
    .header-util { gap: 13px; margin-left: 18px; }

    /* Signature & Premium */
    .signature-side { min-width: 470px; padding-left: 60px; }
    .signature-content { width: calc(100% - 470px); }
    .signature-tab-wrap { width: 340px; }
    .premium-laser__inner { width: min(100% - 100px, 1320px); }
    .premium-laser__slider { padding: 0 58px; }

    /* Main Sections */
    .main-youtube__inner { width: min(100% - 100px, 1320px); }
    .main-youtube__body { grid-template-columns: minmax(0, 1fr) 330px; }
    .main-youtube__player { width: 100%; height: auto; aspect-ratio: 1000 / 563; }
    .location-inner, .footer-inner { width: min(100% - 80px, 1320px); }
    .location-inner { gap: 50px; }
    .location-map { flex-basis: 640px; width: 640px; }

    /* Why RootTheme */
    .why-roottheme-section { --why-inner-width: 1200px; }
    .why-roottheme-swiper { height: 620px; }
    .why-roottheme-title { top: 120px; font-size: 54px; }
    .why-roottheme-inner { padding: 90px 100px 0; }
    .why-roottheme-content { max-width: 800px; margin-top: 80px; }
    .why-roottheme-num { margin-bottom: 20px; font-size: 52px; }
    .why-roottheme-sub { font-size: 28px; }
    .why-roottheme-main { font-size: 58px; }
}

/* ================================================================
   1200px ÀÌÇÏ (ÅÂºí¸´ °¡·Î)
================================================================ */
@media screen and (max-width: 1200px) {
    :root {
        --header-height: 70px;
        --side-padding: 26px;
    }
    
		.main-popup-group {
        top: 90px;
        right: 24px;
        left: 24px;

        gap: 16px;

        max-height: calc(100vh - 120px);
    }

    .main-layer-popup {
        /*
         * ¿ø·¡ ¼³Á¤ÇÑ Å©±â¸¦ ÃÖ´ëÇÑ À¯ÁöÇÏµÇ
         * È­¸éº¸´Ù Ä¿Áö´Â °Í¸¸ ¹æÁö
         */
        max-width: calc(100vw - 48px);
    }
    
    .gnb { display: none; }
    .header-util { margin-left: auto; }
    .all-menu__head, .all-menu__body, .all-menu__foot { width: min(100% - 52px, 1080px); }
    .all-menu__body { grid-template-columns: 1fr; gap: 48px; }
    .all-menu__intro { display: none; }
    .all-menu__grid { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
    .main-visual { min-height: 620px; }

    /* Signature */
    .main-signature { height: auto; padding: 95px 0 100px; }
    .signature-layout { display: block; }
    .signature-side { width: calc(100% - 64px); min-width: 0; height: auto; margin: 0 auto 45px; padding: 0; }
    .signature-kor { font-size: 21px; text-align: center; }
    .signature-title { font-size: 50px; text-align: center; }
    .signature-tab-wrap { width: 100%; margin-top: 42px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .signature-tab-list { flex-direction: row; gap: 10px; min-width: max-content; padding-bottom: 8px; }
    .signature-tab { justify-content: center; width: auto; min-width: 170px; height: 54px; padding: 0 22px; border: 1px solid rgba(48, 50, 58, 0.25); border-radius: 999px; font-size: 18px; }
    .signature-tab:first-child { border-top: 1px solid rgba(48, 50, 58, 0.25); }
    .signature-tab::before, .signature-tab__view { display: none; }
    .signature-tab.is-active { border-width: 1px; border-color: #C6A66A; background: #C6A66A; color: #fff; }
    .signature-content { position: relative; top: auto; right: auto; width: calc(100% - 64px); height: auto; margin: 0 auto; }
    .signature-slide { height: 520px; border-radius: 70px; background-position: center center; }
    .signature-slide__text { width: 390px; padding-top: 105px; padding-left: 58px; }
    .signature-slide__title { font-size: 42px; }
    .signature-slide__desc { font-size: 16px; }
    .signature-slide__btn { margin-top: 48px; }

    /* Main Sub Sections */
    .premium-laser { padding: 85px 0 95px; }
    .premium-laser__inner { width: calc(100% - 64px); }
    .premium-laser__title { margin-bottom: 48px; font-size: 50px; }
    .premium-laser__slider { padding: 0 50px; }
    .main-doctors { height: 580px; }
    .main-doctors__image { width: 1080px; }
    .main-doctors__title { font-size: 50px; }
    .main-doctors__lead, .main-doctors__text { font-size: 18px; }
    .main-youtube { padding: 95px 0 105px; }
    .main-youtube__inner { width: calc(100% - 64px); }
    .main-youtube__body { grid-template-columns: 1fr; gap: 28px; }
    .main-youtube__side, .main-youtube__list { height: 360px; }
    .youtube-item__button { grid-template-columns: 180px 1fr; }
    .youtube-item__thumb { width: 180px; height: 101px; }

    /* Footer & Location */
    .location-section { padding: 95px 0 90px; }
    .location-inner { display: block; width: calc(100% - 64px); }
    .location-map { width: 100%; height: 445px; margin-bottom: 55px; }
    .location-info { padding-top: 0; }
    .location-heading { align-items: flex-start; }
    .footer-inner { width: calc(100% - 64px); flex-wrap: wrap; gap: 24px 0; }
    .footer-logo { flex-basis: 100%; }
    .footer-policy { width: 100%; margin-left: 0; }
    
    /* Sub */
    .sub-visual { --sub-visual-height: 470px; }
    .sub-visual__inner { width: min(100% - 60px, 1100px); }
    .sub-visual__title { font-size: 50px; }
    .treat-text-list { grid-template-columns: repeat(3, 1fr); }
    
    /* Tattoo Case */
    .tattoo-wrap { gap: 40px; }
    .tattoo-prev { left: 10px; background: rgba(255,255,255,0.8); }
    .tattoo-next { right: 10px; }
}

/* ================================================================
   1024px ÀÌÇÏ (ÅÂºí¸´ ¼¼·Î)
================================================================ */
@media screen and (max-width: 1024px) {
    /* Why RootTheme */
    .why-roottheme-section { --why-inner-width: 100%; }
    .why-roottheme-swiper { height: 540px; }
    .why-roottheme-title { top: 90px; padding: 0 70px; font-size: 43px; }
    .why-roottheme-inner { padding: 80px 80px 0; }
    .why-roottheme-content { max-width: 680px; margin-top: 70px; }
    .why-roottheme-num { margin-bottom: 18px; font-size: 44px; }
    .why-roottheme-sub { font-size: 24px; }
    .why-roottheme-main { font-size: 48px; }
    .why-roottheme-pagination, .why-roottheme-pagination.swiper-pagination-horizontal { left: 32px !important; }
    .why-roottheme-pagination .swiper-pagination-bullet { width: 14px; height: 14px; }
    
    /* Sub Visual & Elements */
    .sub-visual { --sub-visual-height: 440px; }
    .sub-visual__breadcrumb { font-size: 17px; }
    .sub-visual__home { width: 48px; height: 48px; margin-right: 22px; }
    .sub-visual__separator { margin: 0 24px; }
    .sub-visual__current { gap: 21px; }
    .sub-visual__title { margin-top: 24px; font-size: 46px; }
    
    .desc-sec .img-box { 
        height: auto !important; 
    }
    .desc-sec .img-box img {
        width: 100%;
        height: auto;
        display: block; /* ÀÌ¹ÌÁö ÇÏ´ÜÀÇ ¹Ì¼¼ÇÑ ±âº» ¿©¹é Á¦°Å */
    }
    
    .intro-left {
        height: auto !important; 
    }
    .intro-left img {
        width: 100%;
        height: auto;
        display: block; 
    }
    
    /* Grids & Wraps -> Column conversion */
    .causes-left { flex: 1 1 100%; text-align: center; }
    .youtube-swiper .swiper-slide { width: 75%; }
    .youtube-arrow-wrap { width: 75%; } 
    .youtube-arrow--prev { left: -30px; }
    .youtube-arrow--next { right: -30px; }
    
    .intro-wrap { flex-direction: column; gap: 40px; }
    .intro-left { flex: none; width: 100%; max-width: 600px; margin: 0 auto; }
    .intro-right { text-align: center; }
    .intro-right h2 strong { font-size: 32px; }

    .adv-list { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .target-wrap { gap: 40px; }
    .target-title { font-size: 32px; margin-bottom: 30px; }  
    
    .pre-check-wrap { margin: 0 20px; padding: 50px 40px; } 
    .peel-type-item { gap: 40px; margin-bottom: 60px; }
    .peel-title { font-size: 28px; margin-bottom: 14px; }  
    
    .step-slider-wrap { padding: 0; }
    .step-slider-wrap .step-prev { left: 20px; }
    .step-slider-wrap .step-next { right: 20px; }
    .step-slider-wrap .step-prev, .step-slider-wrap .step-next { background: rgba(255, 255, 255, 0.9); box-shadow: 0 4px 10px rgba(0,0,0,0.1); }  
    
    .benefit-list { gap: 20px; }
    .benefit-list li { width: 130px; height: 130px; font-size: 16px; }   
    
    .darkcircle-tabs li { font-size: 16px; height: 55px; }
    .treatment-cards .card { padding: 40px 25px; }  
    
    .pigment-contents .tab-pane { flex-direction: column; gap: 40px; }
    .pig-img-box { flex: none; width: 100%; max-width: 600px; margin: 0 auto; }
    .pig-text-box { width: 100%; }
    
    .lunula-target-list { grid-template-columns: repeat(2, 1fr); gap: 40px 20px; }     
    .handpiece-list { grid-template-columns: repeat(2, 1fr); gap: 50px 30px; } 
    
    .virtue-block { flex-direction: column; align-items: center; gap: 40px; padding: 40px 40px 0 40px; }
    .vb-img { flex: none; width: 100%; max-width: 300px; }
    .vb-content { width: 100%; padding-bottom: 40px; }
    
    .lang-menu-wrap { width: calc(100% - 40px); }
    .fcs-list { padding: 0 20px; }
    .dept-grid { grid-template-columns: repeat(2, 1fr); gap: 60px 30px; }
    
    .programs-wrap { gap: 60px; }
    .program-item { gap: 40px; }
    .prog-img { flex: 0 0 45%; }
    
    /* New specific components */
    .pig-row { flex-direction: column; align-items: center; gap: 40px; }
    .stemcell-step-wrap { flex-direction: column; gap: 20px; max-width: 400px; }
    .stemcell-step-wrap .step-box { width: 100%; padding: 35px 20px; }
    .stemcell-step-wrap .step-arrow { transform: rotate(90deg); margin: 5px 0; }
    .stemcell-step-wrap .step-arrow .material-symbols-outlined { margin-left: 0; margin-bottom: 2px; }
    
    .effect-wrap { gap: 50px; }
    .ap-wrap { flex-direction: column; gap: 50px; }
    .ap-video-area { flex: none; width: 100%; max-width: 600px; margin: 0 auto; }
    .ap-bg-img { right: 0; bottom: 0; width: 350px; opacity: 0.15; }
    
    .shorts-slider-wrap { padding: 0 50px; }
    .shorts-prev { left: -10px; }
    .shorts-next { right: -10px; }
    
    .tattoo-wrap { flex-direction: column; align-items: center; gap: 40px; }
    .tattoo-tabs-area { width: 100%; overflow-x: auto; padding-bottom: 10px; margin-right: 0; }
    .tattoo-tabs { flex-direction: row; justify-content: center; min-width: max-content; margin: 0 auto; }
    
    .dp-wrap { flex-direction: column; align-items: center; gap: 50px; }
    .dp-img-area { flex: none; width: 100%; max-width: 450px; }
    .dp-title-wrap { justify-content: center; }
    
    .dp-compare-wrap { flex-direction: column; gap: 60px; }
    .dp-compare-box { width: 100%; }
    
    
    /* ´«¹ØÁö¹æ ÇÁ·Î±×·¥ ÅÂºí¸´ */
    .eye-program-wrap {
        gap: 20px;
    }
    .ep-title {
        font-size: 16px;
        padding: 12px 10px;
        max-width: 100%;
    }
    .ep-desc {
        font-size: 15px;
    }
    
    .surgery-info-wrap {
        flex-wrap: wrap; /* Ä«µå°¡ Á¼¾ÆÁö¸é ¾Æ·¡·Î ¶³¾îÁöµµ·Ï ¼³Á¤ */
        gap: 15px;
    }
    .si-card {
        flex: 1 1 calc(33.333% - 15px); /* 1ÁÙ¿¡ 3°³¾¿ ¹èÄ¡ */
        min-width: 200px;
        padding: 35px 15px;
    }
    
    .surgery-step-wrap {
        gap: 15px;
        margin-bottom: 40px;
    }
    .ec-box {
        padding: 80px 40px 60px;
    }
    .ec-divider {
        margin: 0 30px;
    }
    .ec-badge {
        font-size: 24px;
        padding: 14px 45px;
    }
    
    /* ÇùÈ¸ ¼Ò°³ ÅÂºí¸´ */
    .assoc-top-wrap {
        padding: 50px 40px;
    }
    .assoc-content {
        max-width: 450px;
    }
    .assoc-title {
        font-size: 32px;
    }
    .assoc-bottom-wrap {
        gap: 15px;
        flex-wrap: wrap; /* ÅÂºí¸´ °¡·Î Æø¿¡ ¸ÂÃç µÎ ÁÙ·Î º¯°æ */
    }
    .seminar-card {
        flex: 1 1 calc(50% - 15px);
    }
    /* ÇÐÈ¸/ÇÐ¼ú ¹è³Ê ¹× ÆË¾÷ ÅÂºí¸´ */
    .thesis-banner-wrap {
        padding: 35px 40px;
    }
    .tp-content {
        padding: 30px;
    }
    
}

/* ================================================================
   900px ÀÌÇÏ (¸ð¹ÙÀÏ °¡·Î ~ ¼ÒÇü ÅÂºí¸´)
================================================================ */
@media screen and (max-width: 900px) {
    .all-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .all-menu__foot { justify-content: space-between; }
    
    .quick-menu { right: 14px; width: 64px; border-radius: 32px; }
    .quick-phone { min-height: 88px; }
    .quick-menu li a { min-height: 54px; }
    
    /* Info & Doctors */
    .intro-vision { height: 1000px; padding: 40px 20px; }
    .intro-about { padding: 80px 20px; }
    .intro-vision .vision-title { font-size: 32px; }
    .about-text .title { font-size: 36px; }
    .intro-about .inner { flex-direction: column; gap: 50px; }
    
    .doctor-wrap { width: 95%; }
    .doctor-profile { flex-direction: column; gap: 40px; align-items: center; }
    .doc-img { flex: auto; width: 100%; max-width: 420px; }
    .doc-info { width: 100%; padding-top: 0; text-align: left; }
    
    .sub-clinic-info { height: auto; min-height: 600px; padding: 80px 20px; }
    .sub-clinic-inner { flex-direction: column; align-items: center; text-align: center; gap: 60px; }
    .contact-title, .schedule-title { font-size: 20px; margin-bottom: 15px; }
    .contact-tel { font-size: 44px; }
    .schedule-item { grid-template-columns: 85px minmax(0, 1fr); column-gap: 15px; text-align: left; }
    .schedule-item dt { min-width: 85px; height: 32px; font-size: 14px; }
    .schedule-item dd { font-size: 17px; }
    .schedule-item--closed dd { font-size: 15px; }
    
    /* Hospital View */
    .hos-view-section { padding: 40px 0; }
    .hos-view-swiper .swiper-slide { width: 80%; height: auto; aspect-ratio: 800 / 530; }
    .hos-view__arrow--prev { left: 10px; margin-left: 0; }
    .hos-view__arrow--next { right: 10px; margin-right: 0; }
    
    /* Q&A & Others */
    .qa-only-wrap .qa-list-area { gap: 40px; }
    .lunula-adv-wrap { flex-direction: column; gap: 40px; }
    .lunula-adv-img { order: -1; max-width: 280px; }
    .lunula-adv-list { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 20px; }
    .lunula-adv-list li { width: 130px; height: 130px; font-size: 15px; }
    
    /* Signatures & Sub items */
    .main-signature { padding: 80px 0 85px; }
    .signature-side, .signature-content { width: calc(100% - 44px); }
    .signature-title { font-size: 44px; }
    .signature-slide { height: 480px; border-radius: 48px; background-position: 60% center; }
    .signature-slide__text { width: 350px; padding-top: 82px; padding-left: 42px; }
    .signature-slide__title { font-size: 38px; }
    .signature-slide__btn { width: 175px; height: 44px; padding: 0 24px 0 38px; }

    .premium-laser__inner { width: calc(100% - 44px); }
    .premium-laser__slider { padding: 0; }
    .premium-laser__arrow { display: none; }
    .premium-laser-slide { width: 230px; }
    .premium-laser-card__image { width: 230px; height: 290px; }

    .main-doctors { height: 520px; }
    .main-doctors__image { width: 940px; left: 52%; }
    .main-doctors__content { width: calc(100% - 44px); }
    .main-doctors__title { font-size: 42px; }
    .main-doctors__lead, .main-doctors__text { font-size: 16px; }

    .main-youtube__inner { width: calc(100% - 44px); }
    .main-youtube__head { margin-bottom: 38px; }
    .main-youtube__title { gap: 14px; font-size: 44px; }
    .youtube-mark { width: 54px; height: 38px; border-radius: 10px; }
    .main-youtube__channel { width: 180px; height: 44px; font-size: 16px; }
    .youtube-item__button { grid-template-columns: 150px 1fr; }
    .youtube-item__thumb { width: 150px; height: 84px; }

    .location-inner, .footer-inner { width: calc(100% - 44px); }
    .location-heading { display: block; }
    .location-title { margin-bottom: 14px; }
    .location-map { height: 360px; }
    .location-map .root_daum_roughmap, .location-map .root_daum_roughmap .wrap_map { height: 360px !important; }
    
    .info-flex-wrap, .qa-flex-wrap { flex-direction: column; gap: 40px; }
    .info-text-area .sec-title, .qa-list-area .sec-title { text-align: center !important; }
    .info-dl .item { flex-direction: column; align-items: center; gap: 12px; text-align: center; }
    .info-dl dt { width: 140px; flex: none; }
    .info-dl dd { padding-top: 0; }
    
    .qa-item { text-align: center; }
    .qa-item dt { margin: 0 auto 15px auto; display: table; }
    .qa-item dd { padding-left: 0; }
    .info-img-area, .qa-img-area { width: 100%; max-width: 300px; margin: 0 auto; }
    
    .adv-pill-list li { font-size: 15px; padding: 16px 20px; }
    .adv-list-3 { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .treat-text-list { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    
    .point-list li { flex-direction: column; align-items: flex-start; border-radius: 20px; padding: 25px 30px; }
    .point-list .pt-title { flex: none; width: 100%; text-align: left; border-right: none; border-bottom: 1px solid #e0e0e0; padding-right: 0; margin-right: 0; padding-bottom: 15px; margin-bottom: 15px; font-size: 18px; }
    .point-list .pt-desc { font-size: 16px; }
}

/* ================================================================
   768px ÀÌÇÏ (¸ð¹ÙÀÏ ¼¼·Î ±âº»)
================================================================ */
@media screen and (max-width: 768px) {
    :root {
        --header-height: 64px;
        --side-padding: 20px;
    }
    body {
        font-size: 15px;
        padding-bottom: calc(82px + env(safe-area-inset-bottom));
    }
    
    /* Header & Nav */
    .logo, .logo img, .all-menu__logo img { width: 140px; }
    .logo { flex-basis: auto; }
    .lang-link { display: none; }
    .all-menu__head, .all-menu__body, .all-menu__foot { width: calc(100% - 40px); }
    .all-menu__body { padding: 38px 0 50px; }
    .all-menu__grid { grid-template-columns: 1fr; gap: 30px; }
    .all-menu__group-title { margin-bottom: 10px; font-size: 18px; }
    .all-menu__sub-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 18px; padding-top: 12px; }
    .all-menu__sub-list li + li { margin-top: 0; }
    .all-menu__foot { flex-direction: column; align-items: flex-start; gap: 8px; }

    /* Visual & Quick Menu */
    .main-visual { min-height: 580px; height: 100svh; }
    .visual-inner { width: calc(100% - 44px); }
    .visual-eyebrow { font-size: 10px; }
    .visual-title { font-size: clamp(32px, 9vw, 46px); }
    .visual-text { margin-top: 23px; font-size: 14px; }
    .visual-media { inset: var(--header-height) 0 0; }
    .visual-scroll { display: none; }

    .quick-menu {
        display: block; position: fixed; top: auto; right: 0; bottom: 0; left: 0;
        z-index: 1900; width: 100%; height: auto; overflow: visible;
        border: 0; border-top: 1px solid #b9bbc2; border-radius: 0; background: #dcdde3;
        box-shadow: 0 -5px 18px rgba(34, 36, 42, 0.12);
        -webkit-backdrop-filter: none; backdrop-filter: none; transform: none !important;
    }
    .quick-menu .quick-phone, .quick-menu .quick-top { display: none; }
    .quick-menu > ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; margin: 0; padding: 0 0 env(safe-area-inset-bottom); list-style: none; }
    .quick-menu li { min-width: 0; border: 0; border-right: 1px solid rgba(122, 125, 135, 0.55); border-bottom: 0; }
    .quick-menu li:last-child { border-right: 0; }
    .quick-menu li a { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 82px; padding: 8px 3px 7px; background: transparent; color: #30323a; font-size: 12px; font-weight: 500; text-align: center; }
    .quick-menu li a:hover, .quick-menu li a:focus-visible { background: rgba(255, 255, 255, 0.45); color: #30323a; }
    .quick-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 34px; margin-bottom: 4px; color: #30323a; }
    .quick-icon--img img { display: block; width: 38px; height: 34px; object-fit: contain; }
    .quick-icon--material { font-size: 34px; }
    body.is-all-menu-open .quick-menu { opacity: 0; visibility: hidden; pointer-events: none; }
		
		.main-popup-group {
        top: 50%;
        right: auto;
        left: 50%;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        width: calc(100% - 40px);
        max-width: 500px;
        max-height: calc(100svh - 100px);
        gap: 18px;
        padding-bottom: 18px;
        overflow-x: hidden;
        overflow-y: auto;
        transform: translate(-50%, -50%);
        -webkit-overflow-scrolling: touch;
    }

    .main-layer-popup {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .main-layer-popup__footer,
    .main-layer-popup__footer button {
        height: 50px;
    }

    .main-layer-popup__footer button {
        font-size: 13px;
    }
    
		
		/* 1. Å¸ÀÌÆ² ±Û¾¾ Å©±â Ãà¼Ò */
    .desc-sec h2 { 
        font-size: 26px; /* ±âÁ¸ 40px¿¡¼­ ¸ð¹ÙÀÏ¿¡ ¸Â°Ô Ãà¼Ò */
        line-height: 1.4;
        word-break: keep-all; /* ´Ü¾î ´ÜÀ§·Î ÁÙ¹Ù²Þ À¯Áö */
    }
    .desc-sec p.sub-title { 
        font-size: 22px; /* ±âÁ¸ 40px¿¡¼­ Ãà¼Ò */
        line-height: 1.4;
        word-break: keep-all;
    }

    /* 2. ÀÌ¹ÌÁö ¹Ú½º ÇÏ´Ü ºó °ø°£(È¸»ö ¹è°æ) Á¦°Å */
    .desc-sec .img-box { 
        height: auto; /* °íÁ¤ ³ôÀÌ¸¦ ÇØÁ¦ÇÏ¿© ÀÌ¹ÌÁö ³ôÀÌ¿¡ µü ¸Â°Ô ÀÚµ¿ Á¶Àý */
    }
    .desc-sec .img-box img {
        width: 100%;
        height: auto;
        display: block; /* ÀÌ¹ÌÁö ÇÏ´ÜÀÇ ¹Ì¼¼ÇÑ ±âº» ¿©¹é Á¦°Å */
    }
		
    /* Doctors & Map */
    .doctor-tabs { flex-wrap: wrap; }
    .doctor-tabs li { flex: 0 0 calc(50% - 5px); height: 50px; font-size: 15px; }
    .doc-name { font-size: 36px; margin-bottom: 30px; }
    .doc-name span { font-size: 26px; }
    .doc-history li { font-size: 14px; line-height: 1.8; }
    .map-box .root_daum_roughmap, .map-box .root_daum_roughmap .wrap_map { height: 360px !important; }
    .direction-tabs { gap: 5px; margin-bottom: 30px; }
    .direction-tabs li { font-size: 14px; height: 50px; }
    .tab-pane { flex-direction: column; align-items: center; gap: 30px; padding: 0; }
    .pane-icon .material-symbols-outlined { font-size: 60px; }
    .pane-info .info-list li { align-items: flex-start; flex-direction: column; gap: 8px; }

    /* Darkcircle & Cards */
    .darkcircle-tabs { flex-direction: column; gap: 10px; align-items: center; }
    .darkcircle-tabs li { width: 100%; max-width: 100%; height: 50px; font-size: 15px; }
    .treatment-cards { flex-direction: column; gap: 20px; }
    .treatment-cards .card { min-width: 100%; max-width: 100%; padding: 35px 20px; }
    .darkcircle-contents .tab-desc { font-size: 14px; margin-bottom: 30px; padding: 0 10px; }
    .lunula-target-list .desc { font-size: 16px; margin-bottom: 0; }

    /* Main Re-adjustments */
    .main-signature { padding: 70px 0 76px; }
    .signature-kor { font-size: 18px; }
    .signature-title { font-size: 38px; }
    .signature-tab-wrap { margin-top: 34px; }
    .signature-tab { min-width: auto; height: 46px; padding: 0 18px; font-size: 15px; }
    .signature-slide { height: 430px; border-radius: 34px; background-position: 68% center; }
    .signature-slide__text { width: 280px; padding-top: 58px; padding-left: 28px; }
    .signature-slide__title { font-size: 31px; }
    .signature-slide__desc { margin-top: 20px; font-size: 14px; line-height: 1.65; }
    .signature-slide__btn { width: 145px; height: 40px; margin-top: 34px; padding: 0 20px 0 30px; font-size: 13px; }
    
    .premium-laser { padding: 70px 0 78px; }
    .premium-laser__title { margin-bottom: 36px; font-size: 38px; }
    .premium-laser-slide { width: 205px; }
    .premium-laser-card__image { width: 205px; height: 250px; }
    .premium-laser-card__title { margin-top: 20px; font-size: 19px; }
    .premium-laser-card__desc { font-size: 14px; }

    .main-doctors { height: 480px; }
    .main-doctors__image { width: 820px; left: 54%; opacity: 0.9; }
    .main-doctors__content { top: 43%; width: calc(100% - 40px); transform: translate(-50%, -50%); }
    .main-doctors__title { font-size: 36px; }
    .main-doctors__lead { margin-top: 20px; font-size: 15px; }
    .main-doctors__text { font-size: 15px; line-height: 1.65; }
    .main-doctors__text br { display: none; }

    .main-youtube { padding: 72px 0 82px; }
    .main-youtube__head { display: block; }
    .main-youtube__title { font-size: 38px; }
    .main-youtube__channel { width: 160px; height: 40px; margin-top: 24px; font-size: 14px; }
    .main-youtube__player { width: 100%; height: auto; aspect-ratio: 16 / 9; }
    .main-youtube__side, .main-youtube__list { height: 320px; }
    .youtube-item__button { grid-template-columns: 130px 1fr; gap: 14px; min-height: 92px; }
    .youtube-item__thumb { width: 130px; height: 73px; }
    .youtube-item__title { font-size: 14px; }

    /* Footer & Location Mobile */
    .location-section { padding: 72px 0 68px; }
    .location-map { height: 320px; margin-bottom: 42px; }
    .location-map .root_daum_roughmap, .location-map .root_daum_roughmap .wrap_map { height: 320px !important; }
    .location-title, .clinic-hours__title { font-size: 26px; }
    .location-address { font-size: 17px; }
    .location-tel { font-size: 32px; }
    .clinic-hours { margin-top: 42px; }
    .clinic-hours__item { grid-template-columns: 96px minmax(0, 1fr); column-gap: 18px; }
    .clinic-hours__item dt { min-width: 96px; height: 32px; font-size: 15px; }
    .clinic-hours__item dd { font-size: 18px; }
    .clinic-hours__item--closed dd { font-size: 15px; }

    .footer-inner { display: block; padding: 42px 0 44px; }
    .footer-logo { margin-bottom: 24px; }
    .footer-logo img { width: 180px; }
    .footer-info { font-size: 14px; }
    .footer-info p, .footer-info p span { display: block; }
    .footer-info p span + span::before { display: none; }
    .footer-policy { flex-wrap: wrap; gap: 10px 18px; margin-top: 24px; font-size: 14px; }
    
    /* RootTheme Swiper */
    .why-roottheme-swiper { height: 500px; }
    .why-roottheme-title { top: 70px; padding: 0 50px; font-size: 34px; }
    .why-roottheme-inner { padding: 80px 50px 20px; }
    .why-roottheme-content { margin-top: 60px; }
    .why-roottheme-num { margin-bottom: 16px; font-size: 36px; }
    .why-roottheme-sub { margin-bottom: 10px; font-size: 19px; line-height: 1.5; }
    .why-roottheme-main { font-size: 36px; }
    .why-roottheme-pagination, .why-roottheme-pagination.swiper-pagination-horizontal { top: 50% !important; bottom: auto !important; left: 18px !important; flex-direction: column; gap: 10px; width: 12px !important; transform: translateY(-50%); }
    .why-roottheme-pagination .swiper-pagination-bullet { width: 11px; height: 11px; }
    
    /* Sub Visual Mobile */
    .sub-visual { --sub-visual-height: 380px; }
    .sub-visual__image { object-position: var(--sub-visual-position-mobile); }
    .sub-visual__inner { width: calc(100% - 36px); }
    .sub-visual__content { padding-top: 10px; }
    .sub-visual__breadcrumb { min-height: 40px; font-size: 14px; }
    .sub-visual__home { width: 40px; height: 40px; margin-right: 14px; }
    .sub-visual__home svg { width: 20px; height: 20px; }
    .sub-visual__separator { margin: 0 13px; }
    .sub-visual__separator svg { width: 8px; height: 14px; }
    .sub-visual__current { gap: 10px; min-height: 38px; }
    .sub-visual__current-arrow { width: 10px; }
    .sub-visual__title { margin-top: 19px; font-size: 38px; line-height: 1.2; }
    .sub-visual__dropdown-menu { width: 160px; }
    .sub-visual__dropdown-link { padding: 11px 12px; font-size: 14px; }

    /* Sub Global UI Elements */
    .section-padding { padding: 60px 0; }
    .causes-list, .treat-list { grid-template-columns: repeat(2, 1fr) !important; gap: 15px; }
    .causes-left h3, .treat-sec h3 { font-size: 28px; margin-bottom: 30px; }
    .cause-item { height: auto; padding: 20px 10px; }
    .cause-item .material-symbols-outlined { font-size: 50px; margin-top: 10px; margin-bottom: 15px; }
    .cause-item .icon { width: 50px; height: 50px; margin-bottom: 15px; }
    .cause-item h4 { font-size: 15px; margin-bottom: 10px; word-break: keep-all; }
    .cause-item p { font-size: 13px; line-height: 1.4; word-break: keep-all; }

    .treat-item .img-box { margin-bottom: 15px; }
    .treat-item h4 { font-size: 16px; margin-bottom: 8px; word-break: keep-all; }
    .treat-item p { width: 100%; font-size: 13px; word-break: keep-all; }
    
    .adv-item .img-icon {
    
    width: 50px;  
    height: 50px;
    margin: 0 auto 15px auto;  
		}

    /* Sub Youtube Section */
    .youtube-header h3 { font-size: 32px; gap: 10px; }
    .youtube-header .yt-icon { width: 48px; height: 34px; border-radius: 10px; }
    .youtube-header .yt-icon::before { border-width: 8px 0 8px 13px; margin-left: 4px; }
    .youtube-header .btn-channel { width: 140px; height: 40px; font-size: 14px; }
    .youtube-swiper .swiper-slide { width: 85%; }
    .youtube-arrow-wrap { width: 85%; } 
    .youtube-arrow--prev, .youtube-arrow--next { width: 40px; height: 40px; }
    .youtube-arrow--prev { left: -10px; }
    .youtube-arrow--next { right: -10px; }
    .desc-sec .img-box { height: 200px; }
    .youtube-swiper .play-btn { width: 50px; height: 50px; }
    .youtube-swiper .play-btn::before { border-width: 10px 0 10px 16px; margin-left: 4px; }

    /* Common typography / Components */
    .sec-title { font-size: 30px; margin-bottom: 40px; }
    .intro-right h2 { font-size: 22px; }
    .intro-right h2 strong { font-size: 28px; }
    .intro-right p { font-size: 15px; }
    .adv-item { padding: 30px 15px; }
    .adv-item .material-symbols-outlined { font-size: 50px; margin-bottom: 15px; }
    .adv-item h4 { font-size: 17px; margin-bottom: 10px; }
    .adv-item p { font-size: 14px; }

    .gallery-list, .mov-list { grid-template-columns: repeat(2, 1fr); }
    .gallery-item:nth-child(4n), .mov-item:nth-child(3n) { border-right: 1px solid #e5e5e5; }
    .gallery-list > .gallery-item:nth-last-child(-n+4), .mov-list > .gallery-item:nth-last-child(-n+3) { border-bottom: 1px solid #e5e5e5; }
    .gallery-item:nth-child(2n), .mov-item:nth-child(2n) { border-right: none; } 
    .gallery-list > .gallery-item:nth-last-child(-n+2), .mov-list > .gallery-item:nth-last-child(-n+2) { border-bottom: none; }
    .gallery-item, .mov-item { padding: 30px 10px 20px; }
    .gallery-item .thumb img, .mov-item .thumb img { max-width: 100%; width: 150px; height: auto; }
    .gallery-item .thumb img { aspect-ratio: 150 / 271; }
    .mov-item .thumb img { aspect-ratio: 280 / 150; }
    .gallery-item .title { font-size: 14px; }

    .pagi { gap: 3px; margin-top: 30px; flex-wrap: wrap; }
    .pagi a, .pagi strong { width: 32px; height: 32px; font-size: 13px; }
    .pagi a.first, .pagi a.last { font-size: 16px; }
    .pagi a.prev, .pagi a.next { font-size: 14px; }
    .pagi a.first:active, .pagi a.last:active, .pagi a.prev:active, .pagi a.next:active { background-color: #fafafa; border: 1px solid var(--color-primary, #C6A66A); color: var(--color-primary, #C6A66A) !important; }

    .center-IDbox { width: 90%; height: auto; min-height: 360px; }
    .center-IDbox .header { flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px; }
    .center-IDbox .header strong { font-size: 20px; }
    .center-IDbox .header span { font-size: 13px; line-height: 1.4; }
    .reservation-info-box { flex-direction: column; align-items: flex-start; padding: 20px; gap: 25px; }
    .reservation-info-box .info-text-list li { font-size: 14px; }
    .reservation-info-box .info-text-list li.highlight { font-size: 16px; margin-top: 10px; }
    .reservation-info-box .btn-check-res { width: 100%; height: 50px; font-size: 16px; }

    .target-wrap { flex-direction: column; gap: 30px; }
    .target-img-box { width: 100%; flex: none; aspect-ratio: 3 / 2; }
    .target-img-box img { object-position: top center; }
    .target-content { width: 100%; }
    .target-title { font-size: 28px; margin-bottom: 25px; text-align: center; }
    .target-list li, .target-list_wh li { padding: 14px 20px; font-size: 14px; justify-content: center; } 

    .pre-check-wrap { margin: 0 20px; padding: 40px 25px; border-radius: 16px; }
    .pre-check-header { margin-bottom: 30px; }
    .pre-check-title-row { gap: 10px; margin-bottom: 12px; }
    .check-icon { width: 32px; height: 32px; }
    .pre-check-title-row h3 { font-size: 26px; }
    .pre-check-subtitle { margin-left: 0; font-size: 14px; }
    .pre-check-list { grid-template-columns: 1fr; gap: 12px; }
    .pre-check-list li { font-size: 14px; padding: 16px 20px; }

    .peel-type-item, .peel-type-item.reverse { flex-direction: column; gap: 30px; margin-bottom: 60px; }
    .peel-img-box { width: 100%; flex: none; }
    .peel-text-box { width: 100%; }
    .peel-title { font-size: 24px; margin-bottom: 15px; }
    .peel-desc { font-size: 15px; margin-bottom: 25px; }
    .peel-list li { font-size: 14px; }

    .step-swiper { aspect-ratio: 4 / 3; border-radius: 8px; }
    .step-text { padding: 15px 20px; font-size: 15px; }
    .step-slider-wrap .step-prev, .step-slider-wrap .step-next { width: 40px; height: 40px; border-width: 1px; }
    .step-slider-wrap .step-prev { left: 10px; }
    .step-slider-wrap .step-next { right: 10px; }
    .step-slider-wrap .step-prev::after, .step-slider-wrap .step-next::after { width: 10px; height: 10px; }

    .benefit-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; max-width: 450px; margin: 0 auto; }
    .benefit-list li { width: 100%; height: auto; aspect-ratio: 1 / 1; font-size: 14px; }

    .prp-slider-wrap { padding: 0; }
    .prp-swiper { aspect-ratio: auto; height: auto; }
    .prp-img-box { aspect-ratio: 1 / 1; }
    .prp-step-text { position: relative; background: rgba(198, 166, 106, 1); padding: 25px 20px; }
    .prp-step-text strong { font-size: 18px; }
    .prp-step-text p { font-size: 14px; }
    .prp-slider-wrap .prp-prev, .prp-slider-wrap .prp-next { width: 40px; height: 40px; top: 35%; border-width: 1px; background: rgba(255, 255, 255, 0.9); box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
    .prp-slider-wrap .prp-prev { left: 10px; }
    .prp-slider-wrap .prp-next { right: 10px; }
    .prp-slider-wrap .prp-prev::after, .prp-slider-wrap .prp-next::after { width: 10px; height: 10px; }
    
    
    
    .prp-slider-wrap {
        padding: 0; /* ÁÂ¿ì ÆÐµùÀ» ¾ø¾Ö ¸ð¹ÙÀÏ Æø ÃÖÀûÈ­ */
    }
    
    .prp-swiper {
        width: 100%;
        max-width: 500px;
        aspect-ratio: 1 / 1; /* ¸ð¹ÙÀÏ¿¡¼­´Â Á¤¹æÇü ºñÀ² */
        border-radius: 12px;
        overflow: hidden;
    }
    
    .prp-img-box {
        position: relative;
        width: 100%;
        height: 100%;
    }
    
    .prp-img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* ÅØ½ºÆ®¸¦ ÀÌ¹ÌÁö ÇÏ´Ü¿¡ ¹ÝÅõ¸í ¿À¹ö·¹ÀÌ·Î º¹±¸ */
    .prp-step-text {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        background: rgba(198, 166, 106, 0.9); /* °¡µ¶¼ºÀ» À§ÇØ »ìÂ¦ Â£Àº °ñµå ¹ÝÅõ¸í */
        padding: 20px;
        box-sizing: border-box;
        z-index: 5;
    }
    
    .prp-step-text strong {
        font-size: 17px;
        margin-bottom: 6px;
    }
    
    .prp-step-text p {
        font-size: 13px;
        line-height: 1.5;
    }
    
    /* ÁÂ¿ì È­»ìÇ¥ Å©±â ¹× À§Ä¡ Á¶Á¤ */
    .prp-slider-wrap .prp-prev,
    .prp-slider-wrap .prp-next {
        width: 42px;
        height: 42px;
        top: 40%; /* ÅØ½ºÆ® ¹Ú½º¸¦ °¡¸®Áö ¾Êµµ·Ï »ó´Ü »çÁø ÂÊ¿¡ À§Ä¡ */
        background: rgba(255, 255, 255, 0.9);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    }
    
    .prp-slider-wrap .prp-prev { left: 10px; }
    .prp-slider-wrap .prp-next { right: 10px; }
    
    .prp-slider-wrap .prp-prev::after,
    .prp-slider-wrap .prp-next::after {
        width: 10px;
        height: 10px;
    }
    
    

    .treat-text-list { grid-template-columns: 1fr; margin-top: 30px; }
    .treat-text-item { padding: 30px 20px; }
    .treat-text-item h4 { font-size: 18px; margin-bottom: 15px; }
    .treat-text-item p { font-size: 14px; br { display: none; } }

    .pigment-tabs { flex-wrap: wrap; gap: 5px; margin-bottom: 40px; }
    .pigment-tabs li { flex: 1 1 calc(33.333% - 5px); height: 48px; font-size: 14px; border-radius: 4px; }
    .pig-text-box h3 { font-size: 26px; margin-bottom: 20px; }
    .pig-text-box p { font-size: 15px; }

    .excel-handpiece-wrap { padding: 50px 25px; }
    .handpiece-list { grid-template-columns: 1fr; gap: 40px; max-width: 400px; margin: 0 auto; }
    .hp-img-box { width: 220px; height: 220px; margin-bottom: 20px; }
    .handpiece-sub-desc b { font-size: 16px; }
    .handpiece-sub-desc { font-size: 14px; margin-bottom: 40px; }
    .hp-text-box h4 { font-size: 18px; margin-bottom: 15px; }
    .hp-text-box p { font-size: 14px; br { display: none; } }

    .virtue-map-img { margin-bottom: 40px; }
    .virtue-block { padding: 35px 20px 0 20px; border-radius: 16px; }
    .vb-content { padding-bottom: 35px; }
    .vb-header h4 { font-size: 24px; flex-direction: column; align-items: flex-start; gap: 5px; }
    .vb-header h4 span { font-size: 20px; }
    .vb-header p { font-size: 15px; }
    .vb-target-list { grid-template-columns: 1fr; gap: 10px; }
    .vb-target-list li { padding: 14px 18px; font-size: 14px; }

    .sub-visual_lang { height: 300px; }
    .sub-visual_lang .lang-title { font-size: 38px; }
    .lang-menu { gap: 8px; }
    .lang-menu li a { height: 42px; padding: 0 16px; font-size: 13px; }

    .foreign-services-sec .sec-title { font-size: 32px; margin-bottom: 40px; }
    .fcs-list { gap: 15px; padding: 0; }
    .fcs-list li { padding: 25px 20px; border-radius: 8px; }
    .fcs-list h4 { font-size: 18px; margin-bottom: 12px; }
    .fcs-list p { font-size: 14px; }

    .departments-sec .sec-title { font-size: 36px; margin-bottom: 40px; }
    .dept-grid { grid-template-columns: 1fr; gap: 50px; }
    .dept-title { font-size: 20px; padding: 14px 0; margin-bottom: 25px; }
    .dept-list li { font-size: 15px; }
    .dept-list-wrap { flex-direction: column; gap: 0; }

    .programs-sec .sec-title { font-size: 36px; margin-bottom: 40px; }
    .programs-wrap { gap: 50px; }
    .program-item, .program-item.reverse { flex-direction: column; align-items: flex-start; gap: 25px; }
    .prog-img { flex: none; width: 100%; }
    .prog-text h3 { font-size: 20px; margin-bottom: 15px; }
    .prog-text p { font-size: 15px; }

    .airport-route-wrap { gap: 30px; margin-bottom: 40px; }
    .route-badge { font-size: 16px; padding: 10px 25px; margin-bottom: 15px; }
    .airport-route p { font-size: 15px; }

    /* New Specific Components (Mobile 768px Adjustments) */
    .premium-hair-list { gap: 40px; }
    .premium-hair-list li { flex-direction: column; align-items: flex-start; gap: 15px; }
    .ph-title { flex: none; width: 100%; height: auto; padding: 18px 15px; font-size: 18px; }
    .ph-desc { font-size: 15px; }

    .effect-wrap { flex-direction: column; gap: 40px; }
    .effect-img { flex: none; width: 100%; aspect-ratio: 2 / 1; }
    .effect-img img { object-position: center 20%; }
    .effect-content { gap: 40px; padding-top: 0; }
    .effect-badge { font-size: 16px; padding: 10px 22px; margin-bottom: 20px; }
    .effect-item h5 { font-size: 16px; }
    .effect-item p { font-size: 15px; }

    .ap-title-wrap { margin-bottom: 30px; }
    .ap-title-wrap .check-icon { font-size: 28px; }
    .ap-title-wrap h3 { font-size: 26px; }
    .ap-lead { font-size: 16px; margin-bottom: 25px; }
    .ap-list { gap: 18px; }
    .ap-list li { align-items: flex-start; gap: 12px; }
    .ap-badge { width: 70px; height: 30px; font-size: 13px; }
    .ap-list p { font-size: 15px; padding-top: 4px; }

    .shorts-slider-wrap { padding: 0; }
    .shorts-arrow { display: none; }
    .shorts-play-btn { width: 50px; height: 50px; }
    .shorts-play-btn::after { border-width: 10px 0 10px 16px; margin-left: 4px; }

    .youtube-btn-wrap { margin-top: 40px; }
    .btn-youtube-channel { font-size: 16px; padding: 14px 35px; }
    .btn-youtube-channel svg { width: 20px; height: 20px; }

    .dp-title-wrap h3 { font-size: 28px; }
    .dp-title-wrap .check-icon { font-size: 28px; }
    .dp-badge { font-size: 16px; padding: 10px 22px; margin-bottom: 15px; }
    .dp-list p { font-size: 15px; }

    .dp-comp-title { font-size: 18px; padding: 16px 0; margin-bottom: 30px; }
    .dp-comp-list { gap: 25px; padding: 0 5px; }
    .dp-comp-list li { font-size: 15px; }
    
    /* ´«¹ØÁö¹æ ÇÁ·Î±×·¥ ¸ð¹ÙÀÏ */
    .eye-program-wrap {
        flex-direction: column; /* °¡·Î ¹è¿­À» ¼¼·Î·Î º¯°æ */
        align-items: center;
        gap: 50px;
        max-width: 450px;
    }
    
    .ep-card {
        width: 100%;
    }
    
    .ep-img {
        aspect-ratio: 1 / 1; 
    }
    
    .ep-title {
        max-width: 300px;
        font-size: 17px;
    }
    
    /* ¸ð¹ÙÀÏ¿¡¼­´Â È­¸éÀÌ Á¼À¸¹Ç·Î ³í¹® »çÀÌÁî¸¦ ºñÀ²¿¡ ¸Â°Ô Ãà¼Ò */
    .thesis-swiper .swiper-slide {
        width: 240px; 
    }
    .thesis-img {
        width: 240px;
        height: 317px; /* 325:430 ºñÀ² À¯Áö */
    }
    .thesis-info {
        padding: 15px;
    }
    .thesis-info .date {
        font-size: 13px;
    }
    .thesis-info .title {
        font-size: 15px;
    }
    
    .surgery-info-wrap {
        gap: 10px;
    }
    .si-card {
        flex: 1 1 calc(50% - 10px); /* 1ÁÙ¿¡ 2°³¾¿ ¹èÄ¡ */
        min-width: 140px;
        padding: 25px 10px;
    }
    .si-icon {
        font-size: 36px;
        margin-bottom: 15px;
    }
    .si-label {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .si-value {
        font-size: 16px;
    }
    
    .surgery-step-wrap {
        flex-wrap: wrap; /* Ä«µå°¡ Á¼¾ÆÁö¸é ¾Æ·¡·Î ¶³¾îÁü */
        gap: 20px 10px;
    }
    .ss-item {
        flex: 0 0 calc(50% - 5px); /* ¸ð¹ÙÀÏ¿¡¼­´Â 1ÁÙ¿¡ 2°³¾¿ */
    }
    .ss-text {
        font-size: 14px;
        margin-bottom: 10px;
    }
    
    .ec-wrap {
        padding-top: 25px; 
    }
    .ec-badge {
        font-size: 18px;
        padding: 12px 30px;
        white-space: normal; /* ¸ð¹ÙÀÏ¿¡¼­ ±ÛÀÚ°¡ ±æ¸é ÁÙ¹Ù²Þ Çã¿ë */
        text-align: center;
        width: 90%;
        line-height: 1.4;
    }
    .ec-box {
        flex-direction: column; /* ¼¼·Î ¹è¿­·Î º¯°æ */
        padding: 70px 25px 40px;
    }
    .ec-title {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .ec-desc p {
        font-size: 15px;
        margin-bottom: 20px;
    }
    
    /* ¸ð¹ÙÀÏ¿¡¼­´Â Áß¾Ó ¼¼·Î¼±À» °¡·Î¼±À¸·Î º¯°æ */
    .ec-divider {
        width: 100%;
        height: 1px;
        margin: 40px 0;
    }
    
    .assoc-top-wrap {
        flex-direction: column;
        justify-content: center;
        background-position: center top; /* ¸ð¹ÙÀÏÀº »çÁøÀÌ À§¿¡ ³ª¿È */
        padding: 40px 20px;
        min-height: auto;
    }
    
    /* ¸ð¹ÙÀÏ¿¡¼­´Â ¹è°æ ±×¶óµ¥ÀÌ¼Ç ¹æÇâÀ» À§¿¡¼­ ¾Æ·¡·Î º¯°æ */
    .assoc-top-wrap::before {
        background: linear-gradient(to bottom, rgba(247,247,249,0.3) 0%, rgba(247,247,249,0.9) 30%, rgba(247,247,249,1) 50%);
    }
    
    .assoc-content {
        max-width: 100%;
        margin-top: 200px; /* ÀÎ¹° ÀÌ¹ÌÁö°¡ À§¿¡ º¸ÀÌµµ·Ï ÅØ½ºÆ®¸¦ ¹ØÀ¸·Î ³»¸² */
    }
    .assoc-eyebrow {
        font-size: 15px;
    }
    .assoc-title {
        font-size: 26px;
        margin-bottom: 25px;
    }
    .assoc-desc p {
        font-size: 14px;
    }
    .btn-assoc {
        font-size: 16px;
        padding: 14px 30px;
        width: 100%; /* ¸ð¹ÙÀÏ ²ËÂù ¹öÆ° */
    }
    
    .assoc-bottom-wrap {
        gap: 10px;
    }
    .seminar-card {
        flex: 1 1 calc(50% - 10px); /* 1ÁÙ¿¡ 2°³¾¿ */
        padding: 25px 20px;
    }
    .sm-text h4 {
        font-size: 17px;
    }
    .sm-view {
        width: 40px;
        height: 40px;
        font-size: 12px;
    }
    /* ÇÐÈ¸/ÇÐ¼ú ¹è³Ê ¹× ÆË¾÷ ¸ð¹ÙÀÏ */
    .thesis-banner-wrap {
        flex-direction: column;
        text-align: center;
        gap: 25px;
        padding: 40px 20px;
    }
    .tb-text p {
        font-size: 16px;
    }
    .tb-text h4 {
        font-size: 24px;
    }
    .btn-thesis-more {
        width: 100%; /* ¹öÆ° °¡·Î ²Ë Â÷°Ô */
        font-size: 16px;
        padding: 16px 20px;
    }

    .tp-header {
        padding: 15px 20px;
    }
    .tp-header h4 {
        font-size: 16px;
    }
    .tp-content {
        padding: 25px 20px;
    }
    
    /* ¸ð¹ÙÀÏ¿¡¼­´Â ³¯Â¥°¡ À§, ³»¿ëÀÌ ¾Æ·¡·Î ¹èÄ¡µÇµµ·Ï ±×¸®µå ÇØÁ¦ */
    .tp-list-grid li {
        flex-direction: column;
        gap: 8px;
        padding: 15px 0;
    }
    .tp-list-grid .date {
        flex: none;
        width: 100%;
        color: var(--point, #C6A66A); /* ¿¬µµ »ö»ó Æ÷ÀÎÆ®·Î º¯°æ */
        font-weight: 700;
    }
}

/* ================================================================
   600px ÀÌÇÏ (¸ð¹ÙÀÏ ¼ÒÇü º¸Á¤)
================================================================ */
@media screen and (max-width: 600px) {
    .lunula-adv-list { gap: 15px; }
    .lunula-adv-list li { width: 110px; height: 110px; font-size: 14px; }
    .lunula-target-list { grid-template-columns: 1fr; gap: 30px; max-width: 400px; margin: 0 auto; }
    
    .tattoo-swiper-wrap { width: 100%; max-width: 480px; }
    .tattoo-title-area h3 { font-size: 28px; }
    .tattoo-title-area .check-icon { font-size: 28px; }
    .tattoo-tabs { justify-content: flex-start; padding: 0 20px; }
    .tattoo-tabs li { width: 100px; height: 38px; font-size: 14px; }
}

/* ================================================================
   480px ÀÌÇÏ (ÃÊ¼ÒÇü ¸ð¹ÙÀÏ ±â±â)
================================================================ */
@media screen and (max-width: 480px) {
    .inner { width: calc(100% - 36px); }

    .all-menu__sub-list { grid-template-columns: 1fr; }
    .main-visual { min-height: 540px; }
    .visual-title { font-size: 30px; line-height: 1.45; }
    .visual-text br { display: none; }
    
    .quick-menu li a { min-height: 76px; padding-right: 2px; padding-left: 2px; font-size: 11px; }
    .quick-icon { width: 34px; height: 31px; margin-bottom: 3px; }
    .quick-icon--img img { width: 34px; height: 31px; }
    .quick-icon--material { font-size: 31px; }
		
		
		.main-popup-group {
        width: calc(100% - 28px);
        max-height: calc(100svh - 80px);
    }

    .main-layer-popup__footer,
    .main-layer-popup__footer button {
        height: 48px;
    }

    .main-layer-popup__footer button {
        font-size: 12px;
    }
		
    body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .adv-list-3 { grid-template-columns: 1fr; }
		
    .signature-side, .signature-content, .premium-laser__inner, .main-youtube__inner, .location-inner, .footer-inner { width: calc(100% - 36px); }
    .signature-title, .premium-laser__title, .main-youtube__title { font-size: 32px; }
    .signature-slide { height: 390px; border-radius: 26px; background-position: 72% center; }
    .signature-slide__text { width: 245px; padding-top: 42px; padding-left: 22px; }
    .signature-slide__title { font-size: 27px; }
    .signature-slide__desc { font-size: 13px; }

    .premium-laser-slide { width: 180px; }
    .premium-laser-card__image { width: 180px; height: 220px; }

    .main-doctors { height: 430px; }
    .main-doctors__image { width: 700px; }
    .main-doctors__title { font-size: 30px; }
    .main-doctors__lead, .main-doctors__text { font-size: 14px; }

    .youtube-mark { width: 46px; height: 32px; border-radius: 8px; }
    .youtube-mark::before { border-top-width: 8px; border-bottom-width: 8px; border-left-width: 13px; }
    .youtube-item__button { grid-template-columns: 110px 1fr; gap: 12px; }
    .youtube-item__thumb { width: 110px; height: 62px; }
    .youtube-item__title { font-size: 13px; line-height: 1.45; }

    .location-map { height: 280px; }
    .location-map .root_daum_roughmap, .location-map .root_daum_roughmap .wrap_map { height: 280px !important; }
    .location-subway { gap: 7px 12px; font-size: 14px; }
    .subway-route { gap: 6px; }
    .subway-route--multi { gap: 4px; }

    .clinic-hours__item { grid-template-columns: 84px minmax(0, 1fr); column-gap: 12px; }
    .clinic-hours__item dt { min-width: 84px; padding: 0 10px; font-size: 13px; }
    .clinic-hours__item dd { font-size: 15px; }
    
    .why-roottheme-swiper { height: 250px; }
    .why-roottheme-title { top: 82px; padding: 0 40px; font-size: 20px; }
    .why-roottheme-inner { padding: 75px 40px 20px; }
    .why-roottheme-content { margin-top: 25px; }
    .why-roottheme-num { font-size: 20px; }
    .why-roottheme-sub { font-size: 16px; }
    .why-roottheme-main { font-size: 25px; }
    .why-roottheme-pagination, .why-roottheme-pagination.swiper-pagination-horizontal { left: 14px !important; }
    
    .sub-visual { --sub-visual-height: 350px; }
    .sub-visual__inner { width: calc(100% - 28px); }
    .sub-visual__category { max-width: 74px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sub-visual__separator { margin: 0 10px; }
    .sub-visual__title { font-size: 34px; }
    
    .benefit-list { gap: 10px; }
    .benefit-list li { font-size: 13px; }
    .pigment-tabs li { flex: 1 1 calc(50% - 5px); }
    
    .table_list { display: none; /* ¸ð¹ÙÀÏ¿¡¼­´Â PC¿ë Å×ÀÌºí ¼û±è */ }
    .table_list_m { display: table; /* ¸ð¹ÙÀÏ¿ë Å×ÀÌºí Ç¥½Ã */ }
    
    
    .table_list_info tbody td { font-size: 13px;}

.table_list_info tbody td.first {font-size: 14px;}

.si-card {
        flex: 1 1 100%; /* ³Ê¹« Á¼Àº È­¸é¿¡¼­´Â 1ÁÙ¿¡ 1°³¾¿ ²Ë Â÷°Ô ¹èÄ¡ */
    }
    
    .seminar-card {
        flex: 1 1 100%; /* ³Ê¹« Á¼Àº È­¸é¿¡¼­´Â 1ÁÙ¿¡ 1°³¾¿ */
    }

}

/* ================================================================
   Á¢±Ù¼º: ÁÙ¾îµç µ¿ÀÛ ¿É¼Ç È¯°æ
================================================================ */
@media (prefers-reduced-motion: reduce) {
    .sub-visual *, .sub-visual *::before, .sub-visual *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
    .pagi { gap: 2px; }
    .pagi a, .pagi strong { width: 30px; height: 30px; }
}






/* ================================================================
   Tattoo Case - Responsive
   ¹®½ÅÁ¦°Å ½Ã¼ú ÀüÈÄ
================================================================ */


/* ------------------------------------------------
   1200px ÀÌÇÏ
------------------------------------------------ */
@media screen and (max-width: 1200px) {

    .tattoo-case-sec {
        width: calc(100% - 60px);
        max-width: 1100px;
    }

    .tattoo-case-sec .inner_sub {
        padding-right: 40px;
        padding-left: 40px;
    }

    .tattoo-wrap {
        gap: 40px;
    }

    .tattoo-tabs-area {
        margin-right: 20px;
    }

    .tattoo-swiper-wrap {
        width: 440px;
    }

    .tattoo-prev {
        left: 10px;
        background: rgba(255, 255, 255, 0.9);
    }

    .tattoo-next {
        right: 10px;
    }
}


/* ------------------------------------------------
   1024px ÀÌÇÏ
   ÅÂºí¸´ : Å¸ÀÌÆ² / ÅÇ / ÀÌ¹ÌÁö ¼¼·Î¹èÄ¡
------------------------------------------------ */
@media screen and (max-width: 1024px) {

    .tattoo-case-sec {
        width: calc(100% - 48px);
        max-width: none;
    }

    .tattoo-case-sec .inner_sub {
        padding-right: 32px;
        padding-left: 32px;
    }

    .tattoo-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 34px;
        width: 100%;
    }


    /* Á¦¸ñ */
    .tattoo-title-area {
        justify-content: center;
        width: 100%;
    }

    .tattoo-title-area .check-icon {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
    }

    .tattoo-title-area h3 {
        font-size: 32px;
        line-height: 1.3;
        text-align: center;
        word-break: keep-all;
    }


    /* CASE ÅÇ */
    .tattoo-tabs-area {
        width: 100%;
        margin-right: 0;
        padding-top: 0;
        padding-bottom: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .tattoo-tabs-area::-webkit-scrollbar {
        display: none;
    }

    .tattoo-tabs {
        flex-direction: row;
        justify-content: center;
        gap: 10px;
        width: max-content;
        min-width: 100%;
    }

    .tattoo-tabs li {
        flex: 0 0 auto;
        width: 110px;
        height: 40px;
        font-size: 14px;
    }


    /* ÄÜÅÙÃ÷ */
    .tattoo-content-area {
        width: 100%;
    }

    .tattoo-pane {
        width: 100%;
    }

    .tattoo-swiper-wrap {
        width: min(100%, 480px);
        max-width: 480px;
        margin: 0 auto;
    }

    .tattoo-swiper {
        width: 100%;
        aspect-ratio: 1 / 1;
    }
}


/* ------------------------------------------------
   768px ÀÌÇÏ
   ¸ð¹ÙÀÏ ±âº»
------------------------------------------------ */
@media screen and (max-width: 768px) {

    .tattoo-case-sec {
        width: calc(100% - 32px);
        border-radius: 10px;
    }

    .tattoo-case-sec.section-padding {
        padding-top: 55px;
        padding-bottom: 48px;
    }

    .tattoo-case-sec .inner_sub {
        width: 100%;
        padding-right: 20px;
        padding-left: 20px;
    }

    .tattoo-wrap {
        gap: 28px;
    }


    /* ------------------------------
       Å¸ÀÌÆ²
    ------------------------------ */
    .tattoo-title-area {
        gap: 9px;
    }

    .tattoo-title-area .check-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .tattoo-title-area h3 {
        font-size: 26px;
        letter-spacing: -0.045em;
    }


    /* ------------------------------
       CASE ÅÇ
    ------------------------------ */
    .tattoo-tabs-area {
        margin-right: -20px;
        margin-left: -20px;
        width: calc(100% + 40px);
        padding: 0 20px 6px;
    }

    .tattoo-tabs {
        justify-content: flex-start;
        min-width: max-content;
        gap: 8px;
        padding: 0;
    }

    .tattoo-tabs li {
        width: 98px;
        height: 38px;
        font-size: 13px;
    }


    /* ------------------------------
       Swiper
    ------------------------------ */
    .tattoo-content-area {
        width: 100%;
        min-width: 0;
    }

    .tattoo-swiper-wrap {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }

    .tattoo-swiper {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 8px;
    }

    .tattoo-swiper .swiper-slide,
    .tattoo-swiper .img-box {
        width: 100%;
        height: 100%;
    }

    .tattoo-swiper .img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


    /* ------------------------------
       ÁÂ¿ì È­»ìÇ¥
       ¸ð¹ÙÀÏ¿¡¼­´Â ÀÌ¹ÌÁö ¾ÈÂÊÀ¸·Î ¹èÄ¡
    ------------------------------ */
    .tattoo-arrow {
        top: 50%;
        width: 42px;
        height: 42px;
        border-width: 1px;
    }

    .tattoo-prev {
        left: 10px;
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    }

    .tattoo-next {
        right: 10px;
        box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    }

    .tattoo-arrow::after {
        width: 10px;
        height: 10px;
    }


    /* ------------------------------
       Pagination
       PCÀÇ absolute À§Ä¡¸¦ ÇØÁ¦ÇÏ°í
       ÀÌ¹ÌÁö ¹Ù·Î ¾Æ·¡¿¡ Ç¥½Ã
    ------------------------------ */
    .tattoo-pagination,
    .tattoo-pagination.swiper-pagination-horizontal {
        position: relative !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: flex;
        justify-content: center;

        width: 100% !important;
        margin-top: 18px;

        gap: 6px;
    }

    .tattoo-pagination .swiper-pagination-bullet {
        width: 28px;
        height: 4px;
        margin: 0 !important;
        border-radius: 3px;
    }
}


/* ------------------------------------------------
   600px ÀÌÇÏ
------------------------------------------------ */
@media screen and (max-width: 600px) {

    .tattoo-case-sec {
        width: calc(100% - 28px);
    }

    .tattoo-case-sec .inner_sub {
        padding-right: 16px;
        padding-left: 16px;
    }

    .tattoo-title-area h3 {
        font-size: 24px;
    }

    .tattoo-title-area .check-icon {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }

    .tattoo-tabs-area {
        width: calc(100% + 32px);
        margin-right: -16px;
        margin-left: -16px;
        padding-right: 16px;
        padding-left: 16px;
    }

    .tattoo-tabs {
        justify-content: flex-start;
    }

    .tattoo-tabs li {
        width: 92px;
        height: 36px;
        font-size: 13px;
    }

    .tattoo-swiper-wrap {
        width: 100%;
        max-width: 480px;
    }
}


/* ------------------------------------------------
   480px ÀÌÇÏ
   ¼ÒÇü ¸ð¹ÙÀÏ
------------------------------------------------ */
@media screen and (max-width: 480px) {

    .tattoo-case-sec {
        width: calc(100% - 20px);
        border-radius: 8px;
    }

    .tattoo-case-sec.section-padding {
        padding-top: 45px;
        padding-bottom: 40px;
    }

    .tattoo-case-sec .inner_sub {
        padding-right: 12px;
        padding-left: 12px;
    }

    .tattoo-wrap {
        gap: 24px;
    }


    /* Å¸ÀÌÆ² */
    .tattoo-title-area {
        gap: 8px;
    }

    .tattoo-title-area h3 {
        font-size: 22px;
    }

    .tattoo-title-area .check-icon {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }


    /* ÅÇ */
    .tattoo-tabs-area {
        width: calc(100% + 24px);
        margin-right: -12px;
        margin-left: -12px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .tattoo-tabs {
        gap: 7px;
    }

    .tattoo-tabs li {
        width: 84px;
        height: 34px;
        font-size: 12px;
    }


    /* È­»ìÇ¥ */
    .tattoo-arrow {
        width: 36px;
        height: 36px;
    }

    .tattoo-prev {
        left: 8px;
    }

    .tattoo-next {
        right: 8px;
    }

    .tattoo-arrow::after {
        width: 9px;
        height: 9px;
    }


    /* Pagination */
    .tattoo-pagination,
    .tattoo-pagination.swiper-pagination-horizontal {
        margin-top: 14px;
        gap: 5px;
    }

    .tattoo-pagination .swiper-pagination-bullet {
        width: 22px;
        height: 4px;
    }
}