  /* 2026-09-01 폰트 경량화: 화면에 쓰는 글자만 담은 가벼운 폰트를 먼저 쓴다(5종 3.7MB → 1.2MB).
     혹시 서브셋에 없는 글자가 나오면 브라우저가 'PretendardFull'(원본)을 그 글자에만 받아 쓰므로
     글자가 깨지거나 다른 서체로 보이지 않는다. 원고를 크게 바꾸면 scripts/build-fonts.py 재실행. */
  @font-face{font-family:'Pretendard';font-weight:400;font-display:swap;src:url('../fonts/subset/Pretendard-Regular.subset.woff2') format('woff2');}
  @font-face{font-family:'PretendardFull';font-weight:400;font-display:swap;src:url('../fonts/Pretendard-Regular.woff2') format('woff2');unicode-range:U+0020-024F,U+0400-045F,U+1100-11FF,U+3040-30FF,U+3130-318F,U+AC00-D7A3,U+2000-206F,U+FF00-FFEF;}
  @font-face{font-family:'Pretendard';font-weight:500;font-display:swap;src:url('../fonts/subset/Pretendard-Medium.subset.woff2') format('woff2');}
  @font-face{font-family:'PretendardFull';font-weight:500;font-display:swap;src:url('../fonts/Pretendard-Medium.woff2') format('woff2');unicode-range:U+0020-024F,U+0400-045F,U+1100-11FF,U+3040-30FF,U+3130-318F,U+AC00-D7A3,U+2000-206F,U+FF00-FFEF;}
  @font-face{font-family:'Pretendard';font-weight:600;font-display:swap;src:url('../fonts/subset/Pretendard-SemiBold.subset.woff2') format('woff2');}
  @font-face{font-family:'PretendardFull';font-weight:600;font-display:swap;src:url('../fonts/Pretendard-SemiBold.woff2') format('woff2');unicode-range:U+0020-024F,U+0400-045F,U+1100-11FF,U+3040-30FF,U+3130-318F,U+AC00-D7A3,U+2000-206F,U+FF00-FFEF;}
  @font-face{font-family:'Pretendard';font-weight:700;font-display:swap;src:url('../fonts/subset/Pretendard-Bold.subset.woff2') format('woff2');}
  @font-face{font-family:'PretendardFull';font-weight:700;font-display:swap;src:url('../fonts/Pretendard-Bold.woff2') format('woff2');unicode-range:U+0020-024F,U+0400-045F,U+1100-11FF,U+3040-30FF,U+3130-318F,U+AC00-D7A3,U+2000-206F,U+FF00-FFEF;}
  @font-face{font-family:'Pretendard';font-weight:800;font-display:swap;src:url('../fonts/subset/Pretendard-ExtraBold.subset.woff2') format('woff2');}
  @font-face{font-family:'PretendardFull';font-weight:800;font-display:swap;src:url('../fonts/Pretendard-ExtraBold.woff2') format('woff2');unicode-range:U+0020-024F,U+0400-045F,U+1100-11FF,U+3040-30FF,U+3130-318F,U+AC00-D7A3,U+2000-206F,U+FF00-FFEF;}
  :root{
    --g900:#0d3b2c; --g800:#13513c; --g700:#1c6b4f; --g600:#26815f; --g500:#2e9b6e;
    --g50:#eef6f1; --cream:#f7f5ee; --ink:#16241e; --muted:#46544c; --line:#e6e8e3;
    --jang:#1c6b4f; --cancer:#006d5b; --obes:#527d2e; --stem:#34745c;
    /* ── 사이트 디자인 표준(SSoT): 전 페이지 공통 기준. 여기만 고치면 일괄 반영 ── */
    --tline:#cfd6d0;      /* 표/카드/사진 테두리 기본색 (호버 없이도 보이는 대비) */
    --tline-strong:#b9c3bc;/* 표 내부 행 구분선(본문보다 진하게) */
    --radius:16px;        /* 콘텐츠 이미지·카드·표 공통 모서리 반경 */
    --lh-body:1.65;       /* 본문 행간 표준 */
    --lh-heading:1.3;     /* 제목 행간 표준 */
    --lh-caption:1.5;     /* 캡션/보조문구 행간 표준 */
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Pretendard','PretendardFull','Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:var(--lh-body);letter-spacing:-0.02em;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .inner{width:1240px;max-width:calc(100% - 48px);margin:0 auto;}

  /* 2026-08-09: 우측 플로팅 바(84px)가 화면 오른쪽에 고정돼 있어, 화면이 1440px보다 좁으면
     본문 오른쪽 끝 글자가 바에 가려졌다(1280px에서 9개 섹션). 바가 보이는 폭에서는 본문 최대폭을
     줄여 겹치지 않게 한다. ★헤더·메가메뉴는 제외 — 같이 줄이면 대메뉴가 다시 넘친다. */
  @media(min-width:981px){
    .inner{max-width:calc(100% - 200px);}
    header>.inner,.util .inner,.mega .inner{max-width:calc(100% - 48px);}
  }
  .siyan-tag{position:fixed;top:10px;left:10px;z-index:9999;background:rgba(13,59,44,.82);color:#fff;font-size:12px;letter-spacing:1px;padding:4px 9px;border-radius:4px;}
  .util{background:var(--g900);color:#cfe2d8;font-size:14px;}
  .util .inner{height:38px;display:flex;align-items:center;justify-content:space-between;}
  .util .lang{display:flex;align-items:center;}
  .util .lang span{display:flex;align-items:center;gap:6px;padding:0 10px;opacity:.7;cursor:pointer;}
  .util .lang span img{width:18px;height:12px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25);}
  .util .lang span.on{opacity:1;font-weight:700;color:#fff;}
  .util .lang span+span{border-left:1px solid rgba(255,255,255,.22);}
  .util .right{display:flex;align-items:center;gap:16px;}
  .util .right b{color:#fff;}
  .util .pill{background:var(--g700);color:#fff;padding:4px 12px;border-radius:20px;font-weight:600;}
  header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);}
  header>.inner{height:80px;display:flex;align-items:center;justify-content:space-between;}
  .logo{flex:0 0 auto;}
  .logo img{height:50px;width:auto;display:block;}
  header nav{flex:1;display:flex;justify-content:flex-start;}
  nav>ul{list-style:none;display:flex;gap:clamp(26px,3.7vw,80px);font-size:19.5px;font-weight:600;padding-left:16px;}
  nav>ul>li{padding:28px 0;cursor:pointer;color:#27352e;transition:color .15s;white-space:nowrap;}
  nav>ul>li:hover{color:var(--g500);}
  .navcta{flex:none;margin-left:24px;display:inline-flex;align-items:center;gap:7px;background:var(--g800);color:#fff;font-size:17.5px;font-weight:800;letter-spacing:-.3px;padding:12px 22px;border-radius:30px;white-space:nowrap;box-shadow:0 8px 20px rgba(13,59,44,.22);transition:.2s;}
  .navcta::before{content:"";width:7px;height:7px;border-radius:50%;background:#7fd9b0;box-shadow:0 0 0 4px rgba(127,217,176,.28);}
  .navcta:hover{background:var(--g600);transform:translateY(-1px);box-shadow:0 12px 26px rgba(13,59,44,.3);}
  .mega{display:none;position:absolute;left:0;top:80px;width:100%;background:#fff;border-top:1px solid var(--g500);box-shadow:0 26px 44px rgba(13,59,44,.16);}
  .mega.open-hover,.mega.open{display:block;}
  .mega .inner{width:1500px;max-width:calc(100% - 48px);display:grid;grid-template-columns:repeat(7,1fr);gap:28px;padding:34px 28px 42px;}
  @media(min-width:981px){
    .mega.solo{background:transparent;border-top:0;box-shadow:none;}
    .mega.solo .inner{display:block;width:auto;max-width:none;padding:0;}
    .mega.solo .col{display:none;}
    .mega.solo .col.active{display:block;position:absolute;top:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--g500);border-radius:0 0 16px 16px;box-shadow:0 26px 48px rgba(13,59,44,.17);padding:26px 36px 30px;animation:megaIn .26s cubic-bezier(.2,.8,.2,1) both;}
    .mega.solo .col.active h4{font-size:19px;margin-bottom:14px;}
    .mega.solo .col.active>ul>li{border-radius:7px;transition:background .15s;}
    .mega.solo .col.active>ul>li:not(.grp):hover{background:#f7f5ee;}
    @keyframes megaIn{from{opacity:0;transform:translateY(-9px);}to{opacity:1;transform:none;}}
    .mega.solo .col.active>ul>li{opacity:0;animation:megaLi .34s ease both;}
    @keyframes megaLi{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
    .mega.solo .col.active>ul>li:nth-child(1){animation-delay:.04s;}.mega.solo .col.active>ul>li:nth-child(2){animation-delay:.07s;}
    .mega.solo .col.active>ul>li:nth-child(3){animation-delay:.1s;}.mega.solo .col.active>ul>li:nth-child(4){animation-delay:.13s;}
    .mega.solo .col.active>ul>li:nth-child(5){animation-delay:.16s;}.mega.solo .col.active>ul>li:nth-child(n+6){animation-delay:.19s;}
    .mega.solo .col.active>ul{display:flex;flex-direction:column;flex-wrap:wrap;max-height:232px;align-content:flex-start;column-gap:52px;}
    .mega.solo .col.active>ul>li{width:222px;font-size:16.5px;padding:0;}
    .mega.solo .col.active>ul>li.grp{padding:6px 0;}
    .mega.solo .col.active>ul>li>a{padding:6px 0;}
    .mega.solo .col.active .sub{width:222px;}
    /* 2026-09-15 암 클리닉에 소메뉴 4개를 되살리며 — 항목이 9개가 되자 232px 에서 두 열로 쪼개졌고,
       그 바람에 「여성암 치료」가 물리치료 아래에 붙어 상하 관계가 거꾸로 읽혔다(캡처로 확인).
       ★소메뉴를 가진 열만 한 열로 세운다 — 다른 열(위비앙 소개 등)의 두 열 배치는 건드리지 않는다. */
    .mega.solo .col.active.has-sub>ul{max-height:none;}
    /* 아래 .mega .sub(14px·들여쓰기)는 바로 위 넓은 선택자에 덮여 PC 에서만 죽어 있었다.
       「코드에 있다 ≠ 적용된다」 — 같은 구체성으로 다시 세운다. */
    .mega.solo .col.active>ul>li.sub{font-size:14.5px;color:#55635c;}
    .mega.solo .col.active>ul>li.sub>a{padding:3px 0 3px 12px;}
  }
  .mega .col h4{font-size:18px;font-weight:800;color:var(--g900);padding-bottom:10px;margin-bottom:11px;border-bottom:2px solid var(--g500);}
  .mega .col ul{list-style:none;}
  .mega .col li{font-size:16px;color:#3b4a43;cursor:pointer;}
  .mega .col li a{display:block;color:inherit;text-decoration:none;padding:5px 0;}
  .mega .col li:hover{color:var(--g700);font-weight:600;}
  .mega .grp{font-size:14px;font-weight:800;color:var(--g700);margin-top:10px;padding:5px 0;}
  .mega .grp a{padding:0;display:inline;}
  /* 2026-09-15 소메뉴 글자 크기: .mega .sub 로는 위 `.mega .col li`(구체성이 더 높다)에 져서
     모바일에서만 본항목과 같은 16px 로 나왔다(실측). 선택자를 li.sub 로 올려 둘 다 적용되게 한다. */
  /* ★2026-09-19 비만 메뉴의 **묶음 제목**(생활·식이 관리 / 비수술 시술 / 수술).
     페이지가 아니라 분류라서 링크를 걸지 않는다 — 누르면 엉뚱한 화면으로 튄다는 대표님 지적. */
  .mega .col li.grp{font-size:13.5px;color:#93a29a;font-weight:700;letter-spacing:.02em;cursor:default;padding:14px 0 2px;}
  .mega .col li.grp:hover{color:#93a29a;font-weight:700;}
  .mega .col li.sub{font-size:14.5px;color:#55635c;padding:0 0 0 10px;border-left:0;margin-left:0;}
  .mega .col li.sub a{padding:3px 0;}
  .navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:0;}
  .navtoggle span{display:block;width:24px;height:2.5px;background:var(--g800);border-radius:2px;transition:.25s;}
  .navtoggle.on span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .navtoggle.on span:nth-child(2){opacity:0;}
  .navtoggle.on span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  /* 대메뉴는 1280px 미만에서 들어가지 않아 가로 스크롤을 유발 → 그 아래는 햄버거로 전환.
     유틸바·하단 고정바는 기존대로 860px 기준 유지. */
  /* 2026-08-10 수정㉔: 헤더 예약 버튼은 대메뉴 7개와 한 줄에 들어가는 1280px 이상에서만 띄운다(홈과 동일 기준) */
  @media(max-width:1279px){.navcta{display:none;}}
  @media(max-width:1039px){
    header nav{display:none;}
    .navcta{display:none;}
    .navtoggle{display:flex;}
  }
  /* ★2026-09-19 모바일 언어 전환 복구 — 서브 화면용.
     홈(index.html)에는 같은 규칙이 인라인으로 있는데 서브 49개 화면이 읽는 이 시트엔 없어서,
     메뉴 안 언어 블록이 스타일 없이 맨 글자로 나오고 있었다(값은 홈과 동일하게 맞춘다). */
  .mega .mlang{display:none;}
  @media(max-width:860px){
    .util{display:none;}
    header nav{display:none;}
    .navcta{display:none;}
    .navtoggle{display:flex;}
    .mega .inner{grid-template-columns:1fr 1fr;gap:16px 22px;padding:22px 0 28px;}
    .mega{max-height:78vh;overflow-y:auto;}
    .mega .mlang{display:block;grid-column:1 / -1;}
    .mega .mlang .lang{display:flex;flex-wrap:wrap;gap:8px;}
    .mega .mlang .lang span{display:flex;align-items:center;gap:7px;padding:9px 14px;min-height:42px;border:1px solid var(--line);border-radius:9px;font-size:16px;color:#3b4a43;cursor:pointer;}
    .mega .mlang .lang span.on{background:var(--g500);color:#fff;border-color:var(--g500);font-weight:700;}
    .mega .mlang .lang span img{width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);}
  }
  @media(max-width:520px){.mega .inner{grid-template-columns:1fr;}}
  /* 모바일 하단 고정 바 (전화 / 예약) + 안내 토스트 */
  .mbar{display:none;}
  .wb-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,8px);background:rgba(20,40,32,.95);color:#fff;font-size:17px;font-weight:600;padding:11px 20px;border-radius:24px;z-index:120;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;}
  .wb-toast.on{opacity:1;transform:translate(-50%,0);}
  @media(max-width:980px){
    .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:110;box-shadow:0 -2px 14px rgba(13,59,44,.14);}
    .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:19px 8px;font-size:20.5px;font-weight:800;}
    .mbar .mb-call{background:#fff;color:var(--g800);border-top:1px solid var(--line);}
    .mbar .mb-book{background:var(--g700);color:#fff;}
    body{padding-bottom:78px;}
  }
  .hero{position:relative;overflow:hidden;background:#0d3b2c;min-height:100vh;min-height:100svh;display:flex;align-items:center;}
  .hero::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--g700);z-index:4;}
  .hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
  .hero-video iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:75vw;min-width:133.34vh;min-height:100vh;border:0;}
  .hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,28,20,.82),rgba(7,28,20,.5) 48%,rgba(7,28,20,.12));}
  .hero .inner{position:relative;z-index:2;max-width:760px;padding:120px 0;}
  .hero-copy .kicker{font-size:17px;letter-spacing:6px;font-weight:700;color:#7fd9b0;margin-bottom:20px;}
  .hero-copy h1{font-size:71px;line-height:1.2;letter-spacing:-2.4px;color:#fff;font-weight:800;text-shadow:0 2px 24px rgba(0,0,0,.38);}
  .hero-copy .lead{font-size:22.5px;color:#e3f1ea;margin-top:22px;font-weight:500;line-height:1.6;text-shadow:0 1px 12px rgba(0,0,0,.32);}
  .hero-cta{display:flex;gap:13px;margin-top:34px;flex-wrap:wrap;}
  .btn-primary{background:var(--g700);color:#fff;font-weight:700;font-size:19.5px;padding:16px 32px;border-radius:32px;box-shadow:0 14px 28px rgba(0,0,0,.3);transition:.18s;}
  .btn-primary:hover{background:var(--g800);transform:translateY(-2px);}
  .btn-ghost{border:1.5px solid rgba(255,255,255,.72);color:#fff;font-weight:700;font-size:19.5px;padding:16px 30px;border-radius:32px;background:rgba(255,255,255,.1);transition:.18s;}
  .btn-ghost:hover{background:rgba(255,255,255,.22);}
  .hero-stats{display:flex;gap:54px;margin-top:48px;flex-wrap:wrap;}
  .hero-stats div{display:flex;flex-direction:column;}
  .hero-stats b{font-size:45.5px;font-weight:800;color:#fff;letter-spacing:-1.2px;line-height:1;}
  .hero-stats span{font-size:20.5px;color:#d3e7dd;margin-top:8px;font-weight:600;}
  @media(max-width:860px){
    .hero{min-height:68svh;}
    .hero .inner{max-width:100%;padding:0 22px;}
    .hero-video iframe{min-width:121svh;min-height:68svh;}
    .hero-copy .kicker{font-size:13.5px;letter-spacing:4px;margin-bottom:14px;}
    .hero-copy h1{font-size:40.5px;font-weight:700;letter-spacing:-1.2px;line-height:1.24;}
    .hero-copy .lead{font-size:18.5px;font-weight:400;line-height:1.6;}
    .hero-stats{gap:30px;margin-top:26px;}
    .hero-stats b{font-size:31.5px;}
    .hero-stats span{font-size:14.5px;}
  }
  @media(max-width:560px){
    .hero-copy h1{font-size:37px;letter-spacing:-0.8px;line-height:1.26;}
    .hero-copy .lead{font-size:17.5px;}
  }
  /* 2026-08-09 발주처 요청(수정⑨ "여백 과다"): 세로 여백 약 30% 축소 */
  section.blk{padding:clamp(78px,7.7vw,116px) 0;}
  section.blk.board,section.blk.tvsec,section.blk.booking,section.blk.location{padding:clamp(62px,6.4vw,92px) 0;}
  .stats,.treesec,.why,.findcare,.board,.tvsec,.location{border-top:1px solid rgba(13,59,44,.06);}
  @media(max-width:680px){section.blk{padding:46px 0;}section.blk.board,section.blk.tvsec,section.blk.booking,section.blk.location{padding:38px 0;}}
  .sec-head{text-align:center;margin-bottom:48px;}
  .sec-head .bar{font-size:16px;font-weight:800;letter-spacing:4px;color:var(--g500);}
  .sec-head h2{font-size:clamp(38px,3.92vw,52px);font-weight:800;color:var(--g900);margin-top:10px;letter-spacing:-1.4px;line-height:1.2;}
  .sec-head .desc{font-size:20.5px;color:var(--muted);margin-top:14px;line-height:1.65;}
  .carousel{background:var(--cream);padding:60px 0;}
  .carousel .cap{text-align:center;font-size:clamp(29px,3.81vw,38px);letter-spacing:-.5px;font-weight:800;color:var(--g800);margin-bottom:30px;word-break:keep-all;}
  .carousel .stage{position:relative;width:1240px;max-width:calc(100% - 48px);height:498px;margin:0 auto;overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 26px 60px rgba(13,59,44,.12);}
  .carousel .slide{position:absolute;inset:0;display:grid;grid-template-columns:52% 48%;opacity:0;transition:opacity .8s ease;pointer-events:none;}
  .carousel .slide.on{opacity:1;pointer-events:auto;}
  .carousel .slide.on .cph img{transform:scale(1);}
  .carousel .slide .cph{overflow:hidden;background:#e1ebe4;position:relative;}
  .carousel .slide .cph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,59,44,0) 70%,rgba(247,245,238,.55) 100%);}
  .carousel .slide .cph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 6s ease;}
  .carousel .slide .ctx{position:relative;padding:56px 64px;display:flex;flex-direction:column;justify-content:center;}
  .carousel .slide .ctx .cidx{position:absolute;top:34px;right:54px;font-size:71px;font-weight:800;line-height:1;letter-spacing:-2px;color:rgba(13,59,44,.07);user-select:none;}
  .carousel .slide .ctx .cidx em{font-style:normal;font-size:23.5px;font-weight:700;color:rgba(13,59,44,.14);}
  .carousel .slide .ctx .k{font-size:14.5px;letter-spacing:2.5px;font-weight:800;color:var(--g500);}
  .carousel .slide .ctx h3{font-size:38px;font-weight:800;color:var(--g900);margin:12px 0 18px;letter-spacing:-.8px;line-height:1.25;word-break:keep-all;}
  .carousel .slide .ctx p{font-size:20px;color:#46544c;line-height:1.78;word-break:keep-all;}
  .carousel .slide .ctx .cmore{display:inline-flex;align-items:center;gap:13px;margin-top:28px;font-size:17.5px;font-weight:800;color:var(--g700);letter-spacing:-.2px;}
  .carousel .slide .ctx .cmore .ln{width:34px;height:1.5px;background:var(--g500);transition:width .4s cubic-bezier(.2,.8,.2,1);}
  .carousel .slide.on .ctx .cmore .ln{width:52px;}
  .carousel .slide .ctx .cmore:hover{color:var(--g900);}
  .carousel .slide .ctx .cmore:hover .ln{width:70px;background:var(--g700);}
  .carousel .arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.96);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:29px;color:var(--g700);z-index:3;box-shadow:0 8px 20px rgba(0,0,0,.1);transition:.2s;}
  .carousel .arrow:hover{background:var(--g700);color:#fff;border-color:var(--g700);}
  .carousel .arrow.prev{left:16px;} .carousel .arrow.next{right:16px;}
  .carousel .dots{display:flex;gap:9px;justify-content:center;margin-top:20px;}
  .carousel .dots b{width:9px;height:9px;border-radius:50%;background:#cdd6cf;cursor:pointer;transition:.2s;}
  .carousel .dots b.on{background:var(--g700);width:26px;border-radius:6px;}
  @media(max-width:680px){
    .carousel{padding:44px 0;}
    .carousel .stage{height:auto;}
    .carousel .slide{position:relative;grid-template-columns:1fr;}
    .carousel .slide:not(.on){display:none;}
    .carousel .slide .cph{height:230px;}
    .carousel .slide .cph::after{display:none;}
    .carousel .slide .ctx{padding:26px 24px 30px;}
    .carousel .slide .ctx .cidx{top:20px;right:22px;font-size:47.5px;}
    .carousel .slide .ctx .cmore{margin-top:20px;}
    .carousel .slide .ctx h3{font-size:27px;}
    .carousel .slide .ctx p{font-size:18px;}
    .carousel .arrow{width:42px;height:42px;font-size:23.5px;}
    .carousel .arrow.prev{left:8px;} .carousel .arrow.next{right:8px;}
  }
  .treesec{background:#fdfdfb;}
  .treeboard{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:920px;margin:0 auto;}
  .tcell{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:320px;padding:30px;border-radius:18px;overflow:hidden;background-size:cover;background-position:center;color:#fff;transition:.25s;isolation:isolate;}
  .tcell::before{content:"";position:absolute;inset:0;z-index:-1;transition:.25s;}
  .tcell:hover{box-shadow:0 22px 46px rgba(13,59,44,.26);transform:translateY(-4px);}
  .tcell:hover::before{filter:brightness(1.08);}
  .tcell .tnum{position:absolute;top:22px;left:22px;display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;border-radius:30px;color:#fff;font-size:15.5px;font-weight:800;letter-spacing:.3px;box-shadow:0 4px 14px rgba(0,0,0,.22);}
  .tcell .tinfo{position:relative;}
  .tcell h3{font-size:31px;font-weight:800;letter-spacing:-.6px;color:#fff;margin:0 0 9px;text-shadow:0 2px 12px rgba(0,0,0,.35);}
  .tcell p{font-size:20px;color:rgba(255,255,255,.92);line-height:1.6;text-shadow:0 1px 8px rgba(0,0,0,.4);}
  .tcell .go{display:inline-block;font-size:18.5px;font-weight:800;margin-top:16px;color:#fff;}
  .tcell .go::after{content:"";display:block;height:2px;margin-top:5px;background:rgba(255,255,255,.85);transform:scaleX(.5);transform-origin:left;transition:.25s;}
  .tcell:hover .go::after{transform:scaleX(1);}
  .tcell.jang::before{background:linear-gradient(180deg,rgba(12,46,33,.12) 0%,rgba(12,46,33,.55) 55%,rgba(10,40,29,.9) 100%);}
  .tcell.jang .tnum{background:var(--jang);}
  .tcell.cancer::before{background:linear-gradient(180deg,rgba(18,44,52,.12) 0%,rgba(18,44,52,.55) 55%,rgba(14,38,45,.9) 100%);}
  .tcell.cancer .tnum{background:var(--cancer);}
  .tcell.obes::before{background:linear-gradient(180deg,rgba(60,40,14,.12) 0%,rgba(60,40,14,.55) 55%,rgba(48,32,12,.9) 100%);}
  .tcell.obes .tnum{background:var(--obes);}
  .tcell.stem::before{background:linear-gradient(180deg,rgba(40,32,62,.14) 0%,rgba(40,32,62,.55) 55%,rgba(32,26,52,.9) 100%);}
  .tcell.stem .tnum{background:var(--stem);}
  .tcell .tinfo{z-index:2;transition:transform .5s cubic-bezier(.22,1,.36,1);}
  .tcell .tnum{z-index:2;}
  .tcell .tspot{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .45s ease;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(127,217,176,.34),rgba(127,217,176,0) 62%);mix-blend-mode:screen;}
  .tcell.tilt{box-shadow:0 32px 64px rgba(13,59,44,.36),0 0 0 1px rgba(127,217,176,.55);}
  .tcell.tilt .tspot{opacity:1;}
  .tcell.tilt::before{filter:brightness(1.13);}
  .tcell.tilt .tinfo{transform:translateY(-13px);}
  .tcell.tilt .go::after{transform:scaleX(1);}
  @media(max-width:680px){.treeboard{grid-template-columns:1fr;}}
  .why{background:var(--cream);color:var(--ink);}
  .why .sec-head h2{color:var(--g900);}
  .why .sec-head .bar{color:var(--g500);}
  .why .sec-head .desc{color:#46544c;}
  .video{position:relative;width:980px;max-width:100%;margin:0 auto;aspect-ratio:16/9;background:#000;border-radius:20px;border:1px solid rgba(255,255,255,.12);overflow:hidden;}
  .video iframe{width:100%;height:100%;border:0;display:block;}
  .video .play{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:37px;transition:.2s;}
  .video:hover .play{background:rgba(255,255,255,.3);transform:scale(1.06);}
  .video span{font-size:18px;color:var(--g700);letter-spacing:1px;}
  .vbelow{display:grid;grid-template-columns:1fr 1fr;gap:0;width:980px;max-width:100%;margin:28px auto 0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 48px rgba(0,0,0,.24);}
  .vbelow .vphoto{background:#000;}
  .vbelow .vphoto img{width:100%;height:100%;object-fit:cover;}
  .vbelow .vtext{padding:40px 44px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;}
  .vbelow .vtext h3{font-size:28.5px;font-weight:800;color:var(--g900);letter-spacing:-.6px;}
  .vbelow .vtext p{font-size:18.5px;color:#45544c;line-height:1.7;margin-top:14px;}
  .vbelow .vtext .pt{margin-top:16px;font-weight:700;color:var(--g700);font-size:18px;}
  .findcare{background:#ebf3ee;}
  .carecards{display:flex;flex-direction:column;gap:22px;max-width:1080px;margin:0 auto;}
  .carerow{display:grid;grid-template-columns:340px 1fr;gap:0;background:#fff;border:1.5px solid #c2cdc4;border-radius:20px;overflow:hidden;transition:.2s;cursor:pointer;}
  .carerow{will-change:transform;}
  .carerow:hover{box-shadow:0 26px 54px rgba(13,59,44,.18);transform:translateY(-7px);}
  .carerow .cphoto{height:230px;overflow:hidden;position:relative;}
  .carerow .cphoto img{width:100%;height:100%;object-fit:cover;transition:.4s;}
  .carerow:hover .cphoto img{transform:scale(1.05);}
  .carerow .cphoto svg{width:100%;height:100%;display:block;transition:.5s;}
  .carerow:hover .cphoto svg{transform:scale(1.04);}
  .carerow .cphoto::after{content:"";position:absolute;inset:0;mix-blend-mode:multiply;opacity:0;z-index:1;}
  .carerow.jang .cphoto::after{background:var(--jang);}
  .carerow.cancer .cphoto::after{background:var(--cancer);}
  .carerow.obes .cphoto::after{background:var(--obes);}
  .carerow.stem .cphoto::after{background:var(--stem);}
  .carerow .cphoto .tag{position:absolute;left:18px;top:18px;z-index:2;color:#fff;font-size:13.5px;font-weight:800;letter-spacing:1px;padding:6px 13px;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.18);}
  .carerow .ctxt{padding:34px 44px;display:flex;flex-direction:column;justify-content:center;}
  .carerow .ctxt .en{font-size:14px;letter-spacing:2px;font-weight:800;}
  .carerow .ctxt h3{font-size:31.5px;font-weight:800;letter-spacing:-.6px;margin:5px 0 11px;color:var(--g900);}
  .carerow .ctxt p{font-size:19.5px;color:var(--muted);line-height:1.65;}
  .carerow .ctxt .go{margin-top:15px;font-size:18px;font-weight:700;}
  .carerow.jang .tag{background:var(--jang);} .carerow.jang .en,.carerow.jang .go{color:var(--jang);}
  .carerow.cancer .tag{background:var(--cancer);} .carerow.cancer .en,.carerow.cancer .go{color:var(--cancer);}
  .carerow.obes .tag{background:var(--obes);} .carerow.obes .en,.carerow.obes .go{color:var(--obes);}
  .carerow.stem .tag{background:var(--stem);} .carerow.stem .en,.carerow.stem .go{color:var(--stem);}
  @media(max-width:680px){
    .carerow{grid-template-columns:1fr;}
    .carerow .cphoto{height:180px;}
    .carerow .ctxt{padding:22px 22px 26px;}
    .carerow .ctxt h3{font-size:23.5px;}
    .carerow .ctxt p{font-size:17.5px;}
  }
  .location{background:#fff;}
  .locgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
  @media(max-width:820px){.locgrid{grid-template-columns:1fr;gap:28px;}}
  .maps{display:flex;flex-direction:column;gap:18px;}
  .mapbox{border:1px solid var(--line);border-radius:16px;overflow:hidden;height:300px;background:var(--g50);position:relative;}
  .mapbox iframe{width:100%;height:100%;border:0;display:block;position:relative;z-index:1;}
  .mapbox .fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:17px;z-index:0;}
  .mapbox .fallback .pin{font-size:37px;}
  .kakao-open{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(180deg,#eef6f1,#e0ece4);color:#3b4a43;text-align:center;}
  .kakao-open .pin{font-size:40.5px;}
  .kakao-open b{font-size:21px;color:var(--g900);}
  .kakao-open .ad{font-size:17px;color:var(--muted);}
  .kakao-open em{margin-top:9px;font-style:normal;font-weight:700;color:#fff;background:var(--g700);padding:9px 18px;border-radius:22px;font-size:16px;}
  .kakao-open:hover em{background:var(--g800);}
  .maplabel{position:absolute;right:12px;top:12px;z-index:600;background:rgba(13,59,44,.82);color:#fff;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:6px;}
  #osmMap{position:absolute;inset:0;z-index:1;background:#e8efe9;}
  .mapbox.schematic-box{height:auto;aspect-ratio:16/9;}
  .mapbox .schematic{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;}
  #osmMap .leaflet-control-attribution{font-size:11px;}
  .map-route{position:absolute;left:12px;bottom:12px;z-index:600;display:inline-flex;align-items:center;gap:6px;background:#FEE500;color:#3a2e00;font-weight:700;font-size:14.5px;padding:9px 15px;border-radius:22px;box-shadow:0 4px 14px rgba(0,0,0,.18);}
  .map-route:hover{background:#ffd900;}
  .locinfo .lrow{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
  .locinfo .lrow:first-child{padding-top:0;}
  .licon{width:38px;height:38px;border-radius:10px;background:var(--g50);color:var(--g700);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .licon svg{width:19px;height:19px;}
  .locinfo h4{font-size:20.5px;font-weight:800;color:var(--g900);}
  .locinfo p{font-size:18.5px;color:#3b4a43;line-height:1.6;margin-top:4px;}
  .hours{width:100%;border-collapse:collapse;margin-top:4px;}
  .hours td{padding:10px 0;border-bottom:1px solid var(--line);font-size:18px;vertical-align:top;}
  .hours tr:last-child td{border-bottom:0;}
  .hours .d{color:#3b4a43;width:140px;} .hours .t{font-weight:700;color:var(--g700);} .hours .off{color:#c0504d;font-weight:700;}
  .loc-tel{font-size:31.5px;font-weight:900;color:var(--g700);letter-spacing:-.5px;}
  .loc-note{font-size:14px;color:#9aa8a0;margin-top:16px;line-height:1.6;}
  .contact{background:linear-gradient(120deg,var(--g700),var(--g900));color:#fff;text-align:center;}
  .contact h2{font-size:39px;font-weight:800;letter-spacing:-.8px;}
  .contact p{font-size:20.5px;color:#cfe7dc;margin-top:14px;}
  .contact .tel{font-size:50px;font-weight:900;margin:22px 0 6px;letter-spacing:-1.2px;}
  .contact .sub{font-size:17.5px;color:#bfe9d4;}
  .contact .btns{display:flex;gap:13px;justify-content:center;margin-top:30px;flex-wrap:wrap;}
  .contact .btns a{font-size:19.5px;font-weight:700;padding:15px 30px;border-radius:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);transition:.18s;}
  .contact .btns a:hover{background:rgba(255,255,255,.22);}
  .contact .btns a.kakao{background:#FEE500;color:#3a2e00;border-color:#FEE500;}

  /* 고객참여 — 공지사항 + 전문의상담 */
  .board{background:var(--cream);}
  .boardgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .bcol h3{display:flex;align-items:center;justify-content:space-between;font-size:24.5px;font-weight:800;color:var(--g900);padding-bottom:16px;border-bottom:2px solid var(--g700);margin-bottom:6px;}
  .bcol h3 .more{width:34px;height:34px;border:1.6px solid var(--g500);border-radius:50%;color:var(--g500);display:flex;align-items:center;justify-content:center;font-size:23.5px;font-weight:400;line-height:1;}
  .bitem{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:17px 2px;cursor:pointer;}
  .bitem .q{display:flex;align-items:center;gap:11px;}
  .bitem .tag{flex:none;font-size:12.5px;font-weight:800;color:#fff;padding:3px 9px;border-radius:20px;}
  .bitem.jang .tag{background:var(--jang);}.bitem.cancer .tag{background:var(--cancer);}
  .bitem.obes .tag{background:var(--obes);}.bitem.stem .tag{background:var(--stem);}
  .bitem.note .tag{background:var(--g600);}
  .bitem .qt{flex:1;font-size:18.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .bitem .pm{flex:none;color:var(--g500);font-size:22.5px;font-weight:400;transition:.2s;}
  .bitem.open .pm{transform:rotate(45deg);}
  .bitem .a{display:block;max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .bitem .a p{font-size:17.5px;line-height:1.7;color:var(--muted);padding:13px 4px 4px 0;}
  .bitem.open .a{max-height:240px;}
  .bitem .a .ask{display:inline-block;margin-top:10px;font-size:16px;font-weight:700;color:var(--g700);}

  /* 온라인 간편예약 신청 */
  .booking{background:linear-gradient(180deg,#10513b,#0d3b2c);color:#fff;}
  .bookgrid{display:grid;grid-template-columns:300px 1fr;gap:46px;align-items:start;}
  .bookgrid .bhead h2{font-size:37px;font-weight:800;line-height:1.25;letter-spacing:-1px;}
  .bookgrid .bhead p{margin-top:14px;font-size:18px;line-height:1.7;color:#bfe0d1;}
  .bookform{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .bookform input,.bookform textarea{width:100%;border:0;border-radius:10px;padding:15px 16px;font-size:18px;font-family:inherit;color:var(--ink);background:#fff;}
  .bookform textarea{grid-row:span 2;resize:vertical;min-height:104px;}
  .bookform .btn-resv{grid-column:2;background:#0a2a1f;color:#fff;font-size:21px;font-weight:800;border:0;border-radius:10px;padding:15px;cursor:pointer;transition:.18s;}
  .bookform .btn-resv:hover{background:#06382a;}
  .bookform .agree{grid-column:1 / -1;display:flex;align-items:center;gap:9px;font-size:17px;color:#d6ece2;margin-top:2px;}
  .bookform .agree input{width:17px;height:17px;flex:none;}
  .bookform .agree a{color:#fff;text-decoration:underline;}
  .booknote{grid-column:1 / -1;margin-top:6px;font-size:14.5px;line-height:1.7;color:#a7cdbb;}
  @media(max-width:820px){.boardgrid{grid-template-columns:1fr;gap:30px;}.bookgrid{grid-template-columns:1fr;gap:26px;}.bookform{grid-template-columns:1fr;}.bookform textarea{grid-row:auto;}.bookform .btn-resv{grid-column:1;}}

  /* 대표원장 프로필 (Doctor) */
  .doctor{background:var(--cream);position:relative;overflow:hidden;}
  .docgrid{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:center;position:relative;z-index:1;}
  .doctor .dlabel{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:27px;color:var(--g500);letter-spacing:.5px;}
  .doctor h2{font-size:clamp(37px,4.48vw,50px);font-weight:800;color:var(--g900);letter-spacing:-1.4px;line-height:1.25;margin-top:10px;}
  .docbox{display:flex;gap:16px;align-items:flex-start;margin-top:30px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px rgba(13,59,44,.07);}
  .docbox .dicon{flex:0 0 auto;width:50px;height:50px;border-radius:50%;background:var(--g50);display:flex;align-items:center;justify-content:center;color:var(--g700);}
  .docbox p{font-size:18.5px;line-height:1.65;color:var(--ink);}
  .docbox p b{color:var(--g700);}
  .docchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
  .docchips span{font-size:14.5px;font-weight:700;color:var(--g700);background:var(--g50);border:1px solid #d6e7dd;padding:8px 15px;border-radius:22px;}
  .doctor .ddesc{margin-top:24px;font-size:17.5px;line-height:1.8;color:var(--muted);word-break:keep-all;}
  .docphoto{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px rgba(13,59,44,.16);}
  .docphoto img{width:100%;height:auto;display:block;}
  .docname{position:absolute;left:0;right:0;bottom:0;padding:54px 28px 24px;background:linear-gradient(to top,rgba(8,32,22,.9),rgba(8,32,22,.42) 52%,rgba(8,32,22,0));color:#fff;}
  .docname .dn-role{display:block;font-size:16px;font-weight:700;letter-spacing:.05em;color:#bfe9d4;margin-bottom:7px;}
  .docname strong{font-size:clamp(34.5px,3.58vw,42.5px);font-weight:800;letter-spacing:-.02em;line-height:1;}
  .docname strong em{font-style:normal;font-size:.5em;font-weight:700;color:#d6f1e4;margin-left:9px;letter-spacing:0;}
  @media(max-width:860px){.docgrid{grid-template-columns:1fr;gap:34px;}.docphoto{max-width:420px;margin:0 auto;}.docname{padding:44px 22px 18px;}}

  /* 위비앙 TV — 유튜브 3단 (참고 예시 레이아웃) */
  .tvsec{background:#fdfdfb;}
  .tvhead-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;}
  .tvhead-row h2{font-size:32.5px;font-weight:800;color:var(--ink);letter-spacing:-1px;}
  .tvhead-row .yt-more{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:17.5px;font-weight:600;color:var(--muted);}
  .tvhead-row .yt-more:hover{color:var(--ink);}
  .tvhead-row .yt-more::after{content:"›";font-size:21px;line-height:1;}
  .tvgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .tvcard{display:block;}
  .tvthumb{position:relative;aspect-ratio:16/9;cursor:pointer;background:#0d3b2c;border-radius:16px;overflow:hidden;}
  .tvthumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .tvthumb iframe{width:100%;height:100%;border:0;display:block;}
  .tvinfo{padding:14px 2px 0;}
  .tvinfo h3{font-size:19.5px;font-weight:700;line-height:1.45;color:var(--ink);word-break:keep-all;}
  .tvinfo p{margin-top:8px;font-size:16px;line-height:1.6;color:var(--muted);word-break:keep-all;}
  @media(max-width:820px){.tvgrid{grid-template-columns:1fr;gap:22px;}.tvhead-row h2{font-size:27px;}}

  /* 푸터 SNS + 약관 링크 */
  footer .flinks{display:flex;flex-wrap:wrap;gap:0 22px;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12);}
  footer .flinks a{color:#cfe0d8;font-size:17px;font-weight:600;position:relative;}
  footer .flinks a:not(:last-child)::after{content:"";position:absolute;right:-12px;top:3px;width:1px;height:13px;background:rgba(255,255,255,.22);}
  footer .flinks a:hover{color:#fff;}
  footer .sns{display:flex;gap:11px;justify-content:flex-end;margin-bottom:14px;}
  footer .sns a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.18s;}
  footer .sns a:hover{transform:translateY(-2px);filter:brightness(1.06);}
  footer .sns a svg{width:19px;height:19px;}
  footer .sns a.youtube{background:#FF0000;}
  footer .sns a.blog{background:#03C75A;}
  footer .sns a.kakao{background:#FEE500;}
  footer .sns a.instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
  footer .sns a.facebook{background:#1877F2;}
  .legal-modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(8,30,22,.55);align-items:center;justify-content:center;padding:24px;}
  .legal-modal.on{display:flex;}
  .legal-card{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:82vh;overflow:auto;padding:34px 34px 30px;position:relative;box-shadow:0 30px 70px rgba(0,0,0,.3);}
  .legal-x{position:absolute;right:18px;top:14px;background:none;border:0;font-size:37px;line-height:1;color:var(--muted);cursor:pointer;}
  .legal-card h3{font-size:27px;font-weight:800;color:var(--g900);margin-bottom:16px;padding-right:30px;}
  .legal-body{font-size:17.5px;line-height:1.75;color:#3b4a43;}
  .legal-body h4{font-size:18.5px;font-weight:800;color:var(--g800);margin:18px 0 6px;}
  .legal-body p{margin-bottom:9px;}
  footer{background:#0b2c21;color:#9fb6ac;font-size:17px;padding:46px 0;}
  footer .inner{display:flex;justify-content:space-between;align-items:flex-start;gap:24px 48px;flex-wrap:wrap;}
  footer .fl{flex:1 1 460px;min-width:300px;}
  footer .fl b{color:#fff;font-size:20.5px;letter-spacing:1px;}
  footer .fl p{margin-top:12px;line-height:1.7;}
  footer .fr{flex:0 0 auto;}
  @media(max-width:820px){
    footer{padding:38px 0;}
    footer .inner{flex-direction:column;gap:22px;}
    footer .fl{flex:0 0 auto;width:100%;min-width:0;}
    footer .fr{order:2;width:100%;}
    footer .sns{justify-content:flex-start;margin-bottom:0;}
    footer .flinks{gap:8px 18px;}
    footer .fl p{word-break:keep-all;overflow-wrap:anywhere;}
  }
  /* ── 우측 플로팅 바 (2026-08-09) ──────────────────────────────────
     서브페이지엔 마크업이 없어 쓰이지 않던 옛 스타일이 남아 있었다 → 메인과 동일한 최신본으로 교체.
     980px 이하에서는 숨고 하단 고정바가 대신 나온다. */
  .qbar{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:95;width:84px;background:#fff;border:1px solid var(--line);border-right:0;border-radius:14px 0 0 14px;box-shadow:-3px 4px 14px rgba(13,59,44,.12);}
  /* overflow:hidden 을 쓰면 바 바깥으로 펼쳐지는 SNS 패널이 잘린다 → 모서리는 첫·마지막 칸에 직접 준다 */
  .qbar>*:first-child{border-radius:13px 0 0 0;}
  .qbar>*:last-child{border-radius:0 0 0 13px;}
  /* ★공백 없는 긴 단어(러시아어 Записаться 96px 등)가 84px 바를 넘으면 줄바꿈을 못 해 조용히 잘렸다.
     anywhere 는 넘칠 때만 단어를 쪼개 보이게 한다 — 안 넘치는 라벨의 렌더는 그대로다. */
  .qbar a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 6px;font-size:13.5px;font-weight:600;color:#3b4a43;border-bottom:1px solid var(--line);transition:.15s;text-align:center;line-height:1.25;overflow-wrap:anywhere;}
  .qbar a:hover{background:var(--g50);color:var(--g700);}
  .qbar .ic{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;}
  .qbar .ic svg{width:30px;height:30px;color:var(--g600);}
  .qbar a.kakao .ic{background:#FEE500;color:#3a1d1d;font-size:11.5px;font-weight:800;letter-spacing:.3px;}
  .qbar a.naver .ic{background:#03C75A;color:#fff;font-size:23.5px;font-weight:900;}
  .qbar a.blog .ic{background:#03C75A;color:#fff;font-size:10px;font-weight:800;line-height:1.05;flex-direction:column;}
  /* 낮은 노트북(1366x768 = 뷰포트 약 640px) 대비 축소.
     ★overflow는 걸지 않는다 — SNS 패널이 바 바깥으로 펼쳐지는데 overflow가 있으면 잘려서 안 보인다. */
  @media(max-height:800px){
    .qbar a{padding:9px 6px;font-size:12px;gap:5px;}
    .qbar .ic{width:28px;height:28px;}
    .qbar a.naver .ic{font-size:19px;}
    .qbar a.blog .ic{font-size:8.5px;}
    .qbar a.kakao .ic{font-size:10px;}
    .qbar a.yt .ic svg,.qbar a.ig .ic svg{width:17px;height:17px;}
  }
  /* 2026-08-09: 퀵바가 9칸까지 늘어 화면 세로의 90%를 차지 → SNS 4개를 한 칸으로 묶고 눌러서 펼치게 한다 */
  .qbar .qsns{position:relative;}
  .qbar .qsns-btn{display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;padding:15px 6px;font-family:inherit;font-size:13.5px;font-weight:600;color:#3b4a43;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;line-height:1.25;}
  .qbar .qsns-btn .ic{background:var(--g50);color:var(--g700);}
  .qbar .qsns-btn .ic svg{width:20px;height:20px;}
  .qbar .qsns.open .qsns-btn .ic{background:var(--g700);color:#fff;}
  .qbar .qsns-panel{position:absolute;right:100%;top:50%;margin-right:10px;transform:translate(8px,-50%);display:flex;gap:8px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:-5px 6px 20px rgba(13,59,44,.18);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;}
  .qbar .qsns.open .qsns-panel{opacity:1;visibility:visible;transform:translate(0,-50%);}
  .qbar .qsns-panel a{width:40px;height:40px;padding:0;border:0;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;}
  .qbar .qsns-panel a svg{width:21px;height:21px;}
  .qbar .qsns-panel a.blog{background:#03C75A;}
  .qbar .qsns-panel a.youtube{background:#FF0000;}
  .qbar .qsns-panel a.instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
  .qbar .qsns-panel a.facebook{background:#1877F2;}
  /* 2026-08-29: 예약만 초록 바탕·큰 글씨·반투명 아이콘 박스여서 나머지 6칸과 따로 놀았다(대표님 지적).
     ★따라서 .qbar a.book 전용 규칙을 두지 않는다 — 공통 .qbar a / .ic 규칙만 상속받아 7칸이 한 세트로 보인다.
     ＊이력: 2026-08-09·08-10에 「예약이 눈에 안 띈다」는 지적으로 채운 색+확대를 넣었던 자리다.
       다시 강조가 필요해지면 색을 채우지 말고 글자색 정도로만 구분할 것. */
  .qbar a.yt .ic{background:#FF0000;}
  .qbar a.ig .ic{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
  .qbar a.yt .ic svg,.qbar a.ig .ic svg{width:21px;height:21px;}
  @media(max-width:980px){.qbar{display:none;}}

  /* 세브란스 근접 배너 — ★2026-09-18 [S-01]로 이 공용 규칙은 지웠다.
     이 배너는 메인(index.html) 한 곳에만 있고(서브 42페이지·다국어판 모두 사용 0건),
     여기 남아 있던 규칙은 세브란스 **건물 사진**을 불러오는 옛 모습이었다.
     새 배너(지도)의 모양은 index.html 안에 있다. */

  /* 성과 지표 */
  .stats{position:relative;overflow:hidden;background:var(--cream);}
  .stats::before{content:"";position:absolute;top:-130px;right:-70px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(46,155,110,.08),transparent 70%);pointer-events:none;}
  .stats::after{content:"";position:absolute;bottom:-150px;left:-90px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(46,155,110,.06),transparent 70%);pointer-events:none;}
  .stats .inner{position:relative;z-index:1;}
  .stats .sec-head h2{color:var(--g900);}
  .stats .sec-head .bar{color:var(--g500);}
  .stats .sec-sub{font-size:18.5px;color:#46544c;margin-top:12px;line-height:1.6;word-break:keep-all;}
  .statgrid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:auto;margin-top:54px;border-top:1px solid rgba(13,59,44,.13);border-bottom:1px solid rgba(13,59,44,.13);}
  /* 라벨 줄수(1줄/2줄)가 칸마다 달라도 숫자 줄이 어긋나지 않게 — 라벨행 높이를 한 줄 전체가 공유 */
  .stat{position:relative;padding:46px 13px 42px;text-align:center;transition:background .35s ease;grid-row:span 2;display:grid;grid-template-rows:subgrid;align-content:start;}
  @supports not (grid-template-rows:subgrid){.stat{display:block;}.stat .lbl{min-height:3em;}}
  .stat::before{content:"";position:absolute;left:0;top:28px;bottom:28px;width:1px;background:rgba(13,59,44,.12);}
  .statgrid .stat:nth-child(6n+1)::before{display:none;}
  .stat:hover{background:rgba(46,155,110,.045);}
  .stat .lbl{font-size:16px;font-weight:700;color:#566459;line-height:1.5;letter-spacing:.01em;word-break:keep-all;}
  .stat .num{font-size:clamp(55px,5.49vw,71px);font-weight:800;color:var(--g900);margin-top:18px;letter-spacing:-.06em;line-height:.98;white-space:nowrap;font-feature-settings:"tnum" 1;}
  .stat .num small{font-size:19.5px;font-weight:700;color:var(--g600);letter-spacing:-.01em;margin-left:4px;}
  @media(max-width:980px){.statgrid{grid-template-columns:repeat(3,1fr);}.statgrid .stat:nth-child(6n+1)::before{display:block;}.statgrid .stat:nth-child(3n+1)::before{display:none;}.statgrid .stat:nth-child(n+4){border-top:1px solid rgba(13,59,44,.12);}}
  @media(max-width:560px){.statgrid{grid-template-columns:repeat(2,1fr);}.statgrid .stat::before{display:block;}.statgrid .stat:nth-child(3n+1)::before{display:block;}.statgrid .stat:nth-child(2n+1)::before{display:none;}.statgrid .stat:nth-child(n+3){border-top:1px solid rgba(13,59,44,.12);}.stat{padding:30px 12px 26px;}.stat .num{font-size:39px;}.stat .num small{font-size:14.5px;}.stat .lbl{font-size:13.5px;}.stats .sec-head h2{font-size:27px;letter-spacing:-.4px;}.stats .sec-head h2 br:not(.mbr){display:none;}.stats .sec-sub{font-size:16px;}}
  /* scroll reveal + counter + stat badge */
  html.jsr .blk .sec-head,html.jsr .carerow,html.jsr .tcell,html.jsr .stat,html.jsr .bcard,html.jsr .sev-tx,html.jsr .vbelow,html.jsr .carousel .stage{opacity:0;transform:translateY(48px) scale(.965);transition:opacity .85s ease,transform 1s cubic-bezier(.19,.84,.26,1);}
  html.jsr .reveal-in{opacity:1!important;transform:none!important;}
  /* heading mask-rise reveal */
  html.jsr .blk .sec-head h2,html.jsr .blk .sec-head .bar,html.jsr .blk .sec-head .desc{clip-path:inset(0 0 115% 0);transform:translateY(16px);transition:clip-path 1s cubic-bezier(.19,.84,.26,1),transform 1s cubic-bezier(.19,.84,.26,1);}
  html.jsr .blk .sec-head .bar{transition-delay:.05s;}
  html.jsr .blk .sec-head .desc{transition-delay:.16s;}
  html.jsr .blk .sec-head.reveal-in h2,html.jsr .blk .sec-head.reveal-in .bar,html.jsr .blk .sec-head.reveal-in .desc{clip-path:inset(0 0 -12% 0);transform:none;}
  .statgrid .stat:nth-child(2){transition-delay:.08s}.statgrid .stat:nth-child(3){transition-delay:.16s}.statgrid .stat:nth-child(4){transition-delay:.24s}.statgrid .stat:nth-child(5){transition-delay:.32s}.statgrid .stat:nth-child(6){transition-delay:.4s}
  .carecards .carerow:nth-child(2){transition-delay:.1s}.carecards .carerow:nth-child(3){transition-delay:.2s}.carecards .carerow:nth-child(4){transition-delay:.3s}
  .treesec,.findcare{overflow:hidden;}
  html.jsr .carecards .carerow{opacity:0;transform:translateX(-96px) translateY(10px) scale(.97);transition:opacity .7s ease,transform 1s cubic-bezier(.16,.84,.3,1);}
  html.jsr .carecards .carerow:nth-child(even){transform:translateX(96px) translateY(10px) scale(.97);}
  html.jsr .carecards .carerow.reveal-in{transform:none!important;}
  html.jsr .treeboard .tcell{opacity:0;transform:translateY(56px) scale(.94);transition:opacity .75s ease,transform .95s cubic-bezier(.19,.84,.26,1);}
  html.jsr .treeboard .tcell:nth-child(2){transition-delay:.1s}html.jsr .treeboard .tcell:nth-child(3){transition-delay:.2s}html.jsr .treeboard .tcell:nth-child(4){transition-delay:.3s}
  html.jsr .treeboard .tcell.reveal-in{transform:none!important;}
  @media(prefers-reduced-motion:reduce){html.jsr .blk .sec-head,html.jsr .carerow,html.jsr .tcell,html.jsr .stat,html.jsr .bcard,html.jsr .sev-tx,html.jsr .vbelow,html.jsr .carousel .stage,html.jsr .blk .sec-head h2,html.jsr .blk .sec-head .bar,html.jsr .blk .sec-head .desc{opacity:1;transform:none;clip-path:none;transition:none;}}

/* 2026-08-10 줄바꿈 원칙(외톨이 금지) 상시 장치 — 글자 크기가 바뀌어도 유지되도록 CSS로 박는다.
   text-wrap:pretty 는 마지막 줄에 한 어절만 남는 것을 브라우저가 알아서 막아 준다.
   ★금지된 text-wrap:balance 와 다르다 — balance 는 줄 폭을 맞추느라 쉼표를 줄 한가운데로 밀어내므로 쓰지 않는다. */
h1,h2,h3,h4,p,li,figcaption,.lead,.desc,.sec-sub,.pcap{text-wrap:pretty;}

/* 2026-08-10 어절 보존 상시 장치 — 요소별로 흩어져 있던 word-break:keep-all 이 누락된 곳에서
   「장 점막 / 의 미세 염증」「늘 무 / 기력해요」처럼 어절 중간이 잘렸다(모바일 실측).
   한국어 문서 전역으로 올린다. ★다국어(en/jp/zh/th/ru)는 lang.css 보정을 써야 하므로 lang="ko" 로 스코프를 제한한다.
   긴 URL·영문이 칸을 넘치지 않도록 overflow-wrap 을 함께 둔다. */
html[lang="ko"] body{word-break:keep-all;overflow-wrap:break-word;}
  /* 버튼 안 전화번호가 좁은 화면에서 가운데서 끊기지 않게(2026-09-25 입원 프로그램 직통번호) */
  .telno{white-space:nowrap;}
  /* 좁은 화면에선 번호가 통째로 다음 줄로 — 라벨만 쪼개지지 않게(버튼이 inline-flex라 글·번호가 따로 논다) */
  .sub-cta .btns a:has(.telno){flex-wrap:wrap;justify-content:center;column-gap:8px;row-gap:0;}
