@charset "utf-8";
/* ===== 서브페이지 반응형 (2026 서브 통합) =====
   규약: docs/conventions/figma-page-build.md §1·§3.5 — 브레이크포인트별로 묶고 페이지명 주석을 단다.
   sub.css 안에는 @media 를 두지 않는다. 글자·간격은 common.css 토큰 축소(1240/768)에 맡기고 여기서는 레이아웃(열 수·방향·숨김)과
   스케일 밖 리터럴(7rem/8rem/23rem…)의 px 재정의만 한다. 로드 순서: reset → … → sub.css → sub2.css → media.css → sub_resp.css → i18n.css */

/* ───────── ≤1640 (넓은 PC 조정, 선택) ───────── */

@media screen and (max-width: 2000px) {
.pg_medical_team .doctor_row .career > li::before {width: 4px; height: 4px;}


    .sub_num_cards { border-end-start-radius: 45rem;}
    .sub_why_heal .why_wrap {border-start-end-radius: 45rem;}

}



@media screen and (max-width: 1640px) {

    /* 병원소개 (idx 13) */
    .pg_about .lounge_slider .swiper-slide {width: 72rem;}
    .pg_about .lounge_slider .slide_box {width: calc(70rem - 48rem * var(--sp, 1)); height: 46.1rem; border-end-start-radius: calc(17.5rem + 81.5rem * var(--sp, 1)); transform: translate(calc(var(--ss, 0) * (24rem * var(--sp, 1) + 48rem * var(--se, 0))), calc(1rem * var(--sp, 1) + 2rem * var(--se, 0)));}
    .pg_about .lounge_slider .circle_txt {inset-inline-end: -12rem;}

    .sub_num_cards .num_card_list .txt,
    .sub_num_cards .num_card_list .txt_list {font-size: var(--p4);}

    .sub_num_cards { border-end-start-radius: 30rem;}
    .sub_why_heal .why_wrap {border-start-end-radius: 30rem;}


    .sub_num_cards .num_card_list {gap: 3rem;}
    .sub_num_cards .num_card_list .tit {font-size: var(--h8);}

    .pg_chief_director .story_imgs > li:nth-child(1) {inset-inline-start:9%}



}

/* ───────── ≤1440 ───────── */
@media screen and (max-width: 1440px) {
    /* 대표원장 소개 (idx 18) Con_03 스티키 스토리 — 사진 크기 약 80%(위치는 기본 규칙의 위·아래 띠 그대로) */
    .pg_chief_director .story_imgs > li:nth-child(1) {width: 32rem;}
    .pg_chief_director .story_imgs > li:nth-child(2) {width: 22rem;}
    .pg_chief_director .story_imgs > li:nth-child(3) {width: min(24rem, calc((50lvh - var(--th) - 5rem) / 1.5));}
    .pg_chief_director .story_imgs > li:nth-child(4) {width: 24rem;}
    .pg_chief_director .story_imgs > li:nth-child(5) {width: 26rem;}
    .pg_chief_director .story_imgs > li:nth-child(6) {width: 20rem;}


    .pg_medical_conditions .safe_body {column-gap:6rem}
    .pg_medical_conditions .safe_body .sect_tit_box .sect_tit {white-space: nowrap;}
    

    .sub_wide_slider .wide_slider {margin-inline: calc(var(--inPd) * -1); padding-inline: var(--inPd);}   /* 양쪽 안쪽 여백만큼 화면 끝까지 — 논리 속성·width 자동이라 RTL 에서도 대칭 */


}

/* ───────── ≤1240 (태블릿) ───────── */
@media screen and (max-width: 1240px) {
    /* 서브 공용 */
    .sub_top .sub_top_tit {font-size: 44px;}
    .sub_top.type_visual {height: 60rem;}
    .sub_top.type_visual .sub_top_nav {margin-top: 6rem;}
    .sub_cont .sect_tit_box .sect_tit {font-size: 44px;}
    .sub_cont .sect_tit_box.lg .sect_tit {font-size: 60px;}
    .sub_hero {height: 60rem;}
    .sub_hero .hero_txt .tit {font-size: 44px;}
    .sub_intro .intro_img {height: auto; max-height: 66.7rem; }
    .sub_intro .intro_img.is_video {max-height: none;}   /* 16:9 유지 */
    .sub_intro .intro_img.round {border-end-start-radius: 20rem;}

    .sub_num_cards {border-end-start-radius: 30rem;}
    /* 넘버 카드 — 1240 이하 2열 격자(가로 스크롤 슬라이더는 2026-10-01 제거). 오프셋(짝수·가운데 열) 해제 */
    .sub_num_cards .num_card_list {row-gap: 5rem;}
    .sub_num_cards .num_card_list > li {width: calc(33.33% - 2rem);}
    .sub_num_cards .num_card_list > li:nth-child(even), .sub_num_cards .num_card_list.col3 > li:nth-child(3n+2) {padding-top: 0;}
    .sub_num_cards .num_card_list .txt,
    .sub_num_cards .num_card_list .txt_list {max-width: 100%;}

    .sub_step_rows .step_row_list > li {grid-template-columns: 45% minmax(0, 1fr); gap: 5rem;}
    .sub_step_rows .step_row_list .img {height: 40rem;}
    .sub_step_rows .step_row_list .txt_box {padding-inline-end: 0;}
    .sub_step_rows .step_row_list .num {font-size: 60px;}
    .sub_num_cards .num_card_list.col3 {width: auto; max-width: none;}
    .sub_type_cards .type_card_list .img {height: auto; aspect-ratio: 370 / 410;}
    .sub_type_cards .type_card_list.cols3 .img {aspect-ratio: 507 / 410;}
    .sub_type_cards .type_card_list.cols2 .img {aspect-ratio: 780 / 410;}
    .sub_type_cards .type_note {padding: 5rem 8rem;}
    .sub_wide_slider .wide_slider .swiper-slide {grid-template-columns: 55% minmax(0, 1fr); gap: 5rem;}
    .sub_wide_slider .wide_slider .swiper-slide-prev,
    .sub_wide_slider .wide_slider .swiper-slide-next {opacity: 0; transition: 0.3s ease-in-out;}
    .sub_wide_slider .wide_slider .txt_box {padding-inline-end: 0;}
    .sub_wide_slider .wide_slider .num {font-size: 44px;}
    .sub_marquee .marquee_txt {font-size: 120px;}

    
    .sub_ba_stories .ba_story .img_box {width: 52%;}
    .sub_ba_stories .ba_story .quote .q_txt br {display: none;}

    .sub_why_heal .why_head {flex-direction: column; align-items: flex-start;}
    .sub_why_heal .why_head .sub_desc_box {width: auto; max-width: 90rem;}
    .sub_why_heal .why_body {gap: 3rem;}
    .sub_why_heal .why_col.col_r {padding-top: 10rem;}
    .sub_why_heal .why_card .img {height: 30rem;}

    /* 서브 공용(라미네이트·트리네이트): ba_grid / gallery_slider / review_cards */
.sub_review_cards {gap: 3rem;}
.sub_review_cards.capsule .img {height: auto; aspect-ratio: 506 / 700;}


.pg_sleep .pg_sleep_sedation .sedation_body {grid-template-columns: minmax(0, 1fr) 45%;}
.pg_sleep .pg_sleep_sedation .img {height: 60rem; border-start-start-radius: 30rem; border-end-start-radius: 30rem;}

.pg_medical_conditions .safe_body {grid-template-columns: minmax(0, 1fr) 40%; column-gap: 5rem;}
.pg_medical_conditions .safe_list > li {padding-inline-end: 4rem;}
.pg_medical_conditions .safe_body .img_box .img {height: auto; aspect-ratio: 640 / 860; border-start-end-radius: 20rem;}
.pg_medical_conditions .safe_body .img_box .circle_txt {top: -3rem; inset-inline-end: -2rem; width: 20rem; height: 20rem; font-size: var(--p2);}

.pg_consultation .form_wrap {width: 100%; padding: 0;}

.pg_implants .structure_body {flex-direction: column; align-items: stretch; gap: 4rem;}
.pg_implants .diagram {width: 100%; max-width: 75rem; margin: 0 auto;}
.pg_implants .structure .txt_box {flex: none; width: 100%;}


.pg_patient_experience .ba_collage_wrap {width: 100%; margin-inline: 0;}   /* .in 안에 맞춰 카드가 비율대로 축소(넘침 없음) */

.pg_faq .faq_a_body {padding-block: 3rem 4rem; padding-inline-end: 10rem;}

.pg_ba_list .ba_card_list {gap: 6rem 3rem;}
.pg_ba_list .ba_card {gap: 3rem;}
.pg_ba_list .ba_card .imgs {border-radius: 2rem;}
.sub_ba_compare .handle {width: 34px; height: 34px;}
.pg_ba_list .ba_card .more {padding: 1.5rem 2rem;}
.pg_ba_view .pg_ba_view_body {padding-top: calc(var(--hdH) + 8rem);}

/* 시니어 트리네이트 (idx 24) */
.pg_senior_trinate .intro_visual {height: auto; aspect-ratio: 1600 / 667;}
.pg_senior_trinate .intro_visual .visual_txt {inset-inline-start: 8%; width: 36%; gap: 3rem;}   /* 문구 블록을 % 폭으로 — 좁은 폭에서 인물(48.44%~)과 겹치지 않게 */
.pg_senior_trinate .intro_visual .smile {width: 14rem; height: 4.3rem;}
.pg_senior_trinate .intro_visual .quote {font-size: var(--h5);}
.pg_senior_trinate .intro_visual .quote .q_mark {font-size: var(--h3);}

    /* 충치치료 (idx 33) — 신경치료 순서 섹션 */
.pg_cavity_treatment .proc_list {gap: 2rem;}
.pg_cavity_treatment .proc_list .img {height: auto; aspect-ratio: 370 / 410;}

    /* 환자 스토리 (idx 45) */
    .pg_patient_stories .story_card_list {gap: 5rem 2.5rem;}

    /* 병원소개 (idx 13) */
.pg_about .pg_about_values {border-end-start-radius: 30rem;}
.pg_about .values_grid {gap: 6rem; margin-top: var(--contMt4)}
.pg_about .values_grid .col:first-child {padding-top: 15rem;}
.pg_about .values_grid .col:last-child {gap: 6rem;}
.pg_about .value_card .img {border-end-start-radius: 15rem;}
.pg_about .value_card .txt_box {padding: 0 2rem; margin-top: 3rem;}
.pg_about .pg_about_space::before {top: 50%; width: 120rem; height: 120rem;}
.pg_about .space_collage {gap: 4rem;}
.pg_about .space_collage .col, .pg_about .space_collage .col:last-child {flex: 1 1 0; width: auto;}
.pg_about .space_collage .col:last-child {padding-top: 6rem;}
.pg_about .space_collage .col:first-child .img:first-child {border-end-start-radius: 15rem;}
.pg_about .space_collage .col:first-child .img:last-child {width: 80%; margin-top: 4rem; margin-inline-start: 20%;}
.pg_about .space_collage .col:last-child .img:last-child {width: 85%; margin-top: 4rem; border-end-end-radius: 15rem;}
.pg_about .lounge_slider .swiper-slide {width: 62rem;}
.pg_about .lounge_slider .slide_box {width: calc(60rem - 40rem * var(--sp, 1)); height: 39.5rem; border-end-start-radius: calc(15rem + 84rem * var(--sp, 1)); transform: translate(calc(var(--ss, 0) * (20rem * var(--sp, 1) + 40rem * var(--se, 0))), calc(1rem * var(--sp, 1) + 2rem * var(--se, 0)));}
.pg_about .lounge_slider .circle_txt {top: -10rem; inset-inline-end: -4rem; width: 22rem; height: 22rem;}

.pg_about .lounge_desc .sub_tit {font-size: var(--h3);}
.pg_about .team_img {border-end-start-radius: 16rem;}

    /* 의료진 소개 (idx 17) */
.pg_medical_team .doctor_row {gap: 5rem;}
.pg_medical_team .doctor_row .img {border-end-start-radius: 20rem;}
.pg_medical_team .doctor_row.is-rev .img {border-end-start-radius: 3rem; border-end-end-radius: 20rem;}
.pg_medical_team .doctor_row .txt_box {width: 55%;}
.pg_medical_team .doctor_row .name {font-size: var(--h2);}
.pg_medical_team .doctor_row .quote .q_mark {font-size: var(--h2);}

    /* 연세힐치과의 약속 (idx 19) */
.pg_promise .intro_body {gap: 5rem;}
.pg_promise .intro_img {width: 42%; border-start-start-radius: 15rem; border-end-end-radius: 15rem;}
.pg_promise .intro_img .smile {bottom: 4rem; inset-inline-end: 8rem; width: 40%; height: auto;}
.pg_promise .intro_txt {flex: 1 1 0; width: auto; min-width: 0;}
.pg_promise .intro_txt .quote {padding: 4rem 3rem; border-radius: 5rem; border-end-start-radius: 0;}
.pg_promise .intro_txt .q_mark {font-size: var(--h2);}

    /* 오시는 길 (idx 21) */
.pg_location .blk_tit {font-size: var(--h3);}
.pg_location .tel {font-size: var(--h2);}
.pg_location .consult_block {gap: 8rem; padding-inline: 3rem;}
.pg_location .sketch {width: 40%;}
.pg_location .airport_block .blk_txt {font-size: var(--p1);}

    /* 라미네이트 (idx 22) */
.pg_veneers .quote_cards {gap: 3rem 4rem;}
.pg_veneers .quote_cards > li {padding: 4rem; border-end-end-radius: 12rem;}
.pg_veneers .quote_cards .q_img {height: auto; aspect-ratio: 650 / 400; border-start-start-radius: 8rem; border-end-end-radius: 8rem;}
.pg_veneers .diagram .diagram_labels > li {font-size: var(--h7); max-width: 16rem;}
.pg_veneers .collage .c1 {border-end-start-radius: 20rem;}
.pg_veneers .collage .c4 {border-end-end-radius: 20rem;}
.pg_veneers .art_img {height: 80rem;}
.pg_veneers .detail_imgs > li:first-child {border-start-start-radius: 20rem;}
.pg_veneers .detail_imgs > li:last-child {border-end-end-radius: 20rem;}
.pg_veneers .detail_quote {font-size: var(--h4);}

    /* 대표원장 소개 (idx 18) */
.pg_chief_director .pg_chief_director_profile {border-end-start-radius: 5rem; border-end-end-radius: 5rem;}
.pg_chief_director .profile_body {gap: 6rem;}
.pg_chief_director .profile_txt {flex: 1 1 0; width: auto; min-width: 0;}
.pg_chief_director .profile_img .circle_txt {inset-inline-start: -6rem; width: 24rem; height: 24rem;}
.pg_chief_director .story_txt {max-width: 90rem;}
/* 대표원장 소개 Con_03 ≤1240 스티키 스토리 — 모서리·가장자리에 흩어 두고 가운데 문구는 비움(참고 medi 모바일). 사진 크기는 화면 폭 비례(vw), 가장자리는 화면 밖으로 걸침 */
.pg_chief_director .story_imgs .pic {border-radius: 1.5rem;}
.pg_chief_director .story_imgs > li:nth-child(1) {top: 4%; bottom: auto; inset-inline-start: -4%; width: 22vw;}
.pg_chief_director .story_imgs > li:nth-child(4) {top: 1%; bottom: auto; inset-inline-start: 80%; width: 16vw;}
.pg_chief_director .story_imgs > li:nth-child(5) {top: 6%; bottom: auto; inset-inline-start: 42%; width: 17vw;}
.pg_chief_director .story_imgs > li:nth-child(2) {top: 64%; bottom: auto; inset-inline-start: -3%; width: 16vw;}
.pg_chief_director .story_imgs > li:nth-child(3) {top: auto; bottom: 3%; inset-inline-start: 40%; width: min(15vw, calc((47lvh - var(--th) - 3rem) / 1.5));}   /* 화면 바닥에 붙이고 아래 잘림 없이 — 문구와 3rem 이상 떨어지는 크기까지만 */
.pg_chief_director .story_imgs > li:nth-child(6) {top: auto; bottom: 6%; inset-inline-start: 78%; width: 15vw;}


.pg_veneers .art_img {height: 60rem;}
.pg_veneers .art_txt {width: 40%;}

/* 12401 */

}

/* ───────── ≤1040 (다단 → 1단, 선택) ───────── */
@media screen and (max-width: 1040px) {
    .sub_video_play {width: 64px; height: 64px;}   /* 인트로 영상 버튼 — 박스 높이의 약 12~15% 유지(2026-10-13) */
    /* 대표원장 소개 (idx 18) Con_03 — 769~1040 문구 폭 70%: 좌우 가장자리 사진 자리 확보 */

    .sub_cont .sect_tit_box .sect_tit {font-size: var(--h2);}
    .pg_about .team_txt {font-size: var(--p2);}

    .lang-ja .sub_cont .sect_tit_box .sect_tit br {display: none;}


    .sub_ba_stories .ba_deco .big_txt {font-size: min(120px, calc(100vw / var(--chars, 20) * 1.85));}
    .sub_ba_stories .in {margin-top: var(--pd4);}
    .sub_ba_stories .ba_story {flex-direction: column; align-items: stretch; gap: 4rem;}
    .sub_ba_stories .ba_story.is-rev {flex-direction: column;}
    .sub_ba_stories .ba_story .quote .q_txt {max-width: none;}
    .sub_ba_stories .ba_story .txt_box {flex: none; min-height: 0;}   /* column 방향에서 flex-basis 0 이면 높이가 0 이 돼 겹침 */
    .sub_ba_stories .ba_story .quote {margin-top: 3rem;}
    .sub_ba_stories .ba_story .img_box {width: 100%;}
    .sub_ba_stories .ba_story .img {height: auto; aspect-ratio: 472 / 620;}


    .sub_ba_stories .ba_story .notice  {margin-top: var(--contMt4);}
    .pg_medical_conditions .safe_head .desc {width: 100%; }
    .pg_medical_conditions .safe_head .desc br {display: none;}
    /* 전신질환 임플란트 (idx 28) Con_04 ≤1040 — 제목·설명(safe_head) 한 줄 전체, 아래에 목록 | 이미지 2열(2026-09-30) */
    .pg_medical_conditions .safe_body {grid-template-columns: minmax(0, 1fr) 40%; grid-template-areas: 'head head' 'list img'; row-gap: var(--contMt2); align-items: flex-end;}
    .pg_medical_conditions .safe_list {align-self: end; margin-top: 0;}   /* 목록·이미지 아래선 맞춤 */
    .pg_medical_conditions .safe_body .img_box {align-self: end;}
    .pg_medical_conditions .safe_body .sect_tit_box .sect_tit {white-space: unset;}

    .pg_medical_conditions .safe_list .tit {font-size: var(--p1);}

    .pg_chief_director .profile_img {width: 50%;}






    /* 10401 */



}

/* ───────── ≤768 (모바일) ───────── */
@media screen and (max-width: 768px) {
    .sub_video_play {width: 56px; height: 56px;}

    .sub_why_heal .why_wrap {border-start-end-radius: var(--borderRadius);}

    


    /* 서브 공용 */
    .sub_top.type_light {padding-top: calc(var(--hdH) + 6rem);}
    .sub_top .sub_top_tit {margin-top: 1.5rem; font-size: var(--h1);}
    .sub_top .sub_top_nav {gap: 1.2rem; padding: 0 2rem; margin-top: 3rem;}
    .sub_top .sub_top_nav .sub_dropdown {flex: 1 1 0; min-width: 0; width: auto;}
    .sub_top .sub_top_nav .sub_dropdown > ul {inset-inline-start: 0; min-width: 100%; max-width: calc(100vw - 3rem);}
    .sub_top .sub_top_nav .sub_dropdown > ul a {white-space: normal;}
    .sub_intro .intro_img.round {border-radius: 1.5rem; border-end-start-radius: 10rem;}
    .sub_top .sub_top_nav .smile {position: static; transform: none; flex-shrink: 0;}
    .sub_top.type_visual {height: auto; min-height: 50rem; padding-top: calc(var(--hdH) + 8rem);}
    .sub_top.type_visual .sub_top_nav {margin-top: 4rem;}
    .sub_cont .sect_tit_box .sect_tit { overflow-wrap: anywhere;}
    .sub_cont .sect_tit_box.lg .sect_tit {font-size: 40px;}
    .sub_hero .hero_txt .tit, .sub_desc_box .desc_tit {overflow-wrap: anywhere;}   /* 긴 단어(ru 등) 안전망 */
    .sub_hero {height: auto; min-height: 60rem; padding: 12rem 0;}
    .sub_hero .hero_txt .tit {font-size: var(--h1);}
    .sub_hero .hero_txt .txt br {display: none;}   /* PC 줄바꿈을 모바일에 강제하지 않음 */
    .sub_intro .sect_tit_box + .sub_desc_box {margin-top: 3rem;}
    .sub_intro .intro_img {margin-top: var(--contMt3);}
    .sub_num_cards {border-end-start-radius: 15rem;}
    .sub_num_cards .num_card_list {gap: 8rem 3rem;}
    .sub_num_cards .num_card_list > li {width: calc(50% - 1.5rem);}
    .sub_num_cards .num_card_list > li:nth-child(even) {padding-top: 0;}
    .sub_num_cards .num_card_list .txt, .sub_num_cards .num_card_list .txt_list {max-width: none;}
    .sub_step_rows .step_row_list {gap: 60px;}
    .sub_step_rows .step_row_list > li {grid-template-columns: 1fr; gap: 2.5rem;}
    .sub_step_rows .step_row_list .img {height: auto; aspect-ratio: 740 / 500;}
    .sub_step_rows .step_row_list .num {font-size: var(--h3); margin-bottom: 10px;}
    .sub_step_rows .step_row_list .tit {margin-top: 1.5rem;}
    .sub_step_rows .step_row_list .txt {max-width: none;}

    .sub_ba_stories .ba_story_list {gap: var(--pd2);}
    .sub_ba_stories .ba_story .notice {margin-top: 40px;}
    .sub_ba_stories .ba_story .quote .q_mark {height: auto; width: 3rem;;}

    .sub_slide_ctrl {gap: 2rem;}
    .sub_slide_ctrl .frac .bar {width: 10rem;}
    .sub_slide_ctrl .btns button {width: 30px;}
    .sub_slide_ctrl .btns button svg {width: 16px; height: auto;}
    .sub_num_cards .num_card_list.col3 {gap: 3rem;}
    .sub_num_cards .num_card_list.col3 > li:nth-child(3n+2) {padding-top: 0;}
    .sub_type_cards {padding-top: var(--pd2);}
    .sub_type_cards .type_card_list {gap: 3rem 2rem;}
    .sub_type_cards .type_card_list > li, .sub_type_cards .type_card_list.cols3 > li {width: calc(50% - 1rem);}
    .sub_type_cards .type_card_list.cols2 > li {width: 100%;}
    .sub_type_cards .type_card_list.cols2 .img {aspect-ratio: 780 / 410;}
    .sub_type_cards .type_card_list .img {border-radius: 12rem 12rem 5rem 5rem;}
    .sub_type_cards .type_card_list > li:nth-child(even) .img {border-radius: 5rem 5rem 12rem 12rem;}
    .sub_type_cards .type_card_list .num {padding: 1rem 1.5rem; font-size: var(--h5);}
    .sub_type_cards .type_card_list .num svg {width: 2.3rem; height: 2rem;}
    .sub_type_cards .type_card_list .tit, .sub_type_cards .type_card_list.cols3 .tit {margin-top: 2rem;}
    .sub_type_cards .type_card_list .txt, .sub_type_cards .type_card_list.cols3 .txt, .sub_type_cards .type_card_list.cols2 .txt {max-width: none; margin-top: 1rem;}
    .sub_type_cards .type_note {margin-top: var(--contMt3); padding: 3rem 2.5rem; border-radius: 4rem; border-start-end-radius: 0;}
    .sub_wide_slider .wide_head {flex-direction: column; align-items: flex-start; gap: 2rem;}
    .sub_wide_slider .wide_slider .swiper-slide {grid-template-columns: 1fr; gap: 2.5rem;}
    .sub_wide_slider .wide_slider .swiper-slide-prev,
     .sub_wide_slider .wide_slider .swiper-slide-next {opacity: 1}
    .sub_wide_slider .wide_slider .img {height: auto; border-end-start-radius: 10rem; border-start-end-radius: 10rem;}
    .sub_wide_slider .wide_slider .num {font-size: var(--h1);}
    .sub_wide_slider .wide_slider .tit {margin-top: 1.5rem;}
    .sub_marquee {padding: 3rem 0;}
    .sub_marquee .marquee_txt {font-size: 64px;}

    .sub_ba_stories {border-start-start-radius: 4rem; border-start-end-radius: 4rem;}
    .sub_ba_stories .ba_deco {gap: 2rem;}
    .sub_ba_stories .ba_deco .smile {width: 12rem; height: auto;}
    .sub_ba_stories .ba_deco .big_txt {font-size: min(56px, calc(100vw / var(--chars, 20) * 1.85));}
    .sub_ba_stories .ba_story_list {gap: var(--pd4);}
    .sub_ba_stories .ba_story .quote .q_tit, .sub_ba_stories .ba_story .quote .q_txt {max-width: none;}
    .sub_why_heal .why_body {flex-direction: column; gap: 3rem;}
    .sub_why_heal .why_col {display: contents;}   /* 좌(1·3·5)/우(2·4·6) 열을 풀어 카드를 why_body 의 직계 아이템으로 → order 로 1~6 순서 복원 */
    .sub_why_heal .why_col:not(.col_r) .why_card:nth-child(1) {order: 1;}
    .sub_why_heal .why_col.col_r .why_card:nth-child(1) {order: 2;}
    .sub_why_heal .why_col:not(.col_r) .why_card:nth-child(2) {order: 3;}
    .sub_why_heal .why_col.col_r .why_card:nth-child(2) {order: 4;}
    .sub_why_heal .why_col:not(.col_r) .why_card:nth-child(3) {order: 5;}
    .sub_why_heal .why_col.col_r .why_card:nth-child(3) {order: 6;}
    .sub_why_heal .why_bar {display: none;}
    .sub_why_heal .why_card {padding: 15px 15px 30px; border-radius: 15px;}
    .sub_why_heal .why_card .img {height: auto; aspect-ratio: 740 / 400; border-radius: 1.5rem; border-end-start-radius: 8rem;}
    .sub_why_heal .why_card .num {margin-top: 3rem;}
    .sub_why_heal .why_card .txt {max-width: none;}

    /* 서브 공용(라미네이트·트리네이트): ba_grid / gallery_slider / review_cards */
.sub_ba_grid {grid-template-columns: 1fr; gap: 3rem;}
.sub_ba_grid > li {padding: 0 2.5rem 2.5rem;}
.sub_ba_grid .imgs .img {height: 22rem;}
.sub_gallery_slider {gap: 3rem; border-radius: 2rem;}
.sub_gallery_slider .swiper-slide {width: min(80rem, 80vw);}


.pg_sleep .pg_sleep_sedation .sedation_body {grid-template-columns: 1fr; gap: 4rem; padding-inline-start: 0;}
.pg_sleep .pg_sleep_sedation .txt_box {max-width: none; padding: 0 var(--inPd);}
.pg_sleep .pg_sleep_sedation .img {height: auto; aspect-ratio: 4 / 3; margin-inline-start: var(--inPd); border-start-start-radius: 20rem; border-end-start-radius: 20rem;}

/* .pg_medical_conditions .safe_body {grid-template-columns: 1fr; grid-template-areas: 'head' 'img' 'list'; row-gap: var(--contMt3);} */
.pg_medical_conditions .safe_head .desc {max-width: none; margin-top: 3rem;}
.pg_medical_conditions .safe_list {max-width: none; margin-top: 0;}
.pg_medical_conditions .safe_list > li {padding-block: 3rem; padding-inline-end: 0;}
.pg_medical_conditions .safe_body .img_box {}
.pg_medical_conditions .safe_body .img_box .img {border-start-end-radius: 12rem;}
.pg_medical_conditions .safe_body .img_box .circle_txt {top: 10rem; inset-inline-end:3.5rem; width: 20rem; height: 20rem; font-size: var(--p5);}

.pg_consultation .notice_box {padding: 3rem 2.5rem;}
.pg_consultation .notice_txt br {display: none;}
.pg_consultation .info_list {flex-direction: column; gap: 1.5rem;}
.pg_consultation .info_box {padding: 3rem 2.5rem; gap: 1.5rem;}
.pg_consultation .required_note {margin-top: 4rem;}
.pg_consultation .form_wrap {margin-top: 4rem;}

.pg_implants .structure {margin-bottom: var(--pd3);}
.pg_implants .diagram {aspect-ratio: auto;}
.pg_implants .diagram > img {height: auto;}
.pg_implants .diagram_labels {display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 1.5rem;}   /* 지시선 라벨 → 그림 아래 범례(모바일 시안 없음: 좁은 폭에서 pill 이 그림을 덮음) */
.pg_implants .diagram_labels > li, .pg_implants .diagram_labels .lbl1, .pg_implants .diagram_labels .lbl2, .pg_implants .diagram_labels .lbl3 {position: static; width: auto; height: auto;}
.pg_implants .diagram_labels > li::before, .pg_implants .diagram_labels > li::after {display: none;}
.pg_implants .part_list {margin-top: 3rem;}
.pg_implants .part_list > li {flex-direction: column; align-items: flex-start; gap: 1rem; padding: 2rem 2.5rem;}
.pg_implants .part_list .name {min-width: 0;}


    /* [서브 공용] 목록 헤드·탭·페이지네이션·상세 내비 (42·43·47) */
    .sub_list_head {flex-direction: column; align-items: stretch; gap: 1.5rem;}
    .sub_search {width: 100%; height: 5rem; padding-inline-start: 2rem;}
    .sub_search button {width: 3.4rem; height: 3.4rem;}
    .sub_tabs {gap: 1.5rem 2.4rem;}
    .sub_tabs a {font-size: var(--h7);}
    .sub_tabs a.is-cur, .sub_tabs a[aria-current="page"] {padding: 0.8rem 2rem;}
    .sub_paging {gap: 1.2rem; margin-top: 4rem;}
    .sub_paging .pg_nums {gap: 0.6rem;}
    .sub_paging .pg_nums a, .sub_paging .pg_nums span {min-width: 2.6rem; height: 2.6rem; font-size: var(--p3);}
    .sub_post_nav {gap: 3rem;}
    .sub_post_nav .nav_list > li {gap: 2rem; padding: 1.6rem 1rem;}
    .sub_post_nav .list_btn {min-width: 12rem; padding: 1.4rem 2rem;}

.pg_patient_experience .ba_btns {flex-direction: column; align-items: center; gap: 1rem;}
.pg_patient_experience .ba_btn {min-width: 30rem;}
.pg_patient_experience .ba_collage {display: grid; grid-template-columns: repeat(var(--ba-caps, 3), minmax(0, 1fr)); gap: 1.5rem; height: auto;}   /* 모바일 시안 없음: 와이드(전후) 카드를 먼저 전체 폭으로, 캡슐은 아래 한 줄. --ba-caps = 캡슐 수(= 카드 수 - 1, _Skin/41.php) */
.pg_patient_experience .ba_collage > li {height: auto; aspect-ratio: 34 / 50;}   /* 그리드에서는 cqw 높이 대신 비율 — 전환 애니메이션 없이 바로 바뀜 */
.pg_patient_experience .ba_collage > li.active {grid-column: 1 / -1; order: -1; height: auto; aspect-ratio: 4 / 3; border-radius: 2rem;}
.pg_patient_experience .ba_collage .lbl {min-width: 7rem; padding: 0.7rem 1.2rem;}

.pg_faq .faq_q {display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "cate arr" "q arr"; gap: 0.6rem 2rem; min-height: 9rem; padding: 2rem 1.5rem;}
.pg_faq .faq_q .cate {grid-area: cate; width: auto; text-align: start;}
.pg_faq .faq_q .q_txt {grid-area: q; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; line-height: 1.5;}
.pg_faq .faq_q .arr {grid-area: arr; align-self: center;}
.pg_faq .faq_a_body {gap: 1.5rem; padding: 2.5rem 1.5rem 3.5rem;}
.pg_faq .faq_a_body .a_lbl {width: 5rem; line-height: 1.5;}

.pg_ba_list .ba_card_list {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5rem 2rem;}
.pg_ba_list .ba_card {gap: 2.5rem;}
.sub_ba_compare .chip, .pg_ba_list .ba_card .imgs.is-single .chip {min-width: 0; padding: 7px 12px;}
.sub_ba_compare .handle {width: 30px; height: 30px;}
.sub_ba_compare .ba_line {width: 2px;}
.pg_ba_list .ba_card .writer {margin-top: 1.5rem;}
.pg_ba_view .pg_ba_view_body {padding-top: calc(var(--hdH) + 6rem);}
.pg_ba_view .post_head {padding-bottom: 2rem;}
.pg_ba_view .post_head .meta {margin-top: 2rem;}
.pg_ba_view .post_body {padding: 0;}
.pg_ba_view .post_body .txt + .ba_imgs {margin-top: 3rem;}
.pg_ba_view .ba_imgs {aspect-ratio: 4 / 3; border-radius: 1.5rem;}
.pg_ba_view .ba_imgs .lbl {bottom: 1.2rem;}
.pg_ba_view .ba_imgs .before .lbl {inset-inline-start: 1.2rem;}
.pg_ba_view .ba_imgs .after .lbl {inset-inline-end: 1.2rem;}

/* 시니어 트리네이트 (idx 24) */
.pg_senior_trinate .intro_visual {aspect-ratio: 1 / 1; border-radius: 1.5rem; border-end-start-radius: 10rem;}   /* 모바일 시안 없음: 정사각 박스 — 위 로고·인용, 아래 인물(폭 70%) */
.pg_senior_trinate .intro_visual .person {inset-inline-start: 15%; width: 70%;}
.pg_senior_trinate .intro_visual .visual_txt {top: 7%; inset-inline-start: 10%; width: 80%; gap: 2.5rem; transform: none;}
.pg_senior_trinate .intro_visual .smile {width: 11rem; height: 3.4rem;}
.pg_senior_trinate .intro_visual .quote {font-size: var(--h5);}
.pg_senior_trinate .intro_visual .quote .q_mark {font-size: var(--h3);}

    /* 크라운 보철 (idx 35) */
    .pg_crown_restoration .crown_types {margin-top: var(--pd3);}

    /* 충치치료 (idx 33) */
.pg_cavity_treatment .proc_list {flex-wrap: wrap; gap: 4rem 2rem; margin-top: var(--contMt3);}
.pg_cavity_treatment .proc_list > li {flex: 0 0 calc(50% - 1rem);}
.pg_cavity_treatment .proc_list .img {border-radius: 30rem 30rem 1.5rem 1.5rem;}   /* 30rem = 카드 반폭 이상 → 브라우저가 비례 축소해 캡슐 유지 */
.pg_cavity_treatment .proc_list > li:nth-child(even) .img {border-radius: 1.5rem 1.5rem 30rem 30rem;}
.pg_cavity_treatment .proc_list .num {margin-top: 2rem;}
.pg_cavity_treatment .proc_list .txt {max-width: none;}

    /* 환자 스토리 (idx 45) */
    .pg_patient_stories .story_card_list {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem 2rem;}
    .pg_patient_stories .story_card .thumb {border-radius: 1.5rem;}
    .pg_patient_stories .story_card .play {width: 4rem; height: 4rem;}
    .pg_patient_stories .story_card .txt_box {margin-top: 2rem;}

    /* 수면무호흡·코골이 장치 (idx 40) */
    .pg_sleep_apnea_snoring .sub_type_cards .sect_tit_box + .sub_desc_box {max-width: none; margin-top: 3rem;}   /* 공용 .sub_intro 의 768 간격(3rem)과 동일 */

    /* 병원소개 (idx 13) */
.pg_about .pg_about_values {border-end-start-radius: 15rem;}





    /* 의료진 소개 (idx 17) */
.pg_medical_team .doctor_row, .pg_medical_team .doctor_row.is-rev {flex-direction: column; gap: 3rem;}
.pg_medical_team .doctor_row .img {flex: none; width: 100%; aspect-ratio: 4 / 5; border-radius: 2rem; border-end-start-radius: 12rem;}
.pg_medical_team .doctor_row.is-rev .img {border-end-start-radius: 2rem; border-end-end-radius: 12rem;}
.pg_medical_team .doctor_row .txt_box {width: 100%;}
.pg_medical_team .doctor_row .head {padding-bottom: 2rem;}
.pg_medical_team .doctor_row .name {font-size: var(--h2);}
.pg_medical_team .doctor_row .quote {margin-top: 3rem;}
.pg_medical_team .doctor_row .quote .q_mark {font-size: var(--h2);}
.pg_medical_team .doctor_row .career, .pg_medical_team .doctor_row .head + .career {max-width: none; margin-top: 3rem;}

    /* 연세힐치과의 약속 (idx 19) */
.pg_promise .sub_desc_box .desc_tit br {display: none;}
.pg_promise .pg_promise_intro {padding-bottom: 0;}
.pg_promise .intro_head > .sub_desc_box {margin-top: 2.5rem;}
.pg_promise .intro_body {flex-direction: column; gap: 4rem; margin-top: var(--contMt3);}
.pg_promise .intro_img {width: 100%; border-start-start-radius: 12rem; border-end-end-radius: 12rem;}
.pg_promise .intro_img .smile {bottom: 3rem; inset-inline-end: 6rem; width: 40%;}
.pg_promise .intro_txt {gap: 3rem; width: 100%;}
.pg_promise .intro_txt .quote {padding: 3.5rem 2.5rem; border-radius: 4rem; border-end-start-radius: 0;}
.pg_promise .intro_txt .q_txt {gap: 0.6rem;}
.pg_promise .intro_txt .q_mark {font-size: var(--h2);}
.pg_promise .intro_txt .sign {width: 24rem;}
.pg_promise .pg_promise_promises {padding-bottom: var(--pd1);}

    /* 오시는 길 (idx 21) */
.pg_location .info_block {padding: 0 0 5rem;}
.pg_location .blk_tit {font-size: var(--h3);}
.pg_location .tel {font-size: var(--h2);}
.pg_location .consult_block { gap: 5rem; padding: 0 0 5rem;}
.pg_location .consult_info {margin-top: var(--contMt3);}
.pg_location .hours_box {margin-top: var(--contMt4);}
.pg_location .hours .day {flex-basis: 9em;}
.pg_location .parking {max-width: none;}
.pg_location .sketch {width: 100%; max-width: 50rem;}
.pg_location .airport_block .blk_txt {margin-top: 3rem; font-size: var(--p2);}
.pg_location .airport_block .map_img {margin-top: 3rem; border-radius: 1.5rem;}

    /* 라미네이트 (idx 22) */
    .pg_veneers .quote_cards {grid-template-columns: repeat(2,minmax(0, 1fr)); align-items: stretch ; gap: 15px; padding-bottom: 0; margin-top: var(--contMt2);}
    .pg_veneers .quote_cards > li {gap: 15px; padding: 3rem; border-radius: 2rem; border-end-end-radius: 8rem; display: flex; flex-direction: column; }
    .pg_veneers .quote_cards > li:nth-child(odd) {top: 0;}
    .pg_veneers .quote_cards .q_txt p {font-size: var(--p3);}
    .pg_veneers .quote_cards .q_img {border-radius: 1.5rem; margin-top: auto; border-start-start-radius: 6rem; border-end-end-radius: 6rem;}
    .pg_veneers .diff_block {margin-top: var(--pd3);}
    .pg_veneers .diagram .diagram_labels > li {font-size: var(--p5); max-width: 12rem;}
    .pg_veneers .collage {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: none; aspect-ratio: auto;}
    .pg_veneers .collage .c_img {position: static; width: auto; height: auto; border-radius: 2rem;}
    .pg_veneers .collage .c1 {grid-column: 1 / -1; aspect-ratio: 840 / 500; border-end-start-radius: 12rem;}
    .pg_veneers .collage .c2, .pg_veneers .collage .c3 {aspect-ratio: 480 / 550;}
    .pg_veneers .collage .c4 {grid-column: 1 / -1; aspect-ratio: 720 / 450; border-end-end-radius: 12rem;}
    .pg_veneers .collage .circle_txt {display: none;}
    .pg_veneers .art_body {grid-template-columns: minmax(0, 1fr); gap: var(--contMt4);}
    .pg_veneers .art_txt {justify-content: flex-start; }
    .pg_veneers .art_txt .txt_box {width: 100%;}
    .pg_veneers .art_img {height: 50rem; margin-inline-start: 0rem; border-start-start-radius: 30rem; border-end-start-radius: 30rem;}
    .pg_veneers .detail_imgs {gap: 1.5rem;}
    .pg_veneers .detail_imgs > li {height: auto; aspect-ratio: 785 / 1100; border-radius: 2rem;}
    .pg_veneers .detail_imgs > li:first-child {border-start-start-radius: 12rem;}
    .pg_veneers .detail_imgs > li:last-child {border-end-end-radius: 12rem;}
    .pg_veneers .detail_quote {font-size: var(--h5);}


    /* 대표원장 소개 (idx 18) */
    .pg_chief_director .pg_chief_director_profile {border-end-start-radius: 3rem; border-end-end-radius: 3rem;}
    .pg_chief_director .profile_body { gap: 4rem; margin-top: var(--contMt3);}
    .pg_chief_director .profile_img {width: 50%; margin: calc(min(67.4rem, 100%) * 0.269) auto 0; border-start-start-radius: 30rem;}
    .pg_chief_director .profile_img .circle_txt {top: 0%; inset-inline-start: -1.5rem; width: 16rem; height: 16rem;}
    .pg_chief_director .profile_txt {width: 100%;}
    .pg_chief_director .career_list {margin-top: 2rem; font-size: var(--p4);}
    .pg_chief_director .story_txt {max-width: 70%; font-size: var(--p1);}   /* ≤768 문구 폭 70% — 좌우 가장자리에 사진 자리(참고 medi 모바일) */
    .pg_chief_director .story_imgs .pic {border-radius: 1rem;}
    .pg_chief_director .story_imgs > li:nth-child(1) {top: 8%; inset-inline-start: -6%; width: 26vw;}
    .pg_chief_director .story_imgs > li:nth-child(4) {top: 12%; inset-inline-start: 60%; width: 18vw;}
    .pg_chief_director .story_imgs > li:nth-child(5) {top: 29%; inset-inline-start: 87%; width: 22vw;}
    .pg_chief_director .story_imgs > li:nth-child(2) {top: 56%; inset-inline-start: -9%; width: 22vw;}
    .pg_chief_director .story_imgs > li:nth-child(3) {top: auto; bottom: 6%; inset-inline-start: 38%; width: min(20vw, calc((40lvh - var(--th) - 3rem) / 1.5));}
    .pg_chief_director .story_imgs > li:nth-child(6) {bottom: 2%; inset-inline-start: 84%; width: 20vw;}
    .pg_chief_director .world_head {flex-direction: column; align-items: flex-start; gap: 3rem;}
    .pg_chief_director .world_txt {max-width: none; margin-top: 3rem;}
    .pg_chief_director .lecture_slider {margin-top: var(--contMt3); padding-inline-start: var(--inPd);}
    .pg_chief_director .lecture_slider .swiper-slide {width: min(54.8rem, 75vw);}
    .pg_chief_director .lecture_slider .img {height: auto; aspect-ratio: 548 / 400; border-radius: 2rem; border-start-end-radius: 10rem; border-end-start-radius: 10rem;}
    .pg_chief_director .lecture_slider .cap {margin-top: 2rem;}


    .pg_medical_team .doctor_row .career > li::before {width: 3px; height: 3px;}



    /* 7681 */
}

/* ───────── ≤600 (초소형, 선택) ───────── */
@media screen and (max-width: 600px) {
    .sub_video_play {width: 44px; height: 44px;}   /* 터치 최소 크기 */
    /* 서브 히어로 모바일 이미지(2026-09-30, 시안 🟢모바일이미지) — .mini_only 는 시안 390 프레임 크롭(딤 포함)이라 가운데 정렬·사이트 오버레이 끔(이중 딤 방지) */
    .sub_cont .sub_hero .hero_bg img.mini_only {object-position: center center;}
    .sub_cont .sub_hero .hero_bg:has(> img.mini_only)::before, .sub_cont .sub_hero .hero_bg:has(> img.mini_only)::after {display: none;}
    /* 대표원장 소개 (idx 18) Con_03 ≤600 — 문구 폭 100%, 사진은 화면 위 끝(1·6·4)·아래 끝(2·3·5)에 붙여 문구 주변은 비움(참고 medi 모바일).
       크기 = min(기본 vw, 화면 끝~문구 사이 남은 높이 ÷ 사진 세로비) → 낮은 화면에서도 문구와 안 겹침 */
    .pg_chief_director .story_txt {max-width: none; font-size: var(--p2);}


    .pg_chief_director .story_imgs > li:nth-child(1) {top: 4%; inset-inline-start: -6%; width: 28vw;}
    .pg_chief_director .story_imgs > li:nth-child(4) {top: 8%; inset-inline-start: 50%; width: 20vw;}
    .pg_chief_director .story_imgs > li:nth-child(5) {top: 20%; inset-inline-start: 87%; width: 26vw;}
    .pg_chief_director .story_imgs > li:nth-child(2) {top: 70%; inset-inline-start: -6%; width: 24vw;}
    .pg_chief_director .story_imgs > li:nth-child(3) {top: auto; bottom: 6%; inset-inline-start: 38%; width: min(24vw, calc((44lvh - var(--th) - 3rem) / 1.5));}
    .pg_chief_director .story_imgs > li:nth-child(6) {bottom: 8%; inset-inline-start: 84%; width: 24vw;}


    .pg_about .values_grid {flex-direction: column; gap: 5rem;}
    .pg_about .values_grid .col:first-child {padding-top: 0;}
    .pg_about .values_grid .col:last-child {gap: 5rem;}
    .pg_about .value_card .img, .pg_about .values_grid .col:first-child .value_card .img {aspect-ratio: 725 / 520; border-end-start-radius: 10rem;}
    .pg_about .values_grid .col:first-child .value_card .img {aspect-ratio: 725 / 640;}
    .pg_about .values_grid .col:first-child .value_card .img img {object-position: 50% 20%;}
    .pg_about .value_card .txt_box {padding: 0; margin-top: 2.5rem;}
    .pg_about .value_card .quote {width: 3rem; height: 2.5rem;}

    .pg_about .values_grid .col:first-child .value_card .tit, .pg_about .values_grid .col:last-child .value_card:first-child .tit, .pg_about .values_grid .col:last-child .value_card:last-child .tit {max-width: none;}
    .pg_about .space_head {padding-top: 0;}
    .pg_about .space_collage {flex-direction: column; gap: 3rem;}
    .pg_about .space_collage .col:last-child {padding-top: 0;}
    .pg_about .space_collage .col:first-child .img:first-child {border-end-start-radius: 10rem;}
    .pg_about .space_collage .col:first-child .img:last-child {width: 100%; margin-top: 3rem; margin-inline-start: 0; aspect-ratio: 4 / 5;}
    .pg_about .space_collage .col:last-child .img:last-child {width: 100%; margin-top: 3rem; border-end-end-radius: 10rem;}
    .pg_about .lounge_slider .swiper-slide {width: 51.5rem;}
    .pg_about .lounge_slider .slide_box {width: calc(50rem - 36rem * var(--sp, 1)); height: 32.9rem; border-end-start-radius: calc(12.5rem + 86.5rem * var(--sp, 1)); transform: translate(calc(var(--ss, 0) * (18rem * var(--sp, 1) + 36rem * var(--se, 0))), calc(0.5rem * var(--sp, 1) + 1rem * var(--se, 0)));}
    .pg_about .lounge_slider .circle_txt {top: -8rem; inset-inline-end: -1rem; width: 16rem; height: 16rem;}
    .pg_about .lounge_desc {margin-top: 5rem;}
    .pg_about .lounge_desc .sub_tit {font-size: var(--h3);}
    .pg_about .team_head {flex-direction: column; align-items: flex-start; gap: 2rem;}
    .pg_about .team_txt {max-width: none; text-align: start;}
    .pg_about .team_img {border-end-start-radius: 10rem;}

    /* 서브 공용 */
    .sub_top .sub_top_nav .smile {width: 2.5rem;}
    .sub_num_cards .num_card_list.col3 > li {max-width: 40rem;}
    .sub_type_cards .type_card_list.cols3 > li {width: 100%;}


    /* 환자 스토리 (idx 45) */
    .pg_patient_stories .story_card_list {grid-template-columns: 1fr; gap: 4rem;}

    /* 병원소개 (idx 13) */
    .pg_about .lounge_slider .swiper-slide {width: 39.5rem;}
    .pg_about .lounge_slider .slide_box {width: calc(38rem - 28rem * var(--sp, 1)); height: 25rem; border-end-start-radius: calc(9.5rem + 89.5rem * var(--sp, 1)); transform: translate(calc(var(--ss, 0) * (14rem * var(--sp, 1) + 28rem * var(--se, 0))), calc(0.5rem * var(--sp, 1) + 1rem * var(--se, 0)));}


    .sub_why_heal .why_head .sect_tit_box {width: 100%;}


    .pg_location .consult_block {flex-direction: column; align-items: stretch; }
    .pg_location .sketch {width: 100%; max-width: 100%;}

    .pg_medical_conditions .safe_body {grid-template-columns: 1fr; grid-template-areas: 'head' 'img' 'list'; row-gap: var(--contMt3);}
 


    .pg_veneers .art_body {flex-direction: column;}
    .pg_veneers .art_txt {width: 100%;}
    .pg_veneers .art_img {width: 100%;}

    .pg_veneers .art_body {gap: var(--contMt2);}


    .sub_cont .sect_tit_box .sect_tit br {display: none;}

    .sub_vn_review .sub_review_cards {margin-top: var(--pd4);}
    .sub_review_cards {grid-template-columns: 1fr; gap: 5rem;}
    .sub_review_cards > li {width: 100%; }
    .sub_review_cards .img {height: auto;}
    .sub_review_cards .head {margin-top: 2.5rem;}
    .sub_review_cards.capsule > li:nth-child(2) {padding-top: 0;}

    .sub_gallery_slider .swiper-slide {width: 80vw;}
    .sub_gallery_slider .swiper-slide .img {border-start-end-radius: 10rem; border-end-start-radius: 10rem; transform: scale(0.9);}
    .sub_gallery_slider .swiper-slide-active .img {transform: unset;}
    

    .pg_chief_director .profile_body {flex-direction: column; align-items: stretch;}
    .pg_chief_director .profile_img {width: 100%;}

    .sub_desc_box .desc_tit br {display: none;}
    .pg_consultation .notice_tit {font-size: var(--p3); align-items: flex-start;}
    .pg_consultation .notice_txt {font-size: var(--p4);}
    .pg_consultation .notice_tit .ico {margin-top: 0.2em;}


    .sub_num_cards .num_card_list {gap: 6rem 3rem;}
    .sub_num_cards .num_card_list .tit {font-size: var(--p1);}


    /* 6001 */
}

/* ───────── 기타 미디어 (브레이크포인트가 아닌 미디어쿼리) ───────── */
@media (prefers-reduced-motion: reduce) {
    /* 서브 공용: 리빌·마퀴 최종 상태 고정 */
    .sub_js .sub_hero .hero_txt .tit, .sub_js .sub_hero .hero_txt .txt, .sub_js .sub_num_cards .num_card_list > li, .sub_js .sub_step_rows .step_row_list > li, .sub_js .sub_type_cards .type_card_list > li, .sub_js .sub_cont .sub_reveal {opacity: 1; transform: none; transition: none;}
    .sub_marquee .marquee_track {animation: none;}
}


@media (prefers-reduced-motion: reduce) {
    .sub_gallery_slider .swiper-slide .img {transition: none;}
    /* 환자 경험 (idx 41) B&A 콜라주 — 아코디언 전환 끔 */
    .pg_patient_experience .ba_collage > li, .pg_patient_experience .ba_collage .img img, .pg_patient_experience .ba_collage .img .pair, .pg_patient_experience .ba_collage .lbl {transition: none;}
}


/* PC(769~): 카테고리 라벨 열을 subgrid 로 행 전체가 공유 — 기본 8rem(시안), ru/ar 처럼 긴 카테고리명이면 가장 긴 라벨 폭(최대 26.5rem)으로 전 행이 같이 넓어진다(미지원 브라우저는 sub.css 의 flex + 8rem 고정 + 단어 안 줄바꿈). 1열/5열 4rem 은 행 좌우 패딩, 2열 11.5rem = 라벨 8rem + 간격 3.5rem */
@media screen and (min-width: 769px) {
    @supports (grid-template-columns: subgrid) {
        .pg_faq .faq_list {display: grid; grid-template-columns: 4rem minmax(11.5rem, max-content) minmax(0, 1fr) auto 4rem;}
        .pg_faq .faq_item {display: grid; grid-column: 1 / -1; grid-template-columns: subgrid;}
        .pg_faq .faq_q_h {display: grid; grid-column: 1 / -1; grid-template-columns: subgrid;}   /* h3 래퍼도 열을 그대로 넘긴다 — 없으면 질문 행이 첫 열(4rem)에 갇힌다 */
        .pg_faq .faq_q {display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: center; gap: 0; padding-inline: 0;}
        .pg_faq .faq_q .cate {grid-column: 2; width: auto; max-width: 26.5rem; margin-inline-end: 3.5rem;}
        .pg_faq .faq_q .q_txt {grid-column: 3;}
        .pg_faq .faq_q .arr {grid-column: 4; margin-inline-start: 3.5rem;}
        .pg_faq .faq_a {grid-column: 1 / -1; grid-template-columns: subgrid;}
        /* 답변 A 라벨도 같은 2열을 공유 → 질문 카테고리와 폭·가운데 정렬이 맞음. 답변 끝 여백(30rem / ≤1240 10rem)은 본문 칸 padding 으로 옮김 */
        .pg_faq .faq_a_in, .pg_faq .faq_a_body {display: grid; grid-column: 1 / -1; grid-template-columns: subgrid;}
        .pg_faq .faq_a_body {align-items: start; gap: 0; padding-inline: 0;}
        .pg_faq .faq_a_body .a_lbl {grid-column: 2; width: auto; margin-inline-end: 3.5rem;}
        .pg_faq .faq_a_body .a_txt {grid-column: 3 / -1; padding-inline-end: 30rem;}
    }
}
@media screen and (min-width: 769px) and (max-width: 1240px) {
    @supports (grid-template-columns: subgrid) {
        .pg_faq .faq_a_body .a_txt {padding-inline-end: 10rem;}
    }
}
/* 오시는 길(idx 21) 진료시간 — 요일 열을 subgrid 로 전 행이 공유: 기본 12rem(≤768 9em), 긴 요일명(ru·ar 등)이면 가장 긴 요일 폭으로 전 행이 같이 넓어진다(미지원 브라우저는 sub.css 의 flex + 고정 폭) */
@supports (grid-template-columns: subgrid) {
    .pg_location .hours {display: grid; grid-template-columns: minmax(12rem, max-content) minmax(0, 1fr); gap: 2rem;}
    .pg_location .hours > li {display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: start;}
}
@media screen and (max-width: 768px) {
    @supports (grid-template-columns: subgrid) {
        .pg_location .hours {grid-template-columns: minmax(9em, max-content) minmax(0, 1fr);}
    }
}
@media (hover: hover) and (min-width: 1241px) {
    .pg_faq .faq_q:hover .q_txt {color: var(--point01);}
}
@media (prefers-reduced-motion: reduce) {
    .pg_faq .faq_a, .pg_faq .faq_q .arr svg, .pg_faq .faq_q .q_txt {transition: none;}
}

@media screen and (max-width: 768px) {
    .pg_ba_list .ba_card .tit {font-size: var(--p1);}
}

@media screen and (max-width: 600px) {
    .pg_ba_list .ba_card_list { gap: var(--pd4) 15px;}
    .sub_ba_compare .chip {font-size: 10px;}
}
/* 리빌은 공용 .sub_reveal(prefers-reduced-motion 은 서브 공용 규칙이 처리), 애니메이션 없음 */

@media screen and (max-width: 600px) {
    /* 시니어 트리네이트 (idx 24) */
    .pg_senior_trinate .intro_visual {aspect-ratio: 4 / 5;}   /* 초소형: 세로 박스로 인용(2~3줄)과 인물이 겹치지 않게 */
    .pg_senior_trinate .intro_visual .person {inset-inline-start: 11%; width: 78%;}
}

@media (hover: hover) and (min-width: 1241px) { .pg_general_dentistry .num_card_list .card_link:hover .img img, .pg_general_dentistry .num_card_list .card_link:focus-visible .img img {transform: scale(1.06);} }
@media (prefers-reduced-motion: reduce) { .pg_general_dentistry .num_card_list .card_link .img img {transition: none;} @media screen and (min-width: 1241px) { .pg_general_dentistry .num_card_list .card_link:hover .img img {transform: none;} } }

/* 환자 스토리 (idx 45) — 터치 기기는 hover 가 없어 play 버튼을 항상 표시, 리빌 정지는 공용 .sub_reveal 규칙 */
@media (hover: none) {
    .pg_patient_stories .story_card .play {opacity: 1; transform: translate(-50%, -50%);}
}
@media (prefers-reduced-motion: reduce) {
    .pg_patient_stories .story_card .thumb img, .pg_patient_stories .story_card .play, .pg_patient_stories .story_card .thumb::after {transition: none;}
}

/* 병원소개 (idx 13) */
@media (prefers-reduced-motion: reduce) {
    .pg_about .lounge_slider .circle_txt svg {animation: none;}
    .pg_about .lounge_slider .slide_box, .pg_about .lounge_slider .slide_box img, .pg_about .lounge_slider .slide_box .ov {transition: none;}
    .sub_js .pg_about .team_img .sign {clip-path: inset(0); transition: none;}
}


/* 연세힐치과의 약속 (idx 19) */
@media (prefers-reduced-motion: reduce) {
    .sub_js .pg_promise .intro_img .smile {clip-path: inset(0); transition: none;}
}


/* 라미네이트 (idx 22) */
@media (prefers-reduced-motion: reduce) {
    .pg_veneers .collage .circle_txt {animation: none;}
}

/* 대표원장 소개 (idx 18) */
@media (prefers-reduced-motion: reduce) {
    .pg_chief_director .profile_img .circle_txt svg {animation: none;}
}

/* 전신질환 임플란트 (idx 28) */
@media (prefers-reduced-motion: reduce) {
    .pg_medical_conditions .safe_body .img_box .circle_txt {animation: none;}
}

/* ───────── ≤1240 스크롤 리빌 해제(2026-09-23) — data-landing-observe(.active)로 등장시키던 요소를 처음부터 보이는 상태로. 파일 끝: 위 블록들보다 뒤에 와야 이긴다 ───────── */
@media screen and (max-width: 1240px) {
    .sub_js .sub_hero .hero_txt .tit, .sub_js .sub_hero .hero_txt .txt {opacity: 1; transform: none; transition: none;}
    .sub_js .sub_num_cards .num_card_list > li, .sub_js .sub_step_rows .step_row_list > li, .sub_js .sub_type_cards .type_card_list > li, .sub_js .sub_cont .sub_reveal {opacity: 1; transform: none; transition: none;}
    .sub_js .pg_about .team_img .sign, .sub_js .pg_promise .intro_img .smile {clip-path: none; transition: none;}
}
