/* =====================================================================
   성모내과의원 St. Mary's Internal Medicine — 홈페이지 스타일
   디자인 폼: 기본내과 (imweb 코드위젯 구조) / 브랜드 컬러: 로고 딥그린→틸→아쿠아
   ===================================================================== */

:root {
  --sm-green-900: #0B3B2E;   /* 다크 배경 (CT 안내 PDF 톤) */
  --sm-green-800: #0E4D3E;
  --sm-green-700: #117A6E;   /* primary — 로고 중간톤 틸 (버튼·강조면) */
  --sm-teal-600:  #179C90;
  --sm-teal-500:  #1BA8A4;   /* main */
  --sm-aqua-400:  #2ABAC6;   /* 로고 아쿠아 accent */
  --sm-aqua-300:  #7ED8DD;
  --sm-mist:      #EEF6F4;   /* 밝은 배경 */
  --sm-mist-2:    #E1EFEC;
  --sm-cream:     #F4F9F8;   /* 아주 옅은 그린 틴트 (섹션 배경 변주) */
  --sm-brown:     #786864;   /* 워드마크 브라운그레이 */
  --sm-gold:      #117A6E;   /* 가격 강조 = primary (로고 팔레트 유지) */
  --sm-ink:       #111111;
  --sm-sub:       #5C5553;   /* 워드마크 브라운그레이 계열 */
  --sm-gray:      #888888;
  --sm-border:    #E6ECEA;
  --sm-white:     #ffffff;

  --sm-header-h: 84px;
  --sm-m-header-h: 60px;
  --sm-drop-h: 380px;
  --sm-radius-pc: 32px;
  --sm-radius-mo: 20px;
  --sm-shadow: 0 26px 70px rgba(17,122,110, 0.12);
  --sm-font: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.sm_body {
  margin: 0; padding: 0;
  font-family: var(--sm-font);
  color: var(--sm-ink);
  background: var(--sm-white);
  letter-spacing: -0.02em;
  word-break: keep-all;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
.sm_body h1, .sm_body h2, .sm_body h3, .sm_body h4, .sm_body h5, .sm_body h6, .sm_body p, .sm_body ul, .sm_body ol, .sm_body figure { margin: 0; }
.sm_body ul, .sm_body ol { padding: 0; list-style: none; }
.sm_body a { color: inherit; text-decoration: none; }
.sm_body img { max-width: 100%; display: block; }
.sm_body button { font-family: inherit; cursor: pointer; }
.sm_main { padding-top: var(--sm-header-h); }
.sm_pc_only { display: block; }
.sm_mo_only { display: none; }
@media (max-width: 768px) {
  .sm_main { padding-top: var(--sm-m-header-h); }
  .sm_pc_only { display: none; }
  .sm_mo_only { display: block; }
}

/* ---------- reveal ---------- */
.sm_reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.25,1,.5,1), transform .9s cubic-bezier(.25,1,.5,1); }
.sm_reveal.sm_active { opacity: 1; transform: translateY(0); }
.sm_delay_1 { transition-delay: .15s; }
.sm_delay_2 { transition-delay: .3s; }
.sm_delay_3 { transition-delay: .45s; }
@media (prefers-reduced-motion: reduce) { .sm_reveal { opacity: 1; transform: none; transition: none; } }

/* ---------- 공통 버튼 ---------- */
.sm_btn_outline {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 30px; border-radius: 50px;
  border: 1px solid rgba(15,138,136,.55); color: var(--sm-green-700);
  font-size: 15px; font-weight: 600; transition: all .3s ease; background: transparent;
}
.sm_btn_outline:hover { background: var(--sm-green-700); color: #fff; border-color: var(--sm-green-700); }
.sm_btn_solid {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 32px; border-radius: 50px; background: var(--sm-green-700); color: #fff;
  font-size: 15px; font-weight: 700; transition: all .3s ease; border: 1px solid var(--sm-green-700);
}
.sm_btn_solid:hover { background: var(--sm-teal-500); border-color: var(--sm-teal-500); transform: translateY(-2px); }
.sm_btn_white { background: #fff; color: var(--sm-green-700); border-color: #fff; }
.sm_btn_white:hover { background: var(--sm-mist); border-color: var(--sm-mist); color: var(--sm-green-700); }
/* .sm_body a { color: inherit } 보다 특이성을 높여 버튼 글자색 고정 */
.sm_body a.sm_btn_outline { color: var(--sm-green-700); }
.sm_body a.sm_btn_outline:hover, .sm_body a.sm_btn_solid { color: #fff; }
.sm_body a.sm_btn_white, .sm_body a.sm_btn_white:hover { color: var(--sm-green-700); }

/* =====================================================================
   1. HEADER
   ===================================================================== */
.sm_header_wrap * { margin: 0; padding: 0; box-sizing: border-box; font-family: var(--sm-font); list-style: none; text-decoration: none; }
.sm_header_wrap {
  position: fixed; top: 0; left: 0; width: 100%;
  background: #fff; border-bottom: 1px solid var(--sm-border);
  z-index: 99990; transition: box-shadow .3s ease;
}
.sm_header_wrap.sm_scrolled { box-shadow: 0 4px 18px rgba(17,122,110,.08); }
.sm_header_inner {
  position: relative; max-width: 1440px; margin: 0 auto; height: var(--sm-header-h);
  display: flex; align-items: center; padding: 0 24px; z-index: 20;
}
.sm_logo { flex-shrink: 0; }
.sm_logo a { display: flex; align-items: center; height: 100%; }
.sm_logo img { height: 46px; width: auto; object-fit: contain; }
.sm_pc_nav { height: 100%; margin-left: auto; margin-right: 24px; }
.sm_gnb { display: flex; height: 100%; }
.sm_gnb > li { height: 100%; position: relative; width: 132px; text-align: center; }
.sm_gnb > li > a {
  display: flex; align-items: center; justify-content: center; height: 100%;
  font-size: 16px; font-weight: 600; color: #222; position: relative; z-index: 2; transition: color .2s;
}
.sm_gnb > li.sm_on > a { color: var(--sm-teal-500); }
.sm_gnb > li::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: var(--sm-header-h);
  background: transparent; transition: height .55s cubic-bezier(.22,1,.36,1), background .35s ease; z-index: 1;
}
.sm_header_wrap:hover .sm_gnb > li::before { height: var(--sm-drop-h); }
.sm_gnb > li:hover::before { background: linear-gradient(180deg, rgba(42,186,198,.10) 0%, rgba(17,122,110,.04) 100%); }
.sm_gnb > li:hover > a { color: var(--sm-green-700); }
.sm_gnb > li::after {
  content: ''; position: absolute; top: var(--sm-header-h); left: 50%; transform: translateX(-50%);
  width: 0; height: 2px; background: linear-gradient(90deg, var(--sm-teal-500), var(--sm-aqua-400)); transition: width .45s cubic-bezier(.22,1,.36,1); z-index: 5;
}
.sm_gnb > li:hover::after { width: 60%; }
.sm_header_bg {
  position: absolute; top: var(--sm-header-h); left: 0; width: 100%; height: 0; background: #fff;
  border-top: 1px solid transparent; border-bottom: 1px solid transparent;
  transition: height .55s cubic-bezier(.22,1,.36,1), box-shadow .55s; z-index: 10; pointer-events: none;
}
.sm_lnb {
  position: absolute; top: var(--sm-header-h); left: 0; width: 100%; text-align: center;
  padding-top: 26px; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .4s ease, transform .5s cubic-bezier(.22,1,.36,1), visibility .4s; z-index: 15;
}
.sm_lnb li { margin-bottom: 12px; }
.sm_lnb a { font-size: 15px; color: #666; font-weight: 400; display: block; padding: 4px 0; white-space: nowrap; position: relative; z-index: 2; transition: all .2s; }
.sm_lnb a:hover { color: var(--sm-green-700); font-weight: 600; }
.sm_gnb > li:hover .sm_lnb a { color: #444; }
.sm_gnb > li:hover .sm_lnb a:hover { color: var(--sm-green-700); }
.sm_header_tel {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 50px;
  background: var(--sm-mist); color: var(--sm-green-700); font-weight: 800; font-size: 15px; letter-spacing: 0;
  transition: all .25s; position: relative; z-index: 30;
 white-space: nowrap; flex: none;}
.sm_header_tel svg { width: 16px; height: 16px; fill: var(--sm-green-700); }
.sm_header_tel:hover { background: var(--sm-green-700); color: #fff; }
.sm_header_tel:hover svg { fill: #fff; }
.sm_hamburger { display: none; }

@media (min-width: 1025px) {
  .sm_header_wrap:hover .sm_header_bg {
    height: calc(var(--sm-drop-h) - var(--sm-header-h)); border-top-color: var(--sm-border);
    border-bottom: 1px solid var(--sm-border); box-shadow: 0 24px 50px rgba(17,122,110,.10); pointer-events: auto;
  }
  .sm_header_wrap:hover .sm_lnb { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: .08s; }
  .sm_hamburger, .sm_mobile_overlay, .sm_mobile_nav { display: none !important; }
}
@media (max-width: 1400px) { .sm_gnb > li { width: 112px; } .sm_gnb > li > a { font-size: 15px; } }
@media (max-width: 1200px) { .sm_gnb > li { width: 98px; } .sm_gnb > li > a { font-size: 14px; } }
@media (max-width: 1024px) {
  .sm_pc_nav, .sm_header_bg, .sm_header_tel { display: none; }
  .sm_header_inner { height: var(--sm-m-header-h); padding: 0 16px; justify-content: space-between; }
  .sm_logo img { height: 32px; }
  .sm_hamburger { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 48px; height: 48px; background: none; border: none; }
  .sm_hamburger span { display: block; width: 22px; height: 2px; background: var(--sm-green-700); transition: .3s; }
  .sm_mobile_overlay { position: fixed; inset: 0; background: rgba(0,0,0,.4); opacity: 0; visibility: hidden; transition: .3s; z-index: 99995; }
  .sm_mobile_overlay.sm_active { opacity: 1; visibility: visible; }
  .sm_mobile_nav {
    position: fixed; top: 0; right: -100%; width: 100%; height: 100dvh; background: var(--sm-green-800);
    z-index: 99999; transition: right .4s cubic-bezier(.4,0,.2,1); display: flex; flex-direction: column;
  }
  .sm_mobile_nav.sm_active { right: 0; }
  .sm_m_header { display: flex; justify-content: space-between; align-items: center; padding: 0 20px; height: var(--sm-m-header-h); border-bottom: 1px solid rgba(255,255,255,.1); }
  .sm_m_header img { height: 30px; }
  .sm_m_close { width: 40px; height: 40px; background: none; border: none; font-size: 26px; color: #fff; display: flex; align-items: center; justify-content: flex-end; }
  .sm_m_body { flex: 1; overflow-y: auto; padding-bottom: 40px; }
  .sm_m_gnb > li { border-bottom: 1px solid rgba(255,255,255,.06); }
  .sm_m_gnb > li > a { display: flex; justify-content: space-between; align-items: center; padding: 20px 22px; font-size: 17px; font-weight: 600; color: #fff; }
  .sm_m_has_sub > a::after { content: ''; width: 8px; height: 8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-3px) rotate(45deg); transition: transform .3s; }
  .sm_m_has_sub.sm_open > a::after { transform: translateY(2px) rotate(-135deg); border-color: var(--sm-aqua-300); }
  .sm_m_has_sub.sm_open > a { color: var(--sm-aqua-300); }
  .sm_m_lnb { max-height: 0; overflow: hidden; transition: max-height .35s ease-out; }
  .sm_m_lnb_inner { padding: 0 22px 18px; }
  .sm_m_lnb a { display: block; padding: 11px 12px; font-size: 15px; color: rgba(255,255,255,.65); border-radius: 6px; }
  .sm_m_lnb a:active, .sm_m_lnb a:hover { background: rgba(255,255,255,.06); color: #fff; }
  .sm_m_foot { padding: 28px 22px; color: rgba(255,255,255,.7); font-size: 13.5px; line-height: 1.6; }
  .sm_m_tel { display: inline-block; margin-bottom: 12px; padding: 12px 22px; border-radius: 50px; background: var(--sm-aqua-400); color: #fff; font-weight: 800; font-size: 17px; }
}

/* =====================================================================
   2. HERO SLIDER
   ===================================================================== */
.sm_hero * { box-sizing: border-box; margin: 0; padding: 0; }
.sm_hero { width: 100%; background: #fff; position: relative; z-index: 1; }
.sm_hero_wrapper {
  position: relative; width: 100%; height: calc(100dvh - var(--sm-header-h)); min-height: 640px; max-height: 1100px;
  padding: 20px 24px 24px; overflow: hidden;
}
.sm_hero_inner {
  position: relative; width: 100%; height: 100%; background: var(--sm-green-800);
  border-radius: var(--sm-radius-pc); overflow: hidden; isolation: isolate; transform: translateZ(0);
  box-shadow: 0 20px 50px rgba(0,0,0,.06);
}
.sm_slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s cubic-bezier(.4,0,.2,1), visibility 1.2s; z-index: 1; }
.sm_slide.sm_active { opacity: 1; visibility: visible; z-index: 2; }
.sm_slide_bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.08); transition: transform 8s ease-out; }
.sm_slide.sm_active .sm_slide_bg { transform: scale(1); }
.sm_overlay {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(135deg, rgba(11,59,46,.82) 0%, rgba(11,59,46,.38) 50%, rgba(11,59,46,.06) 100%),
              linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 48%);
}
/* 텍스트 우측 배치 슬라이드: 오버레이 방향 반전 (연속 인물컷 전환 체감용) */
.sm_slide_right .sm_overlay {
  background: linear-gradient(225deg, rgba(11,59,46,.82) 0%, rgba(11,59,46,.38) 50%, rgba(11,59,46,.06) 100%),
              linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 48%);
}
.sm_slide_content { position: absolute; bottom: 150px; left: 80px; z-index: 3; max-width: 1000px; }
.sm_slide_right .sm_slide_content { left: auto; right: 80px; text-align: right; }
.sm_slide_right .sm_hero_cta { justify-content: flex-end; }
/* 히어로 CTA */
.sm_hero_cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; opacity: 0; transform: translateY(20px); transition: all 1.2s cubic-bezier(.25,1,.5,1) .7s; }
.sm_hero_btn { display: inline-flex; align-items: center; gap: 9px; padding: 15px 28px; border-radius: 50px; font-size: 16px; font-weight: 700; letter-spacing: -0.01em; transition: transform .25s ease, background .25s ease, border-color .25s ease; white-space: nowrap; }
.sm_hero_btn svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.sm_hero_btn i { font-style: normal; font-weight: 800; transition: transform .25s; }
.sm_hero_btn:hover { transform: translateY(-2px); }
.sm_hero_btn:hover i { transform: translateX(4px); }
.sm_body a.sm_hero_btn_solid { background: #fff; color: var(--sm-green-700); box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.sm_body a.sm_hero_btn_solid:hover { background: var(--sm-mist); }
.sm_body a.sm_hero_btn_ghost { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.7); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.sm_body a.sm_hero_btn_ghost:hover { background: rgba(255,255,255,.22); border-color: #fff; }
.sm_badge {
  display: inline-block; background: var(--sm-aqua-400); color: #fff; padding: 9px 20px;
  font-size: clamp(14px, 1.6vw, 17px); font-weight: 700; margin-bottom: 22px; border-radius: 4px;
  opacity: 0; transform: translateY(20px); transition: all 1.2s cubic-bezier(.25,1,.5,1) .1s;
}
.sm_hero_title { color: #fff; line-height: 1.35; text-shadow: 0 4px 16px rgba(0,0,0,.18); opacity: 0; transform: translateY(30px); transition: all 1.2s cubic-bezier(.25,1,.5,1) .3s; }
.sm_title_bold, .sm_title_light { display: block; color: #fff; font-size: clamp(26px, 3.8vw, 50px); }
.sm_title_bold { font-weight: 800; margin-bottom: 8px; letter-spacing: -0.03em; }
.sm_title_light { font-weight: 400; opacity: .95; }
.sm_hero_sub { margin-top: 18px; color: rgba(255,255,255,.85); font-size: clamp(14px, 1.4vw, 17px); font-weight: 500; opacity: 0; transform: translateY(20px); transition: all 1.2s cubic-bezier(.25,1,.5,1) .5s; }
.sm_slide.sm_active .sm_badge, .sm_slide.sm_active .sm_hero_title, .sm_slide.sm_active .sm_hero_sub, .sm_slide.sm_active .sm_hero_cta { opacity: 1; transform: translateY(0); }
.sm_hero_nav { position: absolute; bottom: 48px; left: 80px; z-index: 10; display: flex; align-items: center; gap: 22px; color: #fff; }
.sm_nav_btn { background: transparent; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; width: 46px; height: 46px; display: flex; justify-content: center; align-items: center; color: #fff; font-size: 15px; transition: all .3s; }
.sm_nav_btn:hover { background: rgba(255,255,255,.15); border-color: #fff; transform: scale(1.05); }
.sm_nav_num { font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: 2px; }
.sm_nav_total { color: rgba(255,255,255,.45); }
.sm_progress_bg { width: 140px; height: 1px; background: rgba(255,255,255,.2); position: relative; overflow: hidden; }
.sm_progress_bar { position: absolute; top: 0; left: 0; height: 100%; width: 0; background: #fff; }
.sm_nav_dots { display: flex; gap: 10px; }
.sm_dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.3); cursor: pointer; transition: .3s; }
.sm_dot.sm_active { background: #fff; transform: scale(1.5); }
.sm_scroll_box { position: absolute; bottom: 0; right: 80px; z-index: 10; display: flex; flex-direction: column; align-items: center; }
.sm_scroll_text { color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .25em; opacity: .8; margin-bottom: 14px; }
.sm_scroll_line { width: 1px; height: 90px; background: rgba(255,255,255,.15); position: relative; overflow: hidden; }
.sm_scroll_line::after { content: ''; position: absolute; top: -100%; left: 0; width: 100%; height: 100%; background: #fff; animation: sm_scroll_anim 2.5s cubic-bezier(.64,.04,.35,1) infinite; }
@keyframes sm_scroll_anim { 0% { top: -100%; } 50% { top: 0; } 100% { top: 100%; } }
/* 좌우 화살표 + 수동 이동 시 즉시 전환 */
.sm_arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.12); backdrop-filter: blur(6px); color: #fff; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: background .25s, transform .25s; }
.sm_arrow_left { left: 28px; } .sm_arrow_right { right: 28px; }
.sm_arrow:hover { background: rgba(255,255,255,.28); transform: translateY(-50%) scale(1.06); }
.sm_hero_inner.sm_manual .sm_slide { transition-duration: .35s; }
.sm_hero_inner.sm_manual .sm_slide_bg { transition-duration: 1.5s; }
.sm_hero_inner.sm_manual .sm_badge, .sm_hero_inner.sm_manual .sm_hero_title, .sm_hero_inner.sm_manual .sm_hero_sub, .sm_hero_inner.sm_manual .sm_hero_cta { transition-duration: .4s; transition-delay: 0s; }
@media (max-width: 768px) { .sm_arrow { display: none; } }
/* 히어로 하단 퀵 정보 바 */
.sm_hero_quick { max-width: 1400px; margin: -34px auto 0; padding: 0 24px; position: relative; z-index: 5; }
.sm_hero_quick_inner { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 20px; box-shadow: 0 18px 50px rgba(17,122,110,.12); overflow: hidden; }
.sm_hero_quick_item { padding: 24px 28px; border-right: 1px solid var(--sm-border); display: flex; flex-direction: column; gap: 4px; transition: background .25s; }
.sm_hero_quick_item:last-child { border-right: none; }
.sm_hero_quick_item:hover { background: var(--sm-mist); }
.sm_hero_quick_item b { font-size: 13px; color: var(--sm-teal-500); font-weight: 700; letter-spacing: .02em; }
.sm_hero_quick_item strong { font-size: 18px; font-weight: 800; color: var(--sm-ink); }
.sm_hero_quick_item span { font-size: 13.5px; color: var(--sm-sub); }
@media (max-width: 1024px) { .sm_hero_quick_inner { grid-template-columns: repeat(2, 1fr); } .sm_hero_quick_item:nth-child(2) { border-right: none; } .sm_hero_quick_item:nth-child(-n+2) { border-bottom: 1px solid var(--sm-border); } }
@media (max-width: 768px) {
  .sm_hero_wrapper { padding: 10px 15px 15px; height: 78dvh; min-height: 520px; max-height: 760px; }
  .sm_hero_inner { border-radius: var(--sm-radius-mo); }
  .sm_slide_content { bottom: 100px; left: 20px; right: 20px; }
  .sm_slide_right .sm_slide_content { text-align: left; }
  .sm_slide_right .sm_hero_cta { justify-content: flex-start; }
  .sm_hero_cta { margin-top: 18px; gap: 8px; }
  .sm_hero_btn { padding: 12px 18px; font-size: 14px; }
  .sm_hero_btn svg { width: 15px; height: 15px; }
  .sm_badge { font-size: 13px; padding: 7px 14px; margin-bottom: 14px; }
  .sm_title_bold, .sm_title_light { font-size: clamp(20px, 5.6vw, 28px); }
  .sm_hero_sub { font-size: 13.5px; margin-top: 12px; }
  .sm_hero_nav { bottom: 26px; left: 20px; right: 20px; gap: 12px; justify-content: space-between; }
  .sm_progress_bg { width: 60px; }
  .sm_nav_btn { width: 36px; height: 36px; font-size: 13px; }
  .sm_scroll_box { display: none; }
  .sm_hero_quick { margin-top: -20px; padding: 0 15px; }
  .sm_hero_quick_inner { grid-template-columns: 1fr 1fr; border-radius: 14px; }
  .sm_hero_quick_item { padding: 16px 16px; }
  .sm_hero_quick_item strong { font-size: 15px; }
  .sm_hero_quick_item span { font-size: 12px; }
}

/* =====================================================================
   3. 의료진 소개 (#sm_staff)
   ===================================================================== */
#sm_staff { background: var(--sm-mist); padding: 130px 0; color: var(--sm-ink); }
#sm_staff .wrap { max-width: 1500px; margin: 0 auto; padding: 0 2.5vw; }
#sm_staff .head { margin-bottom: 60px; }
#sm_staff .head .eyebrow { display: block; font-size: 14px; font-weight: 700; color: var(--sm-teal-500); letter-spacing: .12em; margin-bottom: 14px; }
#sm_staff .head h2 { font-size: clamp(40px, 4.6vw, 64px); font-weight: 900; letter-spacing: -0.04em; line-height: 1.15; }
#sm_staff .head h2 span { color: var(--sm-teal-500); }
#sm_staff .head p { margin-top: 20px; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.75; color: var(--sm-sub); font-weight: 500; }
#sm_staff .grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; align-items: stretch; }
#sm_staff .panel { position: relative; padding: 12px; border-radius: 22px; box-shadow: var(--sm-shadow); height: 100%; transition: transform .3s, box-shadow .3s; }
#sm_staff .panel:hover { transform: translateY(-6px); box-shadow: 0 40px 90px rgba(17,122,110,.18); }
#sm_staff .board {
  position: relative; border-radius: 16px; overflow: hidden; border: 1px solid rgba(15,138,136,.22); height: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.8) 0%, rgba(255,255,255,.3) 46%, rgba(0,0,0,0) 100%), linear-gradient(135deg, #f0f7f5 0%, #e2efeb 100%);
  padding: 48px 48px 0; display: flex; flex-direction: column;
}
#sm_staff .cap { position: absolute; left: 50%; transform: translateX(-50%); width: min(60%, 340px); height: 14px; border-radius: 8px; z-index: 10; background: linear-gradient(180deg, #f7f9f8 0%, #c8d8d5 55%, #9bbdb8 100%); border: 1px solid rgba(255,255,255,.65); box-shadow: 0 10px 22px rgba(0,0,0,.14); }
#sm_staff .cap.top { top: 14px; }
#sm_staff .nameRow { display: flex; justify-content: flex-start; align-items: baseline; gap: 12px; padding-bottom: 18px; border-bottom: 2px solid rgba(15,138,136,.28); margin-bottom: 22px; flex-wrap: wrap; }
#sm_staff .role { font-size: 17px; font-weight: 700; color: var(--sm-teal-500); }
#sm_staff .name { font-size: 38px; font-weight: 900; letter-spacing: -0.03em; }
#sm_staff .name small { font-size: 16px; font-weight: 600; color: var(--sm-brown); margin-left: 8px; }
#sm_staff .spec { width: 100%; font-size: 15px; font-weight: 600; color: var(--sm-green-700); }
#sm_staff .board-cols { display: flex; align-items: flex-end; gap: 20px; flex: 1; }
#sm_staff .board-left { flex: 1; min-width: 0; padding-bottom: 44px; }
#sm_staff .board-right { flex: 0 0 300px; display: flex; align-items: flex-end; justify-content: center; }
#sm_staff .board-right img { width: 300px; height: auto; max-height: 460px; object-fit: contain; object-position: bottom; display: block; filter: drop-shadow(0 10px 14px rgba(17,122,110,.14)); }
#sm_staff .list { padding-left: 20px; font-size: 16.5px; line-height: 1.85; font-weight: 600; color: rgba(17,17,17,.88); list-style: disc; }
#sm_staff .list li { margin: 4px 0; }
#sm_staff .list li::marker { color: var(--sm-teal-500); }
#sm_staff .list_title { font-size: 13px; font-weight: 800; color: var(--sm-teal-500); letter-spacing: .08em; margin: 16px 0 6px; }
#sm_staff .list_title:first-child { margin-top: 0; }
#sm_staff .more { text-align: center; margin-top: 50px; }
/* 프로필 카드 이미지 버전 */
#sm_staff .board.sm_board_img { padding: 38px 14px 14px; }
#sm_staff .board.sm_board_img img { width: 100%; height: auto; border-radius: 12px; display: block; transition: transform .7s cubic-bezier(.22,1,.36,1); }
#sm_staff .panel:hover .board.sm_board_img img { transform: scale(1.02); }
#sm_staff .panel.sm_reveal { transform: translateY(40px) scale(.97); }
#sm_staff .panel.sm_reveal.sm_active { transform: none; }
@media (max-width: 560px) { #sm_staff .board.sm_board_img { padding: 30px 10px 10px; } }
@media (max-width: 1080px) {
  #sm_staff { padding: 90px 0; }
  #sm_staff .wrap { padding: 0 4vw; }
  #sm_staff .grid { grid-template-columns: 1fr; gap: 32px; }
  #sm_staff .board { padding: 44px 32px 0; }
  #sm_staff .board-right { flex: 0 0 220px; }
  #sm_staff .board-right img { width: 220px; }
  #sm_staff .list { font-size: 15px; }
  #sm_staff .name { font-size: 30px; }
}
@media (max-width: 560px) {
  #sm_staff { padding: 70px 0; }
  #sm_staff .board { padding: 40px 22px 0; }
  #sm_staff .board-cols { flex-direction: column; align-items: stretch; }
  #sm_staff .board-left { padding-bottom: 10px; }
  #sm_staff .board-right { flex: none; width: 100%; justify-content: flex-end; }
  #sm_staff .board-right img { width: 170px; }
  #sm_staff .list { font-size: 14.5px; }
}

/* =====================================================================
   4. 클리닉 카드 플로우 (.sm_clinic_wrap)
   ===================================================================== */
.sm_clinic_wrap { --card-w: 400px; --card-h: 540px; --card-x: 620px; width: 100%; padding: 110px 0; background: #fff; overflow: hidden; position: relative; z-index: 10; }
.sm_clinic_wrap .sm_section_header { max-width: 1200px; margin: 0 auto 50px; padding: 0 20px; text-align: center; }
.sm_clinic_wrap .sm_eyebrow, .sm_clinic_wrap .sm_main_title { font-size: clamp(30px, 3.8vw, 44px); font-weight: 800; color: var(--sm-green-700); line-height: 1.2; letter-spacing: -0.03em; }
.sm_clinic_wrap .sm_eyebrow { display: block; margin-bottom: 4px; color: var(--sm-teal-500); }
.sm_clinic_wrap .sm_sub_text { margin-top: 22px; font-size: clamp(15px, 1.7vw, 17px); color: var(--sm-sub); line-height: 1.65; }
.sm_slider_outer { width: 100%; overflow: hidden; padding: 40px 0 50px; cursor: grab; user-select: none; touch-action: pan-y; }
.sm_slider_outer:active { cursor: grabbing; }
.sm_slider_inner { display: flex; flex-wrap: nowrap; width: max-content; will-change: transform; }
.sm_clinic_card {
  flex: 0 0 var(--card-w); width: var(--card-w); height: var(--card-h); margin-right: 28px; position: relative;
  border-radius: 28px; overflow: hidden; background: var(--sm-mist-2); box-shadow: 0 10px 30px rgba(0,0,0,.05);
  transition: height .5s cubic-bezier(.25,1,.5,1), transform .5s, box-shadow .5s; cursor: pointer;
}
.sm_clinic_card:hover { height: var(--card-x); transform: translateY(-10px); box-shadow: 0 20px 40px rgba(17,122,110,.25); }
.sm_card_bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .8s; pointer-events: none; }
.sm_clinic_card:hover .sm_card_bg { transform: scale(1.12); }
.sm_card_overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 52%, rgba(17,122,110,.8) 80%, rgba(17,122,110,1) 100%); }
.sm_card_content { position: absolute; bottom: 0; left: 0; width: 100%; padding: 40px 30px; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; pointer-events: none; }
.sm_card_title { font-size: 24px; font-weight: 800; color: #fff; margin-top: 18px; white-space: nowrap; transition: font-size .4s; letter-spacing: -0.02em; }
.sm_clinic_card:hover .sm_card_title { font-size: 28px; }
.sm_tag_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; opacity: 0; transform: translateY(20px); transition: all .4s; }
.sm_clinic_card:hover .sm_tag_list { opacity: 1; transform: translateY(0); }
.sm_tag { background: #fff; color: var(--sm-green-700); padding: 7px 16px; border-radius: 50px; font-size: 13px; font-weight: 600; box-shadow: 0 4px 10px rgba(0,0,0,.1); white-space: nowrap; }
.sm_indicator_wrap { max-width: 1200px; margin: 10px auto 0; padding: 0 20px; display: flex; justify-content: center; }
.sm_progress_bg_clinic { width: 200px; height: 2px; background: #eee; border-radius: 10px; position: relative; overflow: hidden; }
.sm_progress_bar_clinic { position: absolute; top: 0; left: 0; height: 100%; width: 0; background: var(--sm-green-700); border-radius: 10px; }
@media (max-width: 768px) {
  .sm_clinic_wrap { --card-w: 240px; --card-h: 340px; --card-x: 380px; padding: 60px 0; }
  .sm_clinic_card { margin-right: 14px; border-radius: 18px; }
  .sm_card_content { padding: 0 14px 22px; }
  .sm_tag_list { gap: 5px; }
  .sm_tag { padding: 5px 10px; font-size: 11px; }
  .sm_clinic_wrap .sm_eyebrow, .sm_clinic_wrap .sm_main_title { font-size: 27px; }
  .sm_card_title { font-size: 17px; margin-top: 10px; }
  .sm_clinic_card:hover .sm_card_title { font-size: 19px; }
  .sm_tag_list { opacity: 1; transform: translateY(0); }
  .sm_progress_bg_clinic { width: 120px; }
}

/* =====================================================================
   5. 원스톱 검진 시스템 (#sm_sys)
   ===================================================================== */
#sm_sys { background: linear-gradient(180deg, #fff 0%, var(--sm-mist) 100%); padding: 130px 20px; overflow: hidden; }
#sm_sys .sm_sys_inner { max-width: 1400px; margin: 0 auto; }
#sm_sys .sm_sys_header { text-align: center; margin-bottom: 70px; }
#sm_sys .sm_sys_label { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-teal-500); margin-bottom: 16px; }
#sm_sys .sm_sys_title { font-size: clamp(30px, 4vw, 48px); font-weight: 900; color: var(--sm-ink); line-height: 1.3; letter-spacing: -0.03em; }
#sm_sys .sm_sys_title em { font-style: normal; color: var(--sm-teal-500); }
#sm_sys .sm_sys_desc { max-width: 820px; margin: 22px auto 0; font-size: clamp(15px, 1.6vw, 17px); color: var(--sm-sub); line-height: 1.8; }
#sm_sys .sm_sys_row { display: grid; grid-template-columns: 560px 1fr; gap: 70px; align-items: center; }
/* 궤도 */
#sm_sys .sm_orbit { position: relative; width: 560px; height: 560px; margin: 0 auto; }
#sm_sys .sm_orbit_ring { position: absolute; inset: 40px; border-radius: 50%; border: 1px dashed rgba(15,138,136,.35); }
#sm_sys .sm_orbit_ring2 { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(15,138,136,.12); }
#sm_sys .sm_orbit_center { position: absolute; inset: 150px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #fff 0%, var(--sm-mist-2) 100%); box-shadow: 0 20px 60px rgba(17,122,110,.15); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; }
#sm_sys .sm_orbit_center img { width: 84px; height: 84px; margin-bottom: 12px; }
#sm_sys .sm_orbit_center strong { font-size: 24px; font-weight: 900; color: var(--sm-green-700); letter-spacing: -0.02em; }
#sm_sys .sm_orbit_center span { font-size: 13px; color: var(--sm-sub); margin-top: 4px; font-weight: 600; letter-spacing: .06em; }
#sm_sys .sm_orbit_spinner { position: absolute; inset: 40px; border-radius: 50%; transition: transform 1s cubic-bezier(.4,0,.2,1); pointer-events: none; }
#sm_sys .sm_orbit_spinner::after { content: ''; position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--sm-aqua-400); box-shadow: 0 0 0 6px rgba(42,186,198,.25); }
#sm_sys .sm_marker { position: absolute; width: 112px; margin-left: -56px; margin-top: -30px; text-align: center; cursor: pointer; transition: transform .3s; }
#sm_sys .sm_marker_num { width: 46px; height: 46px; margin: 0 auto 8px; border-radius: 50%; background: #fff; border: 2px solid rgba(15,138,136,.35); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; color: var(--sm-teal-500); transition: all .3s; }
#sm_sys .sm_marker_txt { font-size: 14px; font-weight: 700; color: var(--sm-sub); background: rgba(255,255,255,.9); padding: 3px 8px; border-radius: 6px; white-space: nowrap; }
#sm_sys .sm_marker.sm_active .sm_marker_num { background: var(--sm-green-700); color: #fff; border-color: var(--sm-green-700); transform: scale(1.15); box-shadow: 0 8px 20px rgba(17,122,110,.3); }
#sm_sys .sm_marker.sm_active .sm_marker_txt { color: var(--sm-green-700); }
/* 카드 */
#sm_sys .sm_sys_cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
#sm_sys .sm_sys_card { background: #fff; border: 1px solid var(--sm-border); border-radius: 18px; padding: 24px 24px 22px; transition: all .4s; position: relative; overflow: hidden; }
#sm_sys .sm_sys_card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--sm-aqua-400); opacity: 0; transition: opacity .3s; }
#sm_sys .sm_sys_card.sm_active { border-color: rgba(15,138,136,.4); box-shadow: 0 20px 50px rgba(17,122,110,.12); transform: translateY(-4px); }
#sm_sys .sm_sys_card.sm_active::before { opacity: 1; }
#sm_sys .sm_sys_card_num { font-size: 12px; font-weight: 800; color: var(--sm-aqua-400); letter-spacing: .1em; }
#sm_sys .sm_sys_card_title { font-size: 19px; font-weight: 800; margin: 6px 0 8px; color: var(--sm-ink); }
#sm_sys .sm_sys_card_desc { font-size: 14.5px; color: var(--sm-sub); line-height: 1.65; }
@media (max-width: 1200px) { #sm_sys .sm_sys_row { grid-template-columns: 1fr; gap: 50px; } }
@media (max-width: 640px) {
  #sm_sys { padding: 80px 16px; }
  #sm_sys .sm_orbit { width: 320px; height: 320px; }
  #sm_sys .sm_orbit_ring, #sm_sys .sm_orbit_spinner { inset: 26px; }
  #sm_sys .sm_orbit_center { inset: 92px; padding: 10px; }
  #sm_sys .sm_orbit_center img { width: 48px; height: 48px; margin-bottom: 6px; }
  #sm_sys .sm_orbit_center strong { font-size: 15px; }
  #sm_sys .sm_orbit_center span { font-size: 10px; }
  #sm_sys .sm_marker { width: 80px; margin-left: -40px; margin-top: -22px; }
  #sm_sys .sm_marker_num { width: 32px; height: 32px; font-size: 12px; margin-bottom: 4px; }
  #sm_sys .sm_marker_txt { font-size: 11px; padding: 2px 5px; }
  #sm_sys .sm_sys_cards { grid-template-columns: 1fr; }
}

/* =====================================================================
   6. 내시경센터 (#sm_endo)
   ===================================================================== */
#sm_endo { padding: 120px 20px; background: #fff; }
#sm_endo .sm_endo_inner { max-width: 1400px; margin: 0 auto; }
#sm_endo .sm_endo_hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; margin-bottom: 40px; }
#sm_endo .sm_eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-teal-500); margin-bottom: 14px; }
#sm_endo h2 { font-size: clamp(30px, 3.8vw, 46px); font-weight: 900; line-height: 1.25; letter-spacing: -0.03em; }
#sm_endo h2 em { font-style: normal; color: var(--sm-teal-500); }
#sm_endo .sm_lead { margin-top: 20px; font-size: 16.5px; color: var(--sm-sub); line-height: 1.8; }
#sm_endo .sm_stats { display: flex; gap: 40px; margin-top: 34px; flex-wrap: wrap; }
#sm_endo .sm_stat_num { font-size: 34px; font-weight: 900; color: var(--sm-green-700); letter-spacing: -0.02em; line-height: 1; }
#sm_endo .sm_stat_label { font-size: 13.5px; color: var(--sm-sub); margin-top: 8px; font-weight: 600; }
#sm_endo .sm_hero_card { background: var(--sm-mist); border-radius: 28px; padding: 32px; position: relative; overflow: hidden; }
#sm_endo .sm_hero_card img { width: 100%; aspect-ratio: 1365 / 1179; height: auto; object-fit: cover; border-radius: 18px; }
#sm_endo .sm_device_label { font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--sm-teal-500); margin-bottom: 12px; }
#sm_endo .sm_device_name { font-size: 20px; font-weight: 900; margin-top: 18px; color: var(--sm-ink); }
#sm_endo .sm_device_sub { font-size: 14px; color: var(--sm-sub); margin-top: 4px; }
#sm_endo .sm_pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
#sm_endo .sm_pill { background: #fff; padding: 8px 14px; border-radius: 999px; font-weight: 700; font-size: 13px; color: var(--sm-green-700); box-shadow: 0 6px 18px rgba(17,122,110,.06); }
#sm_endo .sm_str_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
#sm_endo .sm_str_card { background: #fff; border: 1px solid var(--sm-border); border-radius: 20px; padding: 30px 28px; transition: all .3s; }
#sm_endo .sm_str_card:hover { border-color: rgba(15,138,136,.4); box-shadow: 0 20px 50px rgba(17,122,110,.1); transform: translateY(-4px); }
#sm_endo .sm_str_num { font-size: 13px; font-weight: 800; color: var(--sm-aqua-400); letter-spacing: .1em; }
#sm_endo .sm_str_title { font-size: 20px; font-weight: 800; margin: 10px 0 10px; }
#sm_endo .sm_str_desc { font-size: 14.5px; color: var(--sm-sub); line-height: 1.7; }
#sm_endo .sm_steril { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; background: var(--sm-green-900); border-radius: 28px; padding: 48px; color: #fff; }
#sm_endo .sm_steril_img img { width: 100%; height: 360px; object-fit: cover; border-radius: 18px; }
#sm_endo .sm_steril_title { font-size: 28px; font-weight: 900; margin-bottom: 26px; letter-spacing: -0.02em; }
#sm_endo .sm_step { display: flex; gap: 16px; margin-bottom: 18px; }
#sm_endo .sm_step_num { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: var(--sm-aqua-400); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; }
#sm_endo .sm_step h4 { font-size: 17px; font-weight: 800; margin-bottom: 4px; }
#sm_endo .sm_step p { font-size: 14px; color: rgba(255,255,255,.75); line-height: 1.6; }
#sm_endo .sm_endo_more { text-align: center; margin-top: 44px; }
@media (max-width: 1024px) { #sm_endo .sm_endo_hero, #sm_endo .sm_steril { grid-template-columns: 1fr; } #sm_endo .sm_str_grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { #sm_endo { padding: 80px 16px; } #sm_endo .sm_hero_card { padding: 20px; } #sm_endo .sm_hero_card img { aspect-ratio: 1365 / 1179; height: auto; } #sm_endo .sm_steril { padding: 28px 22px; } #sm_endo .sm_steril_img img { height: 220px; } #sm_endo .sm_stats { gap: 24px; } #sm_endo .sm_stat_num { font-size: 28px; } }

/* =====================================================================
   7. 64채널 CT (#sm_ct)  — CT 안내 PDF 톤
   ===================================================================== */
#sm_ct { background: var(--sm-green-900); color: #fff; padding: 130px 20px; position: relative; overflow: hidden; }
#sm_ct::before { content: ''; position: absolute; width: 900px; height: 900px; border-radius: 50%; background: rgba(255,255,255,.04); right: -300px; top: -400px; }
#sm_ct::after { content: ''; position: absolute; width: 600px; height: 600px; border-radius: 50%; background: rgba(255,255,255,.03); left: -250px; bottom: -300px; }
#sm_ct .sm_ct_inner { max-width: 1400px; margin: 0 auto; position: relative; z-index: 1; }
#sm_ct .sm_ct_top { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 60px; }
#sm_ct .sm_eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-aqua-300); margin-bottom: 16px; }
#sm_ct h2 { font-size: clamp(30px, 4vw, 50px); font-weight: 900; line-height: 1.25; letter-spacing: -0.03em; }
#sm_ct .sm_ct_tag { display: inline-block; margin-top: 24px; background: var(--sm-aqua-400); color: #fff; padding: 12px 24px; border-radius: 10px; font-weight: 800; font-size: 16px; }
#sm_ct .sm_lead { margin-top: 20px; font-size: 16.5px; color: rgba(255,255,255,.78); line-height: 1.8; }
#sm_ct .sm_ct_img { border-radius: 28px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
#sm_ct .sm_ct_img img { width: 100%; height: 420px; object-fit: cover; }
#sm_ct .sm_ct_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
#sm_ct .sm_ct_card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; padding: 32px 26px; transition: all .3s; }
#sm_ct .sm_ct_card:hover { background: rgba(255,255,255,.1); transform: translateY(-4px); }
#sm_ct .sm_ct_card.sm_hl { background: var(--sm-teal-600); border-color: var(--sm-teal-600); }
#sm_ct .sm_ct_big { font-size: 44px; font-weight: 900; line-height: 1; letter-spacing: -0.02em; }
#sm_ct .sm_ct_big small { font-size: 18px; font-weight: 700; color: var(--sm-aqua-300); margin-left: 4px; }
#sm_ct .sm_ct_card h4 { font-size: 19px; font-weight: 800; margin: 24px 0 10px; }
#sm_ct .sm_ct_card p { font-size: 14px; color: rgba(255,255,255,.75); line-height: 1.65; }
#sm_ct .sm_ct_more { text-align: center; margin-top: 48px; }
@media (max-width: 1024px) { #sm_ct .sm_ct_top { grid-template-columns: 1fr; gap: 36px; } #sm_ct .sm_ct_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { #sm_ct { padding: 80px 16px; } #sm_ct .sm_ct_img img { height: 240px; } #sm_ct .sm_ct_grid { grid-template-columns: 1fr; } #sm_ct .sm_ct_big { font-size: 36px; } }

/* =====================================================================
   8. 내과클리닉 탭 (#sm_chronic)
   ===================================================================== */
#sm_chronic { padding: 130px 20px; background: #fff; }
#sm_chronic .sm_ch_inner { max-width: 1400px; margin: 0 auto; }
#sm_chronic .sm_ch_header { text-align: center; margin-bottom: 44px; }
#sm_chronic .sm_ch_label { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-teal-500); margin-bottom: 14px; }
#sm_chronic .sm_ch_title { font-size: clamp(30px, 4vw, 46px); font-weight: 900; line-height: 1.3; letter-spacing: -0.03em; }
#sm_chronic .sm_ch_desc { margin-top: 18px; font-size: 16px; color: var(--sm-sub); line-height: 1.75; }
#sm_chronic .sm_ch_nav { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 36px; }
#sm_chronic .sm_ch_nav_btn { padding: 12px 24px; border-radius: 50px; border: 1px solid var(--sm-border); background: #fff; color: var(--sm-sub); font-size: 15px; font-weight: 700; transition: all .25s; }
#sm_chronic .sm_ch_nav_btn:hover { border-color: var(--sm-teal-500); color: var(--sm-teal-500); }
#sm_chronic .sm_ch_nav_btn.sm_ch_active { background: var(--sm-green-700); color: #fff; border-color: var(--sm-green-700); }
#sm_chronic .sm_ch_panel { display: none; grid-template-columns: 1.1fr .9fr; gap: 40px; background: var(--sm-mist); border-radius: 28px; padding: 48px; align-items: center; animation: sm_fade .5s ease; }
#sm_chronic .sm_ch_panel.sm_ch_show { display: grid; }
@keyframes sm_fade { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
#sm_chronic .sm_ch_panel_tag { font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--sm-aqua-400); }
#sm_chronic .sm_ch_panel_title { font-size: 30px; font-weight: 900; margin: 10px 0 14px; letter-spacing: -0.02em; }
#sm_chronic .sm_ch_panel_sub { font-size: 15.5px; color: var(--sm-sub); line-height: 1.75; }
#sm_chronic .sm_ch_steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 26px 0; }
#sm_chronic .sm_ch_step { background: #fff; border-radius: 14px; padding: 16px 16px 14px; }
#sm_chronic .sm_ch_step_key { font-size: 11px; font-weight: 800; color: var(--sm-teal-500); letter-spacing: .12em; }
#sm_chronic .sm_ch_step_name { font-size: 15px; font-weight: 800; margin-top: 6px; }
#sm_chronic .sm_ch_step_val { font-size: 12.5px; color: var(--sm-sub); margin-top: 3px; }
#sm_chronic .sm_ch_points li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.7; color: #333; margin-bottom: 6px; }
#sm_chronic .sm_ch_points li::before { content: ''; position: absolute; left: 0; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--sm-aqua-400); }
#sm_chronic .sm_ch_panel_right img { width: 100%; height: 420px; object-fit: cover; border-radius: 20px; box-shadow: 0 20px 50px rgba(17,122,110,.15); }
@media (max-width: 1024px) { #sm_chronic .sm_ch_panel { grid-template-columns: 1fr; } #sm_chronic .sm_ch_panel_right img { height: 280px; } }
@media (max-width: 640px) { #sm_chronic { padding: 80px 16px; } #sm_chronic .sm_ch_panel { padding: 26px 20px; } #sm_chronic .sm_ch_steps { grid-template-columns: 1fr; } #sm_chronic .sm_ch_nav_btn { padding: 10px 16px; font-size: 13.5px; } #sm_chronic .sm_ch_panel_title { font-size: 24px; } }

/* =====================================================================
   9. 예방접종·비만 (#sm_vax) — 개원안내 크림/골드 톤
   ===================================================================== */
#sm_vax { padding: 130px 20px; background: var(--sm-cream); }
#sm_vax .sm_vax_inner { max-width: 1400px; margin: 0 auto; }
#sm_vax .sm_vax_head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 44px; flex-wrap: wrap; }
#sm_vax .sm_eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-teal-500); margin-bottom: 14px; }
#sm_vax h2 { font-size: clamp(30px, 4vw, 46px); font-weight: 900; line-height: 1.25; letter-spacing: -0.03em; color: var(--sm-green-900); }
#sm_vax .sm_vax_desc { margin-top: 16px; font-size: 16px; color: var(--sm-sub); line-height: 1.75; max-width: 640px; }
#sm_vax .sm_vax_grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
#sm_vax .sm_vax_card { background: #fff; border-radius: 20px; padding: 28px 22px 24px; border: 1px solid rgba(17,122,110,.08); display: flex; flex-direction: column; transition: all .3s; }
#sm_vax .sm_vax_card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(17,122,110,.12); }
#sm_vax .sm_vax_kind { font-size: 12px; font-weight: 800; color: var(--sm-teal-500); letter-spacing: .1em; }
#sm_vax .sm_vax_name { font-size: 24px; font-weight: 900; margin: 8px 0 4px; letter-spacing: -0.02em; color: var(--sm-green-900); }
#sm_vax .sm_vax_sub { font-size: 13.5px; color: var(--sm-sub); line-height: 1.55; flex: 1; }
#sm_vax .sm_vax_price { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--sm-border); font-size: 26px; font-weight: 900; color: var(--sm-gold); letter-spacing: -0.02em; }
#sm_vax .sm_vax_price small { font-size: 14px; font-weight: 700; margin-left: 2px; }
#sm_vax .sm_vax_price span { display: block; font-size: 12px; color: var(--sm-gray); font-weight: 500; margin-top: 2px; }
#sm_vax .sm_vax_note { margin-top: 26px; font-size: 12.5px; color: var(--sm-gray); line-height: 1.7; }
@media (max-width: 1100px) { #sm_vax .sm_vax_grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { #sm_vax { padding: 80px 16px; } #sm_vax .sm_vax_grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } #sm_vax .sm_vax_card { padding: 20px 16px; } #sm_vax .sm_vax_name { font-size: 19px; } #sm_vax .sm_vax_price { font-size: 21px; } }

/* =====================================================================
   10. 진료환경 슬라이더 (.sm_env_wrap)
   ===================================================================== */
.sm_env_wrap { width: 100%; padding: 140px 20px; background: var(--sm-mist); overflow: hidden; }
.sm_env_inner { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; gap: 80px; }
.sm_env_left { flex: 0 0 460px; z-index: 10; }
.sm_env_title { font-size: clamp(30px, 3.8vw, 44px); font-weight: 800; color: var(--sm-green-700); line-height: 1.35; margin-bottom: 22px; letter-spacing: -0.03em; }
.sm_env_title span { color: var(--sm-aqua-400); }
.sm_env_desc { font-size: 16.5px; font-weight: 500; color: var(--sm-sub); line-height: 1.65; margin-bottom: 40px; }
.sm_env_progress_wrap { width: 140px; height: 3px; background: rgba(15,138,136,.15); margin-top: 60px; position: relative; border-radius: 2px; overflow: hidden; }
.sm_env_progress_bar { position: absolute; top: 0; left: 0; height: 100%; width: 0; background: linear-gradient(90deg, var(--sm-green-700), var(--sm-aqua-400)); }
.sm_env_mo_action { display: none; }
.sm_env_right { flex: 1; height: 480px; position: relative; overflow: visible; cursor: grab; touch-action: pan-y; }
.sm_env_right:active { cursor: grabbing; }
.sm_env_slider { width: 100%; height: 100%; position: relative; will-change: transform; }
.sm_env_slide { position: absolute; bottom: 0; overflow: hidden; transition: all .9s cubic-bezier(.25,1,.5,1); box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.sm_env_slide img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.sm_env_slide.active { left: 0; width: 720px; height: 480px; opacity: 1; z-index: 5; border-radius: 24px; }
.sm_env_slide.next1 { left: 750px; width: 260px; height: 180px; opacity: 1; z-index: 4; border-radius: 16px; }
.sm_env_slide.next2 { left: 1030px; width: 260px; height: 180px; opacity: 1; z-index: 3; border-radius: 16px; }
.sm_env_slide.next3 { left: 1310px; width: 260px; height: 180px; opacity: 1; z-index: 2; border-radius: 16px; }
.sm_env_slide.prev { left: -150px; width: 720px; height: 480px; opacity: 0; z-index: 1; pointer-events: none; }
.sm_env_slide.hidden { left: 1590px; width: 260px; height: 180px; opacity: 0; z-index: 1; pointer-events: none; }
@media (max-width: 1200px) { .sm_env_slide.active { width: 600px; } .sm_env_slide.next1 { left: 630px; } .sm_env_slide.next2 { left: 910px; } .sm_env_slide.next3 { left: 1190px; } }
@media (max-width: 1024px) {
  .sm_env_inner { flex-direction: column; align-items: flex-start; gap: 40px; }
  .sm_env_left { flex: auto; width: 100%; }
  .sm_env_pc_action { display: none; }
  .sm_env_mo_action { display: block; margin-top: 30px; }
  .sm_env_right { width: 100%; height: 360px; }
  .sm_env_slide.active { width: calc(100% - 100px); height: 360px; }
  .sm_env_slide.next1 { width: 160px; height: 160px; left: calc(100% - 85px); }
  .sm_env_slide.next2 { width: 160px; height: 160px; left: calc(100% + 90px); }
  .sm_env_slide.prev { width: calc(100% - 100px); height: 360px; left: -50px; }
}
@media (max-width: 768px) {
  .sm_env_wrap { padding: 70px 20px; }
  .sm_env_title { font-size: 26px; margin-bottom: 14px; }
  .sm_env_desc { margin-bottom: 0; font-size: 15px; }
  .sm_env_inner { gap: 30px; }
  .sm_env_right { height: 260px; }
  .sm_env_slide.active { width: calc(100% - 70px); height: 260px; border-radius: 16px; }
  .sm_env_slide.next1 { left: calc(100% - 55px); width: 140px; height: 140px; border-radius: 12px; }
  .sm_env_slide.next2 { left: calc(100% + 100px); width: 140px; height: 140px; border-radius: 12px; }
}

/* =====================================================================
   11. 진료시간·오시는길 (.sm_location_wrap)
   ===================================================================== */
.sm_location_wrap { width: 100%; background: #fff; padding: 110px 20px; position: relative; z-index: 1; border-top: 1px solid var(--sm-border); }
.sm_location_wrap * { box-sizing: border-box; margin: 0; padding: 0; word-break: keep-all; }
.sm_location_inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: stretch; gap: 60px; }
.sm_loc_left, .sm_loc_right { width: 50%; flex: 1; display: flex; flex-direction: column; }
.sm_loc_title_box { min-height: 100px; }
.sm_loc_subtitle { display: block; font-size: 14px; font-weight: 700; color: var(--sm-teal-500); margin-bottom: 10px; letter-spacing: .04em; }
.sm_loc_maintitle { font-size: clamp(24px, 3vw, 32px); font-weight: 800; color: var(--sm-ink); letter-spacing: -0.03em; line-height: 1.2; }
.sm_loc_desc { margin-top: 12px; font-size: 14px; color: var(--sm-sub); line-height: 1.6; }
.sm_loc_info_box { margin-top: auto; width: 100%; }
.sm_loc_time_list { border-top: 2px solid var(--sm-ink); border-bottom: 1px solid #eee; padding: 4px 0; margin-top: 24px; }
.sm_loc_time_row { display: flex; align-items: center; padding: 11px 0; }
.sm_loc_time_row .label { width: 120px; font-size: 14.5px; font-weight: 700; color: var(--sm-ink); flex-shrink: 0; }
.sm_loc_time_row .value { flex: 1; font-size: 14.5px; color: var(--sm-ink); }
.sm_loc_time_row.sm_loc_hl .label, .sm_loc_time_row.sm_loc_hl .value { color: var(--sm-teal-500); font-weight: 700; }
.sm_loc_notice_wrap { border-top: 1px solid #eee; }
.sm_loc_notice_item { font-size: 13.5px; color: var(--sm-sub); line-height: 1.5; padding: 10px 0; border-bottom: 1px solid #eee; }
.sm_loc_notice_item b { color: var(--sm-green-700); }
.sm_loc_notice_item:last-child { border-bottom: none; }
.sm_loc_cal_btn { display: inline-flex; margin-top: 18px; padding: 11px 22px; border-radius: 50px; background: var(--sm-mist); color: var(--sm-green-700); font-size: 14px; font-weight: 700; transition: all .25s; }
.sm_loc_cal_btn:hover { background: var(--sm-green-700); color: #fff; }
.sm_loc_address_box { min-height: 100px; }
.sm_loc_addr_text { font-size: 17px; font-weight: 800; color: var(--sm-ink); letter-spacing: -0.02em; line-height: 1.4; margin-bottom: 8px; }
.sm_loc_addr_sub { font-size: 13px; color: var(--sm-sub); margin-bottom: 8px; line-height: 1.6; }
.sm_loc_addr_tel { font-size: 18px; font-weight: 800; color: var(--sm-teal-500); }
.sm_loc_fax { font-size: 13px; font-weight: 600; color: var(--sm-gray); margin-left: 12px; }
.sm_loc_map_container { width: 100%; flex: 1; min-height: 340px; background: var(--sm-mist-2); border-radius: 14px; overflow: hidden; margin: 16px 0; position: relative; }
.sm_loc_map_container iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sm_loc_map_link { position: absolute; inset: 0; display: block; }
.sm_loc_map_link img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform .6s ease; }
.sm_loc_map_link:hover img { transform: scale(1.03); }
.sm_loc_map_live { position: absolute; inset: 0; z-index: 2; display: none; }
.sm_loc_map_container.sm_map_ready .sm_loc_map_live { display: block; }
.sm_loc_map_container.sm_map_ready .sm_loc_map_fallback { visibility: hidden; }
.sm_loc_map_live, .sm_loc_map_live .root_daum_roughmap, .sm_loc_map_live .wrap_map { width: 100% !important; height: 100% !important; border: 0 !important; box-shadow: none !important; background-image: none !important; }
.sm_loc_map_live .wrap_controllers, .sm_loc_map_live .info_box, .sm_loc_map_live .roughmap_lebel_layer, .sm_loc_map_live .wrap_info { display: none !important; }
.sm_loc_map_hint { position: absolute; left: 14px; bottom: 14px; background: rgba(11,59,46,.86); color: #fff; font-size: 12.5px; font-weight: 700; padding: 7px 12px; border-radius: 50px; pointer-events: none; }
.sm_loc_app_links { display: flex; align-items: center; border-top: 1px solid #eee; padding-top: 14px; }
.sm_loc_app_item { flex: 1; display: flex; justify-content: center; }
.sm_loc_app_item + .sm_loc_app_item { border-left: 1px solid #e5e5e5; }
.sm_loc_app_links a { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--sm-ink); transition: color .3s; white-space: nowrap; }
.sm_loc_badge { display: inline-flex; justify-content: center; align-items: center; width: 20px; height: 20px; border-radius: 5px; font-size: 11px; font-weight: 900; color: #fff; transition: transform .3s cubic-bezier(.175,.885,.32,1.275); }
.sm_loc_app_links a:hover .sm_loc_badge { transform: translateY(-3px); }
.sm_loc_naver { background: #03C75A; }
.sm_loc_kakao { background: #FEE500; color: #000; }
.sm_loc_call { background: var(--sm-green-700); }
@media (max-width: 1100px) {
  .sm_location_inner { flex-direction: column; gap: 40px; }
  .sm_loc_left, .sm_loc_right { width: 100%; flex: auto; }
  .sm_loc_map_container { height: 360px; flex: none; }
  .sm_loc_info_box { margin-top: 32px; }
}
@media (max-width: 768px) {
  .sm_location_wrap { padding: 60px 15px 70px; }
  .sm_loc_maintitle { font-size: 22px; }
  .sm_loc_addr_text { font-size: 14.5px; }
  .sm_loc_time_row .label { width: 96px; font-size: 13.5px; }
  .sm_loc_time_row .value { font-size: 13.5px; }
  .sm_loc_notice_item { font-size: 12.5px; }
  .sm_loc_map_container { height: 280px; border-radius: 10px; min-height: auto; }
}

/* =====================================================================
   12. FOOTER (.sm_footer_wrap)
   ===================================================================== */
.sm_footer_wrap { width: 100%; background: #F6F8F7; padding: 80px 20px 60px; }
.sm_footer_wrap * { box-sizing: border-box; margin: 0; padding: 0; word-break: keep-all; }
.sm_footer_inner { max-width: 1400px; margin: 0 auto; }
.sm_ft_top { display: flex; justify-content: space-between; gap: 100px; margin-bottom: 70px; align-items: stretch; }
.sm_ft_notice, .sm_ft_contact { flex: 1; display: flex; flex-direction: column; }
.sm_ft_head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; min-height: 52px; }
.sm_ft_titles { display: flex; flex-direction: column; gap: 12px; }
.sm_ft_titles h3 { font-size: 27px; font-weight: 900; color: var(--sm-ink); line-height: 1; }
.sm_ft_titles p { font-size: 14.5px; color: var(--sm-sub); }
.sm_ft_btn_round { display: inline-flex; align-items: center; padding: 10px 22px; border: 1px solid #ccc; border-radius: 50px; font-size: 13.5px; font-weight: 600; color: var(--sm-ink); transition: all .2s; line-height: 1; }
.sm_ft_btn_round:hover { background: var(--sm-ink); color: #fff; border-color: var(--sm-ink); }
.sm_ft_notice_list { border-top: 2px solid var(--sm-ink); border-bottom: 2px solid #e0e0e0; padding: 6px 0; }
.sm_ft_notice_list li { border-bottom: 1px solid #e0e0e0; }
.sm_ft_notice_list li:last-child { border-bottom: none; }
.sm_ft_notice_list a { display: flex; justify-content: space-between; align-items: center; padding: 17px 14px; font-size: 15px; font-weight: 500; color: var(--sm-ink); transition: all .3s; border-radius: 8px; margin: 2px 0; }
.sm_ft_notice_text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }
.sm_ft_notice_arrow { opacity: 0; transform: translateX(-15px); font-size: 18px; font-weight: 800; transition: all .3s cubic-bezier(.25,1,.5,1); margin-left: 10px; }
.sm_ft_notice_list a:hover { background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,.05); transform: translateX(5px); }
.sm_ft_notice_list a:hover .sm_ft_notice_arrow { opacity: 1; transform: translateX(0); }
.sm_ft_tel { display: flex; align-items: center; gap: 10px; font-size: 40px; font-weight: 900; color: var(--sm-ink); margin-bottom: 28px; letter-spacing: -0.01em; }
.sm_ft_tel svg { width: 26px; height: 26px; fill: var(--sm-green-700); }
.sm_ft_btns { display: flex; gap: 14px; }
.sm_ft_action { flex: 1; display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-radius: 10px; color: #fff; height: 64px; transition: transform .3s; min-width: 0; }
.sm_ft_action:hover { transform: translateY(-4px); }
.sm_ft_action span { font-size: 14.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; }
.sm_ft_action strong { font-size: 24px; font-weight: 900; font-family: Arial, sans-serif; opacity: .9; }
.sm_ft_naver { background: linear-gradient(135deg, #03C75A 0%, #029b46 100%); }
.sm_ft_kakao { background: #FEE500; color: #191919; }
.sm_ft_kakao strong { color: #191919; opacity: 1; }
.sm_fb_top { display: flex; align-items: center; padding-top: 10px; margin-bottom: 22px; }
.sm_ft_logo { height: 36px; width: auto; }
.sm_fb_info_row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.sm_fb_company { display: flex; flex-direction: column; gap: 8px; }
.sm_fb_addr { font-size: 13.5px; color: var(--sm-sub); }
.sm_fb_info_wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font-size: 13.5px; color: var(--sm-gray); }
.sm_fb_label { color: var(--sm-ink); font-weight: 600; margin-right: 4px; }
.sm_fb_divider { margin: 0 8px; color: #ccc; }
.sm_fb_copy { font-size: 13px; color: var(--sm-gray); }
.sm_fb_links { display: flex; gap: 16px; }
.sm_fb_links a { font-size: 13px; font-weight: 500; color: var(--sm-gray); white-space: nowrap; transition: color .2s; }
.sm_fb_links a:hover { color: var(--sm-ink); text-decoration: underline; }
.sm_fb_links a.sm_fb_privacy { color: var(--sm-ink); font-weight: 700; }
@media (max-width: 1024px) { .sm_ft_top { flex-direction: column; gap: 50px; } .sm_fb_info_row { flex-direction: column; align-items: flex-start; } }
@media (max-width: 640px) { .sm_footer_wrap { padding: 60px 16px 90px; } .sm_ft_tel { font-size: 30px; } .sm_ft_btns { flex-direction: column; } .sm_ft_titles h3 { font-size: 22px; } .sm_fb_divider { display: none; } .sm_fb_info_wrap { flex-direction: column; align-items: flex-start; gap: 4px; } .sm_ft_notice_list a { font-size: 14px; padding: 14px 10px; } }

/* 모바일 퀵 전화 버튼 */
.sm_quick_call { position: fixed; left: 16px; right: auto; bottom: 16px; /* 우하단은 아보카도 예약 위젯 자리 */ z-index: 99980; display: none; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 50px; background: var(--sm-green-700); color: #fff; font-weight: 800; font-size: 15px; box-shadow: 0 10px 30px rgba(17,122,110,.35); }
.sm_quick_call svg { width: 18px; height: 18px; fill: #fff; }
@media (max-width: 1024px) { .sm_quick_call { display: inline-flex; } }
/* 좁은 화면: 우하단 아보카도 위젯(약 250px)과 겹치지 않도록 원형 아이콘만 */
@media (max-width: 640px) { .sm_quick_call { width: 52px; height: 52px; padding: 0; justify-content: center; border-radius: 50%; } .sm_quick_call span { display: none; } .sm_quick_call svg { width: 22px; height: 22px; } }

/* =====================================================================
   13. 서브페이지 공통
   ===================================================================== */
.sm_page_hero { position: relative; padding: 20px 24px 0; }
.sm_page_hero_inner { position: relative; height: 380px; border-radius: var(--sm-radius-pc); overflow: hidden; background: var(--sm-green-800); display: flex; align-items: flex-end; }
.sm_page_hero_bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.04); }
.sm_page_hero_overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(11,59,46,.85) 0%, rgba(11,59,46,.35) 60%, rgba(0,0,0,0) 100%), linear-gradient(to top, rgba(0,0,0,.4) 0%, rgba(0,0,0,0) 45%); }
.sm_page_hero_content { position: relative; z-index: 2; padding: 0 70px 56px; color: #fff; }
.sm_page_hero_crumb { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.7); margin-bottom: 14px; letter-spacing: .04em; }
.sm_page_hero_crumb a:hover { color: #fff; }
.sm_page_hero_title { font-size: clamp(30px, 4.2vw, 50px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.2; }
.sm_page_hero_sub { margin-top: 12px; font-size: clamp(14px, 1.5vw, 17px); color: rgba(255,255,255,.85); font-weight: 500; }
.sm_subnav { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
.sm_subnav_inner { display: flex; gap: 6px; overflow-x: auto; padding: 22px 0 0; scrollbar-width: none; }
.sm_subnav_inner::-webkit-scrollbar { display: none; }
.sm_subnav_inner a { flex-shrink: 0; padding: 11px 20px; border-radius: 50px; border: 1px solid var(--sm-border); background: #fff; font-size: 14px; font-weight: 700; color: var(--sm-sub); transition: all .25s; }
.sm_subnav_inner a:hover, .sm_subnav_inner a.sm_on { background: var(--sm-green-700); color: #fff; border-color: var(--sm-green-700); }
@media (max-width: 768px) {
  .sm_page_hero { padding: 10px 15px 0; }
  .sm_page_hero_inner { height: 250px; border-radius: var(--sm-radius-mo); }
  .sm_page_hero_content { padding: 0 22px 28px; }
  .sm_subnav { padding: 0 15px; }
  .sm_subnav_inner a { padding: 9px 15px; font-size: 13px; }
}

.sm_sec { padding: 110px 24px; }
.sm_sec.sm_sec_mist { background: var(--sm-mist); }
.sm_sec.sm_sec_dark { background: var(--sm-green-900); color: #fff; }
.sm_sec.sm_sec_cream { background: var(--sm-cream); }
.sm_sec_inner { max-width: 1300px; margin: 0 auto; }
.sm_sec_inner.sm_narrow { max-width: 1000px; }
.sm_sec_head { margin-bottom: 48px; }
.sm_sec_head.sm_center { text-align: center; }
.sm_sec_label { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-teal-500); margin-bottom: 14px; }
.sm_sec_dark .sm_sec_label { color: var(--sm-aqua-300); }
.sm_sec_title { font-size: clamp(28px, 3.6vw, 44px); font-weight: 900; line-height: 1.25; letter-spacing: -0.03em; }
.sm_sec_title em { font-style: normal; color: var(--sm-teal-500); }
.sm_sec_dark .sm_sec_title em { color: var(--sm-aqua-300); }
.sm_sec_desc { margin-top: 18px; font-size: 16px; color: var(--sm-sub); line-height: 1.8; max-width: 820px; }
.sm_sec_head.sm_center .sm_sec_desc { margin-left: auto; margin-right: auto; }
.sm_sec_dark .sm_sec_desc { color: rgba(255,255,255,.78); }
.sm_anchor { scroll-margin-top: calc(var(--sm-header-h) + 20px); }
@media (max-width: 768px) { .sm_sec { padding: 70px 16px; } .sm_sec_head { margin-bottom: 32px; } }

/* 의료진 프로필 카드 이미지 (doctor.html) */
.sm_doc_cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sm_doc_cards img { width: 100%; height: auto; border-radius: 24px; box-shadow: 0 24px 60px rgba(17,122,110,.12); transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s; }
.sm_doc_cards img:hover { transform: translateY(-8px); box-shadow: 0 40px 80px rgba(17,122,110,.18); }
.sm_doc_cards .sm_reveal { transform: translateY(40px) scale(.97); }
.sm_doc_cards .sm_reveal.sm_active { transform: none; }
@media (max-width: 768px) { .sm_doc_cards { grid-template-columns: 1fr; gap: 16px; } .sm_doc_cards img { border-radius: 16px; } }

/* 2단 이미지+텍스트 */
.sm_split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.sm_split.sm_rev > :first-child { order: 2; }
.sm_split_img { border-radius: 26px; overflow: hidden; box-shadow: 0 24px 60px rgba(17,122,110,.14); }
.sm_split_img img { width: 100%; height: 460px; object-fit: cover; }
.sm_split_body h3 { font-size: clamp(24px, 2.8vw, 34px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.3; margin-bottom: 18px; }
.sm_split_body p { font-size: 16px; color: var(--sm-sub); line-height: 1.85; }
.sm_split_body p + p { margin-top: 14px; }
.sm_sec_dark .sm_split_body p { color: rgba(255,255,255,.8); }
.sm_check_list { margin-top: 24px; }
.sm_check_list li { position: relative; padding-left: 30px; font-size: 15.5px; line-height: 1.7; margin-bottom: 10px; color: #333; }
.sm_check_list li::before { content: ''; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--sm-aqua-400); }
.sm_check_list li::after { content: ''; position: absolute; left: 7px; top: 8px; width: 5px; height: 9px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.sm_sec_dark .sm_check_list li { color: rgba(255,255,255,.88); }
@media (max-width: 1024px) { .sm_split { grid-template-columns: 1fr; gap: 34px; } .sm_split.sm_rev > :first-child { order: 0; } .sm_split_img img { height: 300px; } }

/* 카드 그리드 */
.sm_grid { display: grid; gap: 20px; }
.sm_grid_2 { grid-template-columns: repeat(2, 1fr); }
.sm_grid_3 { grid-template-columns: repeat(3, 1fr); }
.sm_grid_4 { grid-template-columns: repeat(4, 1fr); }
.sm_card { background: #fff; border: 1px solid var(--sm-border); border-radius: 20px; padding: 32px 28px; transition: all .3s; position: relative; }
a.sm_card { display: block; }
.sm_card:hover { border-color: rgba(15,138,136,.4); box-shadow: 0 20px 50px rgba(17,122,110,.1); transform: translateY(-4px); }
.sm_card_num { font-size: 13px; font-weight: 800; color: var(--sm-aqua-400); letter-spacing: .1em; }
.sm_card_icon { width: 52px; height: 52px; border-radius: 14px; background: var(--sm-mist); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; font-size: 24px; }
.sm_card h4 { font-size: 20px; font-weight: 800; margin: 10px 0 10px; letter-spacing: -0.02em; }
.sm_card p { font-size: 14.5px; color: var(--sm-sub); line-height: 1.7; }
.sm_card_tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.sm_card_tags span { font-size: 12px; font-weight: 700; color: var(--sm-green-700); background: var(--sm-mist); padding: 5px 10px; border-radius: 50px; }
.sm_card.sm_card_mist { background: var(--sm-mist); border-color: transparent; }
.sm_card.sm_card_dark { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); color: #fff; }
.sm_card.sm_card_dark p { color: rgba(255,255,255,.75); }
.sm_card.sm_card_dark:hover { background: rgba(255,255,255,.1); }
.sm_card_img { margin: -32px -28px 20px; border-radius: 20px 20px 0 0; overflow: hidden; }
.sm_card_img img { width: 100%; height: 200px; object-fit: cover; }
.sm_card_big { font-size: 40px; font-weight: 900; line-height: 1; letter-spacing: -0.02em; color: var(--sm-green-700); }
.sm_card_big small { font-size: 16px; font-weight: 700; color: var(--sm-aqua-400); margin-left: 4px; }
.sm_card_dark .sm_card_big { color: #fff; }
@media (max-width: 1024px) { .sm_grid_4 { grid-template-columns: repeat(2, 1fr); } .sm_grid_3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .sm_grid_2, .sm_grid_3, .sm_grid_4 { grid-template-columns: 1fr; } .sm_card { padding: 26px 22px; } .sm_card_img { margin: -26px -22px 18px; } }

/* 단계(프로세스) */
.sm_steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; counter-reset: sm_step; }
.sm_step_item { background: #fff; border-radius: 18px; padding: 26px 22px; border: 1px solid var(--sm-border); position: relative; color: var(--sm-ink); }
.sm_step_item::before { counter-increment: sm_step; content: "0" counter(sm_step); font-size: 13px; font-weight: 800; color: var(--sm-aqua-400); letter-spacing: .1em; }
.sm_step_item h4 { font-size: 17px; font-weight: 800; margin: 10px 0 8px; }
.sm_step_item p { font-size: 13.5px; color: var(--sm-sub); line-height: 1.65; }
.sm_steps.sm_steps_4 { grid-template-columns: repeat(4, 1fr); }
.sm_steps.sm_steps_6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1024px) { .sm_steps, .sm_steps.sm_steps_4, .sm_steps.sm_steps_6 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .sm_steps, .sm_steps.sm_steps_4, .sm_steps.sm_steps_6 { grid-template-columns: 1fr; } }

/* 표 */
.sm_table_wrap { overflow-x: auto; border-radius: 16px; border: 1px solid var(--sm-border); background: #fff; }
.sm_table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 14.5px; }
.sm_table th, .sm_table td { padding: 15px 18px; border-bottom: 1px solid var(--sm-border); text-align: left; vertical-align: top; line-height: 1.6; }
.sm_table th { background: var(--sm-mist); font-weight: 800; color: var(--sm-green-700); white-space: nowrap; }
.sm_table tr:last-child td { border-bottom: none; }
.sm_table td.sm_price { font-weight: 800; color: var(--sm-gold); white-space: nowrap; text-align: right; }
.sm_table td.sm_num { text-align: right; white-space: nowrap; }
.sm_table tbody tr:hover td { background: #fafcfb; }
.sm_fee_promo { display: inline-block; margin-left: 6px; padding: 3px 9px; border-radius: 50px; background: var(--sm-mist); color: var(--sm-green-700); font-size: 12px; font-weight: 700; white-space: nowrap; vertical-align: middle; }
.sm_sec_dark .sm_table tbody tr:hover td { background: rgba(255,255,255,.06); }

/* 안내 박스 */
.sm_notice_box { background: var(--sm-mist); border-left: 4px solid var(--sm-teal-500); border-radius: 12px; padding: 22px 26px; font-size: 14.5px; line-height: 1.75; color: #333; }
.sm_notice_box strong { color: var(--sm-green-700); }
.sm_notice_box.sm_warn { background: #EAF6F7; border-left-color: var(--sm-aqua-400); }
.sm_notice_box ul li { position: relative; padding-left: 14px; }
.sm_notice_box ul li::before { content: '·'; position: absolute; left: 0; font-weight: 900; color: var(--sm-teal-500); }

/* 상세 리스트 (준비 안내 등) */
.sm_prep_list { border-top: 2px solid var(--sm-ink); }
.sm_prep_row { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 20px 8px; border-bottom: 1px solid var(--sm-border); align-items: start; }
.sm_prep_row h5 { font-size: 17px; font-weight: 800; color: var(--sm-green-700); margin: 0; line-height: 1.6; }
.sm_prep_row p { font-size: 15px; color: #333; line-height: 1.75; }
@media (max-width: 640px) { .sm_prep_row { grid-template-columns: 1fr; gap: 6px; } }

/* 갤러리 (둘러보기) */
.sm_gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sm_gallery figure { position: relative; border-radius: 20px; overflow: hidden; background: var(--sm-mist-2); aspect-ratio: 4/3; cursor: zoom-in; }
.sm_gallery figure.sm_tall { grid-row: span 2; aspect-ratio: auto; }
.sm_gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.sm_gallery figure:hover img { transform: scale(1.06); }
.sm_gallery figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 20px 18px; color: #fff; font-weight: 700; font-size: 15px; background: linear-gradient(to top, rgba(11,59,46,.85), rgba(0,0,0,0)); }
@media (max-width: 1024px) { .sm_gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm_gallery { grid-template-columns: 1fr; } .sm_gallery figure.sm_tall { grid-row: auto; aspect-ratio: 4/3; } }
.sm_lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.88); z-index: 100000; display: none; align-items: center; justify-content: center; padding: 30px; cursor: zoom-out; }
.sm_lightbox.sm_open { display: flex; }
.sm_lightbox img { max-width: 100%; max-height: 100%; border-radius: 12px; object-fit: contain; }

/* 캘린더 탭 */
.sm_cal_tabs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px; }
.sm_cal_tab { padding: 11px 24px; border-radius: 50px; border: 1px solid var(--sm-border); background: #fff; font-weight: 700; font-size: 15px; color: var(--sm-sub); transition: all .25s; }
.sm_cal_tab.sm_on { background: var(--sm-green-700); color: #fff; border-color: var(--sm-green-700); }
.sm_cal_legend { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.sm_cal_legend span { font-size: 13px; font-weight: 700; padding: 8px 14px; border-radius: 50px; }
.sm_cal_legend .sm_lg_wk { background: #E7EEF9; color: #2B4C8C; }
.sm_cal_legend .sm_lg_sat { background: #E4F3EA; color: #1E6B3E; }
.sm_cal_legend .sm_lg_off { background: #F9E6E3; color: #A33A2E; }

/* 의료진 상세 (doctor.html) */
.sm_doc_profile { display: grid; grid-template-columns: 420px 1fr; gap: 60px; align-items: start; padding: 50px 0; border-bottom: 1px solid var(--sm-border); }
.sm_doc_profile:last-child { border-bottom: none; }
.sm_doc_photo { border-radius: 26px; overflow: hidden; background: linear-gradient(180deg, #f6f9f8, var(--sm-mist-2)); position: sticky; top: calc(var(--sm-header-h) + 20px); }
.sm_doc_photo img { width: 100%; height: 560px; object-fit: cover; object-position: top; }
.sm_doc_role { font-size: 14px; font-weight: 800; color: var(--sm-teal-500); letter-spacing: .06em; }
.sm_doc_name { font-size: clamp(32px, 3.6vw, 44px); font-weight: 900; letter-spacing: -0.03em; margin: 8px 0 6px; }
.sm_doc_name small { font-size: 16px; font-weight: 600; color: var(--sm-brown); margin-left: 10px; }
.sm_doc_spec { font-size: 16px; font-weight: 700; color: var(--sm-green-700); margin-bottom: 26px; }
.sm_doc_quote { background: var(--sm-mist); border-radius: 16px; padding: 22px 26px; font-size: 15.5px; line-height: 1.8; color: #333; margin-bottom: 30px; border-left: 4px solid var(--sm-aqua-400); }
.sm_doc_cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 40px; }
.sm_doc_block h5 { margin-top: 0; font-size: 13px; font-weight: 800; color: var(--sm-teal-500); letter-spacing: .1em; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 2px solid rgba(15,138,136,.25); }
.sm_doc_block li { font-size: 15.5px; font-weight: 500; line-height: 1.75; padding-left: 14px; position: relative; color: #222; }
.sm_doc_block li::before { content: ''; position: absolute; left: 0; top: 12px; width: 5px; height: 5px; border-radius: 50%; background: var(--sm-teal-500); }
.sm_doc_block li.sm_now { font-weight: 800; color: var(--sm-green-700); }
@media (max-width: 1024px) { .sm_doc_profile { grid-template-columns: 1fr; gap: 30px; } .sm_doc_photo { position: static; max-width: 420px; } .sm_doc_photo img { height: 480px; } }
@media (max-width: 640px) { .sm_doc_cols { grid-template-columns: 1fr; } .sm_doc_photo img { height: 400px; } }

/* 공지사항 리스트 */
.sm_notice_list { border-top: 2px solid var(--sm-ink); }
.sm_notice_item { border-bottom: 1px solid var(--sm-border); }
.sm_notice_item summary { list-style: none; display: flex; align-items: center; gap: 20px; padding: 22px 12px; cursor: pointer; font-size: 16.5px; font-weight: 700; transition: background .2s; }
.sm_notice_item summary::-webkit-details-marker { display: none; }
.sm_notice_item summary:hover { background: #fafcfb; }
.sm_notice_item summary .sm_nt_badge { flex-shrink: 0; font-size: 11px; font-weight: 800; padding: 5px 10px; border-radius: 50px; background: var(--sm-mist); color: var(--sm-green-700); letter-spacing: .04em; }
.sm_notice_item summary .sm_nt_badge.sm_new { background: var(--sm-aqua-400); color: #fff; }
.sm_notice_item summary .sm_nt_date { margin-left: auto; flex-shrink: 0; font-size: 13.5px; font-weight: 500; color: var(--sm-gray); }
.sm_notice_body { padding: 4px 12px 30px 12px; font-size: 15px; line-height: 1.85; color: #333; }
.sm_notice_body p + p { margin-top: 10px; }
@media (max-width: 640px) { .sm_notice_item summary { flex-wrap: wrap; gap: 10px; font-size: 15px; padding: 18px 8px; } .sm_notice_item summary .sm_nt_date { width: 100%; margin-left: 0; } }

/* 인사말 (about) */
.sm_greet { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.sm_greet_img { position: relative; }
.sm_greet_img img { width: 100%; height: 520px; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 70px rgba(17,122,110,.16); }
.sm_greet_img .sm_greet_badge { position: absolute; left: -20px; bottom: 30px; background: var(--sm-green-700); color: #fff; padding: 18px 24px; border-radius: 16px; box-shadow: 0 16px 40px rgba(17,122,110,.3); }
.sm_greet_img .sm_greet_badge b { display: block; font-size: 22px; font-weight: 900; }
.sm_greet_img .sm_greet_badge span { font-size: 13px; opacity: .85; }
.sm_greet_body .sm_greet_slogan { font-size: clamp(26px, 3.4vw, 40px); font-weight: 900; line-height: 1.35; letter-spacing: -0.03em; margin-bottom: 26px; }
.sm_greet_body .sm_greet_slogan em { font-style: normal; color: var(--sm-teal-500); }
.sm_greet_body p { font-size: 16px; color: #333; line-height: 1.9; }
.sm_greet_body p + p { margin-top: 14px; }
.sm_greet_sign { margin-top: 30px; font-size: 15px; color: var(--sm-sub); }
.sm_greet_sign strong { display: block; font-size: 20px; font-weight: 900; color: var(--sm-ink); margin-top: 4px; }
@media (max-width: 1024px) { .sm_greet { grid-template-columns: 1fr; gap: 40px; } .sm_greet_img img { height: 380px; } .sm_greet_img .sm_greet_badge { left: 16px; } }

/* 숫자 강조 스탯 */
.sm_stats_row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sm_stat_box { background: #fff; border-radius: 18px; padding: 28px 24px; border: 1px solid var(--sm-border); }
.sm_stat_box b { display: block; font-size: 32px; font-weight: 900; color: var(--sm-green-700); letter-spacing: -0.02em; line-height: 1.1; }
.sm_stat_box b small { font-size: 15px; color: var(--sm-aqua-400); margin-left: 3px; }
.sm_stat_box span { display: block; margin-top: 8px; font-size: 14px; color: var(--sm-sub); font-weight: 600; }
@media (max-width: 1024px) { .sm_stats_row { grid-template-columns: repeat(2, 1fr); } }

/* CTA 밴드 */
.sm_cta { background: linear-gradient(135deg, var(--sm-green-800), var(--sm-teal-500)); color: #fff; border-radius: 28px; padding: 56px 60px; display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.sm_cta h3 { font-size: clamp(22px, 2.8vw, 32px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.3; }
.sm_cta p { margin-top: 8px; font-size: 15px; color: rgba(255,255,255,.85); }
.sm_cta_btns { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 640px) { .sm_cta { padding: 34px 24px; } }


/* ---------- ELUXEO 7000 누끼: 스튜디오 배경 + 중앙 정렬 ---------- */
#sm_endo .sm_hero_card img.sm_cut { object-fit: contain; padding: 5% 12%; background: radial-gradient(ellipse at 50% 58%, #ffffff 0%, var(--sm-mist) 60%, var(--sm-mist-2) 100%); }
#sm_colon .c_device_img.sm_cut { object-fit: contain !important; padding: 32px !important; background: radial-gradient(ellipse at 50% 58%, #ffffff 0%, var(--sm-mist) 70%) !important; }
#sm_gastro .uyj_device_img.sm_cut { padding: 32px !important; background: radial-gradient(ellipse at 50% 58%, #ffffff 0%, var(--sm-mist) 70%) !important; }

/* ---------- PC 전체 스케일 80% (브라우저 80% 줌과 동일) — 모바일/태블릿 제외 ---------- */
@media (min-width: 1025px) { html { zoom: .8; } }

/* =====================================================================
   서브페이지 히어로 통일 규격 (기준: 채용검진 — 화면 꽉 찬 폭 · 좌 틸 그라데이션 · 우 사진 페이드)
   대상 8곳: 초음파 · 5대암 · 종합 · 국가 · 채용 · 위내시경 · 대장내시경 · 용종절제술
   ===================================================================== */
#sm_us, body.sm_body #sm_cancer, body.sm_body #sm_comp, body.sm_body #sm_nhis, body.sm_body #sm_emp, body.sm_body #sm_gastro, body.sm_body #sm_colon, body.sm_body #sm_polyp { padding-top: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }body.sm_body #sm_us .uyj_us_device_banner, body.sm_body #sm_cancer .uyj_us_device_banner, body.sm_body #sm_comp .uyj_comp_hero, body.sm_body #sm_nhis .uyj_comp_hero, body.sm_body #sm_emp .uyj_comp_hero, body.sm_body #sm_gastro .uyj_hero, body.sm_body #sm_colon .c_hero, body.sm_body #sm_polyp .p_hero {
  width: 100% !important; max-width: none !important; height: 560px !important; min-height: 0 !important;
  margin: 0 0 80px !important; padding: 72px 0 !important; box-sizing: border-box !important;
  border-radius: 0 !important; overflow: hidden !important; position: relative !important;
  display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 0 !important;
  background: linear-gradient(90deg, #117A6E 0%, #158A7D 55%, #1B9A8C 100%) !important;
  box-shadow: none !important; color: #fff !important;
}body.sm_body #sm_gastro .uyj_hero::before, body.sm_body #sm_colon .c_hero::before, body.sm_body #sm_polyp .p_hero::before, body.sm_body #sm_comp .uyj_comp_hero::before, body.sm_body #sm_nhis .uyj_comp_hero::before, body.sm_body #sm_emp .uyj_comp_hero::before, body.sm_body #sm_us .uyj_us_device_banner::before, body.sm_body #sm_cancer .uyj_us_device_banner::before { display: none !important; }body.sm_body #sm_us .uyj_us_device_inner, body.sm_body #sm_cancer .uyj_us_device_inner, body.sm_body #sm_comp .uyj_comp_hero_inner, body.sm_body #sm_nhis .uyj_comp_hero_inner, body.sm_body #sm_emp .uyj_comp_hero_inner, body.sm_body #sm_gastro .uyj_hero_inner, body.sm_body #sm_colon .c_hero_inner, body.sm_body #sm_polyp .p_hero_inner {
  position: static !important; width: 100% !important; max-width: 1560px !important;
  margin: 0 auto !important; padding: 0 60px !important; display: block !important; flex: none !important; min-height: 0 !important; height: auto !important;
}body.sm_body #sm_us .uyj_us_device_left, body.sm_body #sm_cancer .uyj_us_device_left, body.sm_body #sm_comp .uyj_comp_hero_text, body.sm_body #sm_nhis .uyj_comp_hero_text, body.sm_body #sm_emp .uyj_comp_hero_text, body.sm_body #sm_gastro .uyj_hero_left, body.sm_body #sm_colon .c_hero_left, body.sm_body #sm_polyp .p_hero_inner > * { max-width: 680px !important; position: relative !important; z-index: 2 !important; }
body.sm_body #sm_polyp .p_hero_img { object-position: center 35% !important; }body.sm_body #sm_us .uyj_us_device_img_wrap, body.sm_body #sm_cancer .uyj_us_device_img_wrap, body.sm_body #sm_comp .uyj_comp_hero_img_wrap, body.sm_body #sm_nhis .uyj_comp_hero_img_wrap, body.sm_body #sm_emp .uyj_comp_hero_img_wrap, body.sm_body #sm_gastro .uyj_hero_img_wrap, body.sm_body #sm_colon .c_hero_img_wrap, body.sm_body #sm_polyp .p_hero_img_wrap {
  position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: auto !important;
  width: 60% !important; height: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
  border-radius: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important;
  overflow: hidden !important; z-index: 1 !important; display: block !important; order: 0 !important; flex: none !important;
}body.sm_body #sm_us .uyj_us_device_img_wrap::after, body.sm_body #sm_cancer .uyj_us_device_img_wrap::after, body.sm_body #sm_comp .uyj_comp_hero_img_wrap::after, body.sm_body #sm_nhis .uyj_comp_hero_img_wrap::after, body.sm_body #sm_emp .uyj_comp_hero_img_wrap::after, body.sm_body #sm_gastro .uyj_hero_img_wrap::after, body.sm_body #sm_colon .c_hero_img_wrap::after, body.sm_body #sm_polyp .p_hero_img_wrap::after {
  content: "" !important; position: absolute !important; inset: 0 !important; display: block !important;
  background: linear-gradient(90deg, #117A6E 0%, rgba(17,122,110,.82) 22%, rgba(21,138,125,.45) 55%, rgba(27,154,140,.18) 100%) !important;
}body.sm_body #sm_us .uyj_us_device_img, body.sm_body #sm_cancer .uyj_us_device_img, body.sm_body #sm_comp .uyj_comp_hero_img_wrap img, body.sm_body #sm_nhis .uyj_comp_hero_img_wrap img, body.sm_body #sm_emp .uyj_comp_hero_img_wrap img, body.sm_body #sm_gastro .uyj_hero_img, body.sm_body #sm_colon .c_hero_img, body.sm_body #sm_polyp .p_hero_img {
  position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center !important; display: block !important; padding: 0 !important; filter: none !important;
}body.sm_body #sm_us .uyj_us_device_left h1, body.sm_body #sm_cancer .uyj_us_device_left h1, body.sm_body #sm_comp .uyj_comp_hero_text h1, body.sm_body #sm_nhis .uyj_comp_hero_text h1, body.sm_body #sm_emp .uyj_comp_hero_text h1, body.sm_body #sm_gastro .uyj_hero_title, body.sm_body #sm_colon .c_hero_title, body.sm_body #sm_polyp .p_hero_title { font-size: clamp(34px, 3.4vw, 48px) !important; line-height: 1.2 !important; font-weight: 900 !important; letter-spacing: -0.02em !important; margin: 0 0 18px !important; color: #fff !important; }body.sm_body #sm_us .uyj_us_device_left p.lead, body.sm_body #sm_cancer .uyj_us_device_left p.lead, body.sm_body #sm_comp .uyj_comp_hero_text p, body.sm_body #sm_nhis .uyj_comp_hero_text p, body.sm_body #sm_emp .uyj_comp_hero_text p, body.sm_body #sm_gastro .uyj_hero_desc, body.sm_body #sm_colon .c_hero_desc, body.sm_body #sm_polyp .p_hero_sub { font-size: 17px !important; line-height: 1.75 !important; color: rgba(255,255,255,.92) !important; margin: 0 0 28px !important; max-width: 640px !important; }

@media (max-width: 1024px) {body.sm_body #sm_us .uyj_us_device_banner, body.sm_body #sm_cancer .uyj_us_device_banner, body.sm_body #sm_comp .uyj_comp_hero, body.sm_body #sm_nhis .uyj_comp_hero, body.sm_body #sm_emp .uyj_comp_hero, body.sm_body #sm_gastro .uyj_hero, body.sm_body #sm_colon .c_hero, body.sm_body #sm_polyp .p_hero { height: 460px !important; padding: 56px 0 !important; }body.sm_body #sm_us .uyj_us_device_img_wrap, body.sm_body #sm_cancer .uyj_us_device_img_wrap, body.sm_body #sm_comp .uyj_comp_hero_img_wrap, body.sm_body #sm_nhis .uyj_comp_hero_img_wrap, body.sm_body #sm_emp .uyj_comp_hero_img_wrap, body.sm_body #sm_gastro .uyj_hero_img_wrap, body.sm_body #sm_colon .c_hero_img_wrap, body.sm_body #sm_polyp .p_hero_img_wrap { width: 100% !important; }body.sm_body #sm_us .uyj_us_device_img_wrap::after, body.sm_body #sm_cancer .uyj_us_device_img_wrap::after, body.sm_body #sm_comp .uyj_comp_hero_img_wrap::after, body.sm_body #sm_nhis .uyj_comp_hero_img_wrap::after, body.sm_body #sm_emp .uyj_comp_hero_img_wrap::after, body.sm_body #sm_gastro .uyj_hero_img_wrap::after, body.sm_body #sm_colon .c_hero_img_wrap::after, body.sm_body #sm_polyp .p_hero_img_wrap::after { background: linear-gradient(90deg, rgba(17,122,110,.96) 0%, rgba(17,122,110,.85) 60%, rgba(21,138,125,.6) 100%) !important; }body.sm_body #sm_us .uyj_us_device_inner, body.sm_body #sm_cancer .uyj_us_device_inner, body.sm_body #sm_comp .uyj_comp_hero_inner, body.sm_body #sm_nhis .uyj_comp_hero_inner, body.sm_body #sm_emp .uyj_comp_hero_inner, body.sm_body #sm_gastro .uyj_hero_inner, body.sm_body #sm_colon .c_hero_inner, body.sm_body #sm_polyp .p_hero_inner { padding: 0 32px !important; }
}
@media (max-width: 640px) {body.sm_body #sm_us .uyj_us_device_banner, body.sm_body #sm_cancer .uyj_us_device_banner, body.sm_body #sm_comp .uyj_comp_hero, body.sm_body #sm_nhis .uyj_comp_hero, body.sm_body #sm_emp .uyj_comp_hero, body.sm_body #sm_gastro .uyj_hero, body.sm_body #sm_colon .c_hero, body.sm_body #sm_polyp .p_hero { height: auto !important; min-height: 400px !important; padding: 48px 0 !important; margin-bottom: 48px !important; }body.sm_body #sm_us .uyj_us_device_inner, body.sm_body #sm_cancer .uyj_us_device_inner, body.sm_body #sm_comp .uyj_comp_hero_inner, body.sm_body #sm_nhis .uyj_comp_hero_inner, body.sm_body #sm_emp .uyj_comp_hero_inner, body.sm_body #sm_gastro .uyj_hero_inner, body.sm_body #sm_colon .c_hero_inner, body.sm_body #sm_polyp .p_hero_inner { padding: 0 20px !important; }
}

/* ---------- 헤더 톱니 (관리) ---------- */
.sm_gear { width: 26px; height: 26px; margin-left: 6px; border: 0; background: transparent; padding: 0; cursor: pointer; opacity: .28; transition: opacity .25s, transform .4s; display: inline-flex; align-items: center; justify-content: center; }
.sm_gear svg { width: 15px; height: 15px; fill: var(--sm-sub); }
.sm_gear:hover { opacity: .8; transform: rotate(40deg); }
@media (max-width: 1024px) { .sm_gear { display: none; } .sm_m_foot .sm_gear { display: inline-flex; margin: 10px 0 0; opacity: .5; } }

/* ---------- 월별 진료일정 (동적 달력) ---------- */
.sm_cal_tabs { align-items: center; }
.sm_cal_nav { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--sm-border); background: #fff; color: var(--sm-green-700); font-size: 13px; cursor: pointer; }
.sm_cal_nav:hover { background: var(--sm-mist); }
.sm_cal_card { max-width: 900px; margin: 0 auto; background: #fff; border-radius: 22px; padding: 34px 36px 26px; box-shadow: 0 20px 60px rgba(17,122,110,.10); animation: sm_fade .4s ease; }
.sm_cal_head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 22px; }
.sm_cal_ym small { display: block; font-size: 12px; letter-spacing: .16em; color: #888; margin-bottom: 4px; }
.sm_cal_ym strong { font-size: 46px; font-weight: 900; letter-spacing: -0.03em; color: #1B2430; line-height: 1; }
.sm_cal_stat { text-align: right; font-size: 14px; color: #555; line-height: 1.6; }
.sm_cal_stat b { font-weight: 700; color: #333; }
.sm_cal_grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.sm_cal_dow { text-align: center; font-weight: 800; font-size: 14px; color: #6B7280; padding: 6px 0 10px; }
.sm_cal_dow.sm_sun { color: #A4321F; }
.sm_cal_blank { min-height: 10px; }
.sm_cd { position: relative; border-radius: 14px; min-height: 92px; padding: 12px 6px 10px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; text-align: center; }
.sm_cd_num { font-size: 24px; font-weight: 800; line-height: 1; color: #1B2430; }
.sm_cd_label { font-size: 11.5px; font-weight: 700; line-height: 1.2; margin-top: 4px; word-break: keep-all; }
.sm_cd_time { font-size: 15px; font-weight: 700; margin-top: auto; }
.sm_cd_full { background: #E7EEF9; } .sm_cd_full .sm_cd_time { color: #2B4C8C; }
.sm_cd_half { background: #E1F0EB; } .sm_cd_half .sm_cd_time { color: #1E6B3E; }
.sm_cd_off { background: #F6E9E6; } .sm_cd_off .sm_cd_num, .sm_cd_off .sm_cd_label, .sm_cd_off .sm_cd_time { color: #A4321F; }
.sm_cd_today { box-shadow: inset 0 0 0 2px var(--sm-green-700); }
.sm_cd_ov::before { content: ''; position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--sm-aqua-400); }
.sm_cal_foot { display: flex; justify-content: space-between; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--sm-border); font-size: 13.5px; color: #666; }
.sm_cal_foot b { color: #1B2430; margin-right: 6px; }
/* 관리 모드 */
.sm_cd_edit { cursor: pointer; transition: transform .15s; } .sm_cd_edit:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.sm_cd_memo { position: absolute; left: 6px; top: 6px; width: 20px; height: 20px; border-radius: 6px; border: 0; background: rgba(255,255,255,.85); color: #555; font-size: 11px; cursor: pointer; line-height: 20px; padding: 0; }
.sm_cd_memo:hover { background: var(--sm-green-700); color: #fff; }
.sm_cal_admin { max-width: 900px; margin: 0 auto 22px; background: #FFF8E6; border: 1px solid #F3D98B; border-radius: 16px; padding: 18px 22px; font-size: 14px; }
.sm_cal_admin_head { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; margin-bottom: 12px; }
.sm_cal_admin_head strong { font-size: 16px; color: #8A5A00; }
.sm_cal_admin_head span { color: #5B4A1E; }
.sm_cal_admin_rules { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-bottom: 14px; color: #5B4A1E; }
.sm_cal_admin_rules .sm_chk { display: inline-flex; align-items: center; gap: 4px; }
.sm_cal_admin_rules .sm_gap { margin-left: 14px; }
.sm_cal_admin_rules select { font: inherit; padding: 3px 6px; border-radius: 6px; border: 1px solid #ddd; }
.sm_cal_admin_btns { display: flex; flex-wrap: wrap; gap: 8px; }
.sm_cal_admin_btns .sm_btn_solid, .sm_cal_admin_btns .sm_btn_outline { padding: 10px 18px; font-size: 14px; cursor: pointer; }
.sm_cal_admin_btns .sm_a_exit { margin-left: auto; color: #A4321F !important; border-color: #E3B8B1 !important; }
.sm_cal_admin_msg { margin-top: 10px; font-weight: 700; min-height: 1em; }
.sm_cal_admin_msg.sm_ok { color: #1E6B3E; } .sm_cal_admin_msg.sm_err { color: #A4321F; }
@media (max-width: 640px) {
  .sm_cal_card { padding: 20px 12px 16px; border-radius: 16px; }
  .sm_cal_head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .sm_cal_stat { text-align: left; font-size: 13px; }
  .sm_cal_ym strong { font-size: 34px; }
  .sm_cal_grid { gap: 4px; }
  .sm_cd { min-height: 66px; padding: 8px 2px 6px; border-radius: 9px; }
  .sm_cd_num { font-size: 16px; } .sm_cd_time { font-size: 11px; } .sm_cd_label { font-size: 9.5px; }
  .sm_cal_foot { flex-direction: column; gap: 4px; }
  .sm_cal_admin { padding: 14px; }
  .sm_cal_admin_btns .sm_a_exit { margin-left: 0; }
}
.sm_cal_year { margin-left: 8px; font: inherit; font-weight: 700; font-size: 14px; padding: 9px 12px; border-radius: 50px; border: 1px solid var(--sm-border); background: #fff; color: var(--sm-green-700); }

/* ---------- 검진예약 페이지 (아보카도 연동) ---------- */
.sm_rv_wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: start; }
.sm_rv_text .sm_sec_title { text-align: left; }
.sm_rv_text .sm_sec_title span { color: var(--sm-green-700); }
.sm_rv_text .sm_sec_desc { text-align: left; margin-bottom: 26px; }
.sm_rv_steps { display: flex; flex-direction: column; gap: 10px; margin: 0 0 28px; }
.sm_rv_steps li { display: flex; align-items: center; gap: 12px; background: var(--sm-mist); border-radius: 14px; padding: 12px 16px; font-weight: 600; font-size: 15px; }
.sm_rv_steps b { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--sm-green-700); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.sm_rv_btns { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 34px; }
.sm_rv_note { border-top: 1px solid var(--sm-border); padding-top: 24px; }
.sm_rv_note h4 { font-size: 16px; font-weight: 800; margin: 18px 0 8px; color: var(--sm-green-900); }
.sm_rv_note h4:first-child { margin-top: 0; }
.sm_rv_note p, .sm_rv_note li { font-size: 14.5px; color: var(--sm-sub); line-height: 1.75; }
.sm_rv_note ul { padding-left: 18px; list-style: disc; }
.sm_rv_note a { color: var(--sm-green-700); font-weight: 700; }
.sm_rv_frame { position: sticky; top: calc(var(--sm-header-h) + 12px); }
.sm_rv_phone { position: relative; width: 100%; max-width: 420px; margin: 0 auto; background: #111; border-radius: 40px; padding: 40px 14px 14px; box-shadow: 0 30px 70px rgba(11,59,46,.22); } /* 위 40px: 노치가 화면을 가리지 않게 테두리 안에만 */
.sm_rv_phone_top { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 120px; height: 26px; background: #111; border-radius: 0 0 18px 18px; z-index: 2; }
.sm_rv_phone_top span { position: absolute; left: 50%; top: 9px; transform: translateX(-50%); width: 44px; height: 6px; border-radius: 3px; background: #333; }
.sm_rv_phone iframe { display: block; width: 100%; height: 820px; border: 0; border-radius: 28px; background: #fff; }
.sm_rv_offline { display: none; }
.sm_rv_caption { text-align: center; font-size: 13px; color: var(--sm-gray); margin-top: 14px; }
@media (max-width: 1024px) { .sm_rv_wrap { grid-template-columns: 1fr; gap: 40px; } .sm_rv_frame { position: sticky; top: calc(var(--sm-header-h) + 12px); } }
@media (max-width: 640px) { .sm_rv_phone { border-radius: 30px; padding: 34px 10px 10px; } .sm_rv_phone iframe { height: 860px; border-radius: 22px; } }

/* 검진예약 CTA — 아보카도 노란색으로 부각 */
.sm_rv_btns { gap: 12px; }
.sm_body a.sm_rv_cta { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 260px; padding: 18px 28px; border-radius: 18px;
  background: #FDE24A; color: #14532D; box-shadow: 0 12px 30px rgba(253,226,74,.45); border: 2px solid #F5D200; transition: transform .2s, box-shadow .2s; }
.sm_body a.sm_rv_cta b { font-size: 21px; font-weight: 900; letter-spacing: -.02em; }
.sm_body a.sm_rv_cta span { font-size: 13.5px; font-weight: 600; opacity: .8; }
.sm_body a.sm_rv_cta:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(253,226,74,.55); }
.sm_body a.sm_rv_cta_ars { background: #fff; color: var(--sm-green-700); border-color: var(--sm-green-700); box-shadow: none; }
.sm_body a.sm_rv_cta_ars:hover { background: var(--sm-mist); box-shadow: none; }
@media (max-width: 640px) { .sm_body a.sm_rv_cta { width: 100%; min-width: 0; } }

/* =========================================================
   신규 진단검사 장비 (#sm_lab) — 2026-10-14 추가
   ========================================================= */
#sm_lab { background: linear-gradient(180deg, var(--sm-mist) 0%, #fff 100%); padding: 130px 20px; overflow: hidden; }
#sm_lab .sm_lab_inner { max-width: 1400px; margin: 0 auto; }
#sm_lab .sm_lab_header { text-align: center; margin-bottom: 60px; }
#sm_lab .sm_lab_label { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--sm-teal-500); margin-bottom: 16px; }
#sm_lab .sm_lab_title { font-size: clamp(28px, 4vw, 48px); font-weight: 900; color: var(--sm-ink); line-height: 1.3; letter-spacing: -0.03em; word-break: keep-all; }
#sm_lab .sm_lab_title em { font-style: normal; color: var(--sm-teal-500); }
#sm_lab .sm_lab_desc { max-width: 860px; margin: 22px auto 0; font-size: clamp(15px, 1.6vw, 17px); color: var(--sm-sub); line-height: 1.8; word-break: keep-all; }

#sm_lab .sm_lab_feature { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; margin-bottom: 28px; }
#sm_lab .sm_lab_photo { position: relative; border-radius: var(--sm-radius-pc); overflow: hidden; box-shadow: var(--sm-shadow); aspect-ratio: 16 / 10; }
#sm_lab .sm_lab_photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s ease; }
#sm_lab .sm_lab_photo:hover img { transform: scale(1.04); }
#sm_lab .sm_lab_chip { position: absolute; left: 24px; bottom: 24px; padding: 10px 18px; border-radius: 999px; background: rgba(255,255,255,.88); backdrop-filter: blur(8px); font-size: 14px; font-weight: 800; color: var(--sm-green-700); }
#sm_lab .sm_lab_stats { display: flex; flex-direction: column; gap: 16px; }
#sm_lab .sm_lab_stat { flex: 1; display: flex; align-items: center; gap: 22px; padding: 26px 30px; border-radius: 24px; background: #fff; border: 1px solid var(--sm-border); }
#sm_lab .sm_lab_stat:first-child { background: linear-gradient(135deg, var(--sm-green-700), var(--sm-teal-500)); border: 0; color: #fff; }
#sm_lab .sm_lab_num { min-width: 96px; font-size: 40px; font-weight: 900; letter-spacing: -0.04em; color: var(--sm-teal-500); line-height: 1; }
#sm_lab .sm_lab_num small { font-size: 18px; margin-left: 2px; }
#sm_lab .sm_lab_stat:first-child .sm_lab_num { color: #fff; }
#sm_lab .sm_lab_stat_txt { font-size: 14px; color: var(--sm-gray); line-height: 1.6; }
#sm_lab .sm_lab_stat_txt strong { display: block; font-size: 17px; color: var(--sm-ink); margin-bottom: 2px; }
#sm_lab .sm_lab_stat:first-child .sm_lab_stat_txt, #sm_lab .sm_lab_stat:first-child .sm_lab_stat_txt strong { color: #fff; }

#sm_lab .sm_lab_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
#sm_lab .sm_lab_card { background: #fff; border-radius: 26px; overflow: hidden; border: 1px solid var(--sm-border); transition: transform .35s ease, box-shadow .35s ease; }
#sm_lab .sm_lab_card:hover { transform: translateY(-6px); box-shadow: var(--sm-shadow); }
#sm_lab .sm_lab_img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sm-mist); }
#sm_lab .sm_lab_img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
#sm_lab .sm_lab_card:hover .sm_lab_img img { transform: scale(1.05); }
#sm_lab .sm_lab_new { position: absolute; top: 16px; left: 16px; padding: 5px 12px; border-radius: 999px; background: var(--sm-green-700); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
#sm_lab .sm_lab_body { padding: 24px 24px 28px; }
#sm_lab .sm_lab_brand { font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--sm-teal-500); }
#sm_lab .sm_lab_name { margin-top: 6px; font-size: 24px; font-weight: 900; color: var(--sm-ink); letter-spacing: -0.02em; }
#sm_lab .sm_lab_kind { margin-top: 4px; font-size: 15px; font-weight: 700; color: var(--sm-sub); }
#sm_lab .sm_lab_text { margin-top: 14px; font-size: 14.5px; color: var(--sm-sub); line-height: 1.7; word-break: keep-all; }
#sm_lab .sm_lab_tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
#sm_lab .sm_lab_tags span { padding: 5px 11px; border-radius: 999px; background: var(--sm-mist); color: var(--sm-green-700); font-size: 12.5px; font-weight: 700; }

@media (max-width: 1200px) {
  #sm_lab .sm_lab_grid { grid-template-columns: repeat(2, 1fr); }
  #sm_lab .sm_lab_feature { grid-template-columns: 1fr; }
  #sm_lab .sm_lab_stats { flex-direction: row; }
}
@media (max-width: 768px) {
  #sm_lab { padding: 80px 16px; }
  #sm_lab .sm_lab_header { margin-bottom: 36px; }
  #sm_lab .sm_lab_photo { border-radius: var(--sm-radius-mo); }
  #sm_lab .sm_lab_stats { flex-direction: column; gap: 10px; }
  #sm_lab .sm_lab_stat { padding: 18px 20px; border-radius: 18px; }
  #sm_lab .sm_lab_num { min-width: 78px; font-size: 30px; }
  #sm_lab .sm_lab_grid { grid-template-columns: 1fr; gap: 16px; }
}

/* =========================================================
   병원 둘러보기 — 넓은 공간 강조 (#sm_space) — 2026-10-14 추가
   ========================================================= */
#sm_space { background: #fff; padding-bottom: 110px; }
#sm_space .sm_space_pano { position: relative; height: min(78vh, 760px); min-height: 420px; overflow: hidden; }
#sm_space .sm_space_pano img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; display: block; }
#sm_space .sm_space_pano::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,59,46,.72) 0%, rgba(11,59,46,.35) 38%, rgba(11,59,46,0) 65%); }
#sm_space .sm_space_pano_txt { position: absolute; z-index: 1; left: max(20px, calc((100% - 1400px) / 2)); top: 50%; transform: translateY(-50%); color: #fff; max-width: 620px; }
#sm_space .sm_space_label { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .18em; color: var(--sm-aqua-300); margin-bottom: 16px; }
#sm_space .sm_space_pano_txt h2 { font-size: clamp(30px, 4.4vw, 56px); font-weight: 900; line-height: 1.25; letter-spacing: -0.03em; word-break: keep-all; }
#sm_space .sm_space_pano_txt h2 em { font-style: normal; color: var(--sm-aqua-300); }
#sm_space .sm_space_pano_txt p { margin-top: 20px; font-size: clamp(15px, 1.5vw, 18px); line-height: 1.8; opacity: .92; word-break: keep-all; }

#sm_space .sm_space_inner { max-width: 1400px; margin: -70px auto 0; padding: 0 20px; position: relative; z-index: 2; }
#sm_space .sm_space_grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: clamp(260px, 30vw, 440px); gap: 22px; }
#sm_space .sm_space_item { position: relative; margin: 0; grid-column: span 2; border-radius: var(--sm-radius-pc); overflow: hidden; box-shadow: var(--sm-shadow); background: var(--sm-mist); }
#sm_space .sm_space_item.sm_wide { grid-column: span 4; }
#sm_space .sm_space_item.sm_half { grid-column: span 3; }
#sm_space .sm_space_item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s ease; }
#sm_space .sm_space_item:hover img { transform: scale(1.04); }
#sm_space .sm_space_item figcaption { position: absolute; left: 20px; bottom: 20px; padding: 12px 18px; border-radius: 16px; background: rgba(255,255,255,.9); backdrop-filter: blur(8px); font-size: 13.5px; color: var(--sm-sub); line-height: 1.5; }
#sm_space .sm_space_item figcaption b { display: block; font-size: 16px; color: var(--sm-green-700); font-weight: 800; }

@media (max-width: 900px) {
  #sm_space .sm_space_grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  #sm_space .sm_space_item, #sm_space .sm_space_item.sm_wide, #sm_space .sm_space_item.sm_half { grid-column: auto; aspect-ratio: 4 / 3; }
}
@media (max-width: 768px) {
  #sm_space { padding-bottom: 70px; }
  #sm_space .sm_space_pano { height: 64vh; min-height: 380px; }
  #sm_space .sm_space_pano img { object-position: 40% 55%; }
  #sm_space .sm_space_pano::after { background: linear-gradient(0deg, rgba(11,59,46,.8) 0%, rgba(11,59,46,.2) 60%, rgba(11,59,46,0) 100%); }
  #sm_space .sm_space_pano_txt { top: auto; bottom: 70px; left: 16px; right: 16px; transform: none; max-width: none; }
  #sm_space .sm_space_inner { margin-top: -40px; padding: 0 16px; }
  #sm_space .sm_space_item { border-radius: var(--sm-radius-mo); }
  #sm_space .sm_space_item figcaption { left: 12px; bottom: 12px; padding: 9px 14px; }
}

/* 둘러보기 페이지 — 장비 6종은 3열 */
#sm_lab .sm_lab_grid.sm_lab_grid3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1200px) { #sm_lab .sm_lab_grid.sm_lab_grid3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { #sm_lab .sm_lab_grid.sm_lab_grid3 { grid-template-columns: 1fr; } }
