@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');
/* ===== 포르테클리닉 다크 럭셔리 테마 오버라이드 ===== */
/* siandB(라이트/버건디)를 현재 라이브 정체성(다크 #0b0a08 + 골드 #c9a25f)로 전환 */

:root{
  --serif:"Cormorant Garamond", "Noto Serif KR", Georgia, "Times New Roman", serif;
  --pt:#c9a25f;      /* 골드 (버건디 대체) */
  --pt-dk:#b8934e;
  --pt-lt:#17130d;   /* 다크 골드틴트 표면 */
  --gold:#c9a25f;
  --txt:#ece7dd;
  --txt2:#b3ac9e;
  --txt3:#8a8272;
  --line:#2c2620;
  --line2:#201b16;
  --bg2:#100e0b;
  --bg3:#16120d;
  --dark:#060504;
}
body{ background:#0b0a08; color:var(--txt); }
::selection{ background:rgba(201,162,95,.28); color:#fff; }

/* 상단 띠 제거 */
#topbar{ display:none !important; }

/* ---- 헤더 ---- */
#header{ background:rgba(11,10,8,.9); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line2); }
.h-util{ background:transparent; border-bottom:1px solid var(--line2); }
.h-util a{ color:var(--txt3); } .h-util a:hover{ color:var(--txt); }
.h-util .lang{ border-left-color:var(--line); }
.h-util .lang a{ color:var(--txt3); } .h-util .lang a.on{ color:var(--pt); }
.h-main{ border-bottom:1px solid var(--line2); }
.h-main h1{ color:var(--txt); }
.h-main .brand{ display:flex; align-items:center; gap:11px; }
.h-main .brand .emblem{ width:31px; height:34px; display:block; }
.h-main .brand .wm{ display:flex; flex-direction:column; gap:6px; }
.h-main .brand .wm img{ display:block; width:100px; height:11px; }
.h-main .brand .wm .sub{ width:100px; height:4px; opacity:.85; }
.h-main .cta.a{ background:var(--pt); color:#0b0a08; font-weight:600; } .h-main .cta.a:hover{ background:var(--pt-dk); }
.h-main .cta.b{ border-color:var(--line); color:var(--txt); } .h-main .cta.b:hover{ border-color:var(--pt); color:var(--pt); }
#gnb{ border-bottom:1px solid var(--line2); }
#gnb > .inner > ul > li > a{ color:var(--txt); }
#gnb > .inner > ul > li:hover > a, #gnb > .inner > ul > li.on > a{ color:var(--pt); }
.mega{ background:#0e0c0a; border-top:1px solid var(--line2); border-bottom:2px solid var(--pt); box-shadow:0 22px 46px rgba(0,0,0,.55); }
.mega .mcol h3{ color:var(--txt); border-bottom-color:var(--txt2); }
.mega .mcol a{ color:var(--txt2); } .mega .mcol a:hover{ color:var(--pt); }
.mega .mbanner{ background:var(--bg3); }
.mega .mbanner strong{ color:var(--txt); }
.mega .mbanner p{ color:var(--txt2); }
.mega .mbanner .b{ background:var(--pt); color:#0b0a08; }
.btn-mo span{ background:var(--txt); }

/* ---- 섹션 헤드 ---- */
.sec.bg{ background:#0e0c0a; }
.sec.dark{ background:#060504; }
.sec-head .lb{ background:var(--pt); color:#0b0a08; }
.sec-head h2 b{ color:var(--pt); }
.sec.dark .sec-head h2 b{ color:var(--pt); }

/* ---- 히어로 ---- */
#visual{ background:#0b0a08; }
#visual .badge{ color:var(--pt); border-color:rgba(201,162,95,.5); }
#visual h2 b{ color:var(--pt); }
#visual .vb .a{ background:var(--pt); color:#0b0a08; font-weight:600; } #visual .vb .a:hover{ background:var(--pt-dk); }
#visual .vb .b{ border-color:rgba(255,255,255,.4); } #visual .vb .b:hover{ background:var(--pt); border-color:var(--pt); color:#0b0a08; }

/* ---- 고정 상담폼 ---- */
.quick-form{ background:#0e0c0a; border-top:1px solid var(--line2); border-bottom:1px solid var(--line2); }
.quick-form input[type=text], .quick-form input[type=tel], .quick-form select{ background:#171410; color:var(--txt); border:1px solid var(--line); }
.quick-form input::placeholder{ color:var(--txt3); }
.quick-form button{ background:var(--pt); color:#0b0a08; font-weight:700; } .quick-form button:hover{ background:var(--pt-dk); }

/* ---- 통계 ---- */
.stat{ border-color:var(--line); }
.stat li{ border-left-color:var(--line2); }
.stat .n{ color:var(--pt); }
.stat .t{ color:var(--txt2); }

/* ---- 시술 카드 ---- */
.tgrid > li{ border-color:var(--line2); background:#100e0b; }
.tgrid a:hover{ border-color:var(--pt); box-shadow:0 10px 30px rgba(0,0,0,.5); }
.tgrid .ph{ background:#0e0c0a; }
.tgrid .ph .cat{ background:var(--pt); color:#0b0a08; }
.tgrid strong{ color:var(--txt); }
.tgrid .sp{ border-top-color:var(--line); }
.tgrid .sp span{ color:var(--txt2); }
.tgrid .sp b{ color:var(--txt); }

/* ---- 이벤트바 ---- */
.evtbar{ background:#0e0c0a; border-color:var(--line2); }
.evtbar .lb{ background:var(--pt); color:#0b0a08; }
.evtbar .tx b{ color:var(--pt); }
.evtbar .more:hover{ color:var(--pt); }

/* ---- 전후 ---- */
.ba-grid .ph{ background:#0e0c0a; }
.ba-note{ background:#141008; border-color:#2a2114; }
.ba-note p{ color:var(--txt2); } .ba-note b{ color:var(--txt); }

/* ---- 후기 ---- */
.rv-list > li{ border-color:var(--line2); background:#100e0b; }
.rv-list p{ color:var(--txt); }
.rv-list .who{ border-top-color:var(--line2); } .rv-list .who b{ color:var(--txt2); }

/* ---- 공간 ---- */
.rooms .cap em{ color:var(--pt); }

/* ---- 버튼 ---- */
.btn.p{ background:var(--pt); color:#0b0a08; font-weight:600; } .btn.p:hover{ background:var(--pt-dk); }
.btn.d{ background:#161310; color:var(--txt); border:1px solid var(--line); } .btn.d:hover{ background:#1e1a15; border-color:var(--pt); }
.btn.l{ border-color:var(--line); color:var(--txt); } .btn.l:hover{ border-color:var(--pt); color:var(--pt); }
.more-line{ border-color:var(--line); color:var(--txt2); } .more-line:hover{ color:var(--pt); border-color:var(--pt); }

/* ---- 서브/본문 공통 (하위페이지 대비) ---- */
#sub-visual{ background:#0b0a08; }
.path{ border-bottom-color:var(--line2); }
.path .cur{ color:var(--txt); }
.stab{ background:#0e0c0a; border-color:var(--line2); }
.stab a{ color:var(--txt2); border-color:var(--line2); }
.stab li:last-child a{ border-right-color:var(--line2); }
.stab li.on a{ background:var(--pt); color:#0b0a08; border-color:var(--pt); }
.t2 b{ color:var(--pt); }
.t3{ border-left-color:var(--pt); }
.bd{ color:var(--txt2); }
.box{ background:#0e0c0a; }
.box.pt{ background:#141008; border-color:#2a2114; }
.box.dk{ background:#060504; color:var(--txt2); } .box.dk b{ color:var(--txt); }
.dots li{ color:var(--txt2); } .dots li::before{ background:var(--pt); }
.nums li{ color:var(--txt2); } .nums li b{ background:var(--pt); color:#0b0a08; }
.note{ color:var(--txt3); } .note b{ color:var(--txt2); }
.tbl{ border-top-color:var(--txt2); }
.tbl th, .tbl td{ border-bottom-color:var(--line2); }
.tbl th{ background:#0e0c0a; color:var(--txt); }
.tbl td{ color:var(--txt2); } .tbl td strong{ color:var(--txt); }
.times{ border-top-color:var(--line); }
.times li{ border-bottom-color:var(--line2); }
.times .t{ color:var(--txt2); } .times .m{ color:var(--txt3); }
.card{ border-color:var(--line2); background:#100e0b; } .card .n{ color:var(--pt); }
.steps > li{ border-left-color:var(--line2); } .steps .n{ color:var(--pt); }
.prow .ph{ background:#0e0c0a; }

/* ---- 폼 ---- */
.ftbl{ border-top-color:var(--txt2); }
.ftbl .r{ border-bottom-color:var(--line2); }
.ftbl .l{ background:#0e0c0a; } .ftbl .l em{ color:var(--pt); }
.inp,.sel,.txa{ border-color:var(--line); color:var(--txt); background:#0e0c0a; }
.inp::placeholder,.txa::placeholder{ color:var(--txt3); }
.inp:focus,.sel:focus,.txa:focus{ border-color:var(--pt); }
.agree-box{ border-color:var(--line); }

/* ---- FAQ ---- */
.faq{ border-top-color:var(--txt2); }
.faq li{ border-bottom-color:var(--line2); }
.faq .q::before{ background:var(--txt2); color:#0b0a08; }
.faq .q::after{ color:var(--txt3); }
.faq li.on .q{ color:var(--pt); }
.faq li.on .q::before{ background:var(--pt); }

/* ---- 퀵 ---- */
#quick{ background:#0e0c0a; border-color:var(--line); }
#quick .hd{ background:var(--pt); color:#0b0a08; }
#quick li + li{ border-top-color:var(--line2); }
#quick a{ color:var(--txt2); } #quick a:hover{ background:#161310; color:var(--pt); }
#quick .ic{ color:var(--pt); }
#quick .tel-b{ background:#161310; color:var(--txt); } #quick .tel-b:hover{ background:#1e1a15; color:var(--pt); }
#quick .top{ background:#0e0c0a; }

/* ---- 푸터 ---- */
#footer{ background:#060504; border-top:1px solid var(--line2); }
.f-nav{ border-bottom-color:var(--line2); }
.f-nav a{ color:var(--txt2); } .f-nav a:hover{ color:var(--txt); } .f-nav a.em{ color:var(--pt); }
.f-in{ color:var(--txt2); } .f-in b{ color:var(--txt); }
.f-cp{ color:var(--txt3); }
.f-ds{ border-top-color:var(--line2); color:var(--txt3); }

/* ---- 모바일 바 ---- */
#mo-bar{ background:#0e0c0a; border-top-color:var(--line2); }
#mo-bar li{ border-left-color:var(--line2); }
#mo-bar a{ color:var(--txt); }
#mo-bar .rsv{ background:var(--pt); color:#0b0a08; font-weight:600; }

/* ---- 팝업 ---- */
#popwrap{ background:rgba(0,0,0,.72); }
.pop{ background:#110f0c; color:var(--txt); border:1px solid var(--line); }
.pop .pop-ph{ background:#0e0c0a; }
.pop .pop-tx .cate{ color:var(--pt); }
.pop .pop-tx strong{ color:var(--txt); }
.pop .pop-tx p{ color:var(--txt2); }
.pop .pop-tx .pe{ border-top-color:var(--line2); }
.pop .pop-tx .go{ background:var(--pt); color:#0b0a08; }
.pop .pop-foot{ background:#0e0c0a; border-top-color:var(--line2); }
.pop .pop-foot label{ color:var(--txt2); }
.pop .pop-foot .cls{ background:#161310; color:var(--txt); }

/* ---- 모바일 오픈 메뉴 ---- */
@media(max-width:1024px){
  #gnb.mo-open{ background:#0b0a08; }
  #gnb.mo-open > .inner > ul > li{ border-bottom-color:var(--line2); }
  #gnb.mo-open .mo-lang{ background:#0e0c0a; border-bottom-color:var(--line2); }
  #gnb.mo-open .mo-lang a{ color:var(--txt2); }
}

/* ---- 섹션 간격 축소 (메인 길이 단축) ---- */
.sec{ padding:74px 0; } .sec.tight{ padding:52px 0; }
@media(max-width:1024px){ .sec{ padding:48px 0; } }

/* ---- 실데이터 통계 (해외 재방문율) ---- */
.stat-hero{ display:flex; gap:44px; align-items:center; background:#100e0b; border:1px solid var(--line2); border-radius:10px; padding:40px 46px; }
.stat-hero .sh-l{ flex:none; border-right:1px solid var(--line2); padding-right:46px; }
.stat-hero .sh-l strong{ display:block; white-space:nowrap; font-size:66px; font-weight:800; letter-spacing:-0.045em; color:var(--pt); line-height:1; font-variant-numeric:tabular-nums; }
.stat-hero .sh-l strong em{ font-style:normal; font-size:40px; }
.stat-hero .sh-l span{ display:block; margin-top:16px; font-size:16px; color:var(--txt); font-weight:600; letter-spacing:-0.03em; }
.stat-hero .sh-l small{ display:block; margin-top:8px; font-size:12.5px; color:var(--txt3); }
.stat-hero .sh-r p{ font-size:22px; font-weight:600; color:var(--txt); line-height:1.55; letter-spacing:-0.04em; }
.stat-hero .sh-r .sub{ margin-top:12px; font-size:14px; font-weight:400; color:var(--txt3); }
.stat3{ display:flex; gap:16px; margin-top:16px; }
.stat3 li{ flex:1; background:#100e0b; border:1px solid var(--line2); border-radius:10px; padding:28px 32px; }
.stat3 .n{ font-size:42px; font-weight:800; color:var(--pt); letter-spacing:-0.045em; line-height:1; font-variant-numeric:tabular-nums; }
.stat3 .n i{ font-style:normal; font-size:17px; color:var(--txt2); margin-left:4px; }
.stat3 .t{ margin-top:13px; font-size:15px; color:var(--txt); font-weight:600; }
.stat3 .d{ margin-top:7px; font-size:12.5px; color:var(--txt3); line-height:1.6; }
@media(max-width:1024px){
  .stat-hero{ flex-direction:column; align-items:flex-start; gap:20px; padding:26px 24px; }
  .stat-hero .sh-l{ border-right:0; padding-right:0; }
  .stat-hero .sh-l strong{ font-size:52px; }
  .stat-hero .sh-r p{ font-size:18px; }
  .stat3{ flex-direction:column; }
}

/* ---- AI 틱 제거: 퀵메뉴/잠금/별점 기호 아이콘 숨김 ---- */
#quick .ic{ display:none; }
#quick a{ padding:15px 4px; font-size:11.5px; }
.ba-grid .lock .i{ display:none; }
.ba-grid .lock span{ font-size:12px; }

/* ---- Google 리뷰 그리드 ---- */
.gr-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gr-list a{ display:block; height:100%; background:#100e0b; border:1px solid var(--line2); border-radius:10px; padding:26px 24px; transition:border-color .25s, transform .25s; }
.gr-list a:hover{ border-color:var(--pt); transform:translateY(-3px); }
.gr-list .gr-star{ color:var(--pt); font-size:14px; letter-spacing:2px; }
.gr-list .gr-body{ margin-top:14px; font-size:14px; color:var(--txt); line-height:1.75; letter-spacing:-0.02em; }
.gr-list .gr-who{ margin-top:18px; padding-top:14px; border-top:1px solid var(--line2); font-size:12.5px; color:var(--txt3); display:flex; align-items:center; gap:6px; }
.gr-list .gr-who b{ color:var(--txt2); font-weight:600; }
@media(max-width:1024px){ .gr-list{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .gr-list{ grid-template-columns:1fr; } }

/* ---- 칼럼 게시판 ---- */
.col-list{ border-top:1px solid var(--line); }
.col-list > li{ border-bottom:1px solid var(--line2); }
.col-list a{ display:block; padding:26px 6px; transition:background .2s; }
.col-list a:hover{ background:#100e0b; }
.col-list a:hover .col-t{ color:var(--pt); }
.col-meta{ display:flex; align-items:center; gap:12px; margin-bottom:11px; }
.col-cat{ font-size:11px; font-weight:700; letter-spacing:.04em; color:#0b0a08; background:var(--pt); padding:3px 10px; border-radius:3px; }
.col-date{ font-size:12.5px; color:var(--txt3); font-variant-numeric:tabular-nums; }
.col-t{ font-size:19px; font-weight:700; letter-spacing:-0.04em; color:var(--txt); line-height:1.45; transition:color .2s; }
.col-x{ margin-top:9px; font-size:14.5px; color:var(--txt2); line-height:1.7; }
.col-more{ display:inline-block; margin-top:14px; font-size:13px; color:var(--pt); }
/* ---- 칼럼 상세 ---- */
.inner.narrow{ max-width:820px; }
.col-article .col-head{ margin-bottom:24px; }
.col-article .col-head .col-cat{ display:inline-block; margin-bottom:16px; }
.col-article h1{ font-size:30px; font-weight:700; letter-spacing:-0.045em; line-height:1.36; color:var(--txt); }
.col-article .col-sub{ margin-top:14px; font-size:13.5px; color:var(--txt3); }
.col-fig{ margin:0 0 30px; }
.col-fig img{ width:100%; border-radius:8px; }
.col-h2{ font-size:21px; font-weight:700; letter-spacing:-0.04em; color:var(--txt); margin:36px 0 12px; padding-left:12px; border-left:3px solid var(--pt); }
@media(max-width:1024px){ .col-article h1{ font-size:23px; } .col-h2{ font-size:18px; } .col-t{ font-size:17px; } }

/* ================= EDITORIAL (de-AI) : 라틴 세리프 포인트 ================= */
/* 영문 eyebrow: 골드 칩 제거 → 세리프 이탤릭 */
.sec-head .lb{
  background:none !important; color:var(--pt) !important; padding:0 !important; border-radius:0 !important;
  font-family:var(--serif); font-style:italic; font-weight:500; font-size:21px;
  letter-spacing:0.04em; text-transform:none; display:inline-block; margin-bottom:12px;
}
.sec-head{ margin-bottom:44px; }
.sec-head h2{ font-size:34px; letter-spacing:-0.05em; }
@media(max-width:1024px){ .sec-head h2{ font-size:25px; } .sec-head .lb{ font-size:18px; } }

/* 히어로 eyebrow → 세리프 이탤릭 (칩·보더 제거) */
#visual .badge{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:17px; letter-spacing:0.05em; border:0; padding:0; color:var(--pt); }
#visual h2{ font-size:52px; letter-spacing:-0.055em; }
@media(max-width:1024px){ #visual h2{ font-size:30px; } #visual .badge{ font-size:14px; } }

/* 큰 숫자 → 세리프 */
.stat-hero .sh-l strong{ font-family:var(--serif); font-weight:600; font-size:84px; letter-spacing:0; }
.stat-hero .sh-l strong em{ font-size:48px; }
.stat3 .n{ font-family:var(--serif); font-weight:600; font-size:54px; letter-spacing:0; }
@media(max-width:1024px){ .stat-hero .sh-l strong{ font-size:60px; } .stat3 .n{ font-size:44px; } }

/* 시술 영문코드 / 공간 번호 / 카드 번호 → 세리프 이탤릭 */
.tgrid .eng{ font-family:var(--serif); font-style:italic; font-size:15px; letter-spacing:0.05em; color:var(--pt); text-transform:none; }
.rooms .cap em{ font-family:var(--serif); font-style:italic; font-size:15px; }
.card .n, .steps .n{ font-family:var(--serif); font-style:italic; font-size:16px; }

/* 칼럼 상세 제목 라틴 느낌 위해 살짝 세리프 서브 */
.col-article .col-sub{ font-family:var(--serif); font-style:italic; font-size:15px; letter-spacing:0.03em; color:var(--pt); }

/* Google 배지 세리프 */
.gr-badge strong{ font-family:var(--serif); font-weight:600; font-size:26px; letter-spacing:0.01em; }

/* 럭셔리 샤프: 과한 라운드 완화 */
.gr-box, .gr-list a, .stat-hero, .stat3 li, .tgrid > li, .rv-list > li, .card, .pop{ border-radius:2px; }

/* 시술 카드 = 포토리스 editorial (럭셔리 카탈로그). 사진 제거, 세리프 영문 중심 */
.tgrid > li{ background:#100e0b; border:1px solid var(--line2); border-radius:2px; transition:border-color .25s, transform .25s; }
.tgrid > li:hover{ border-color:var(--pt); transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,.45); }
.tgrid a:hover{ box-shadow:none; }
.tgrid .ph{ padding-top:0; height:auto; min-height:0; background:none; overflow:visible; }
.tgrid .ph img{ display:none; }
.tgrid .ph::before{ content:""; display:block; height:3px; width:40px; background:var(--pt); margin:28px 0 0 26px; }
.tgrid .ph .cat{ position:static; display:inline-block; margin:16px 0 0 26px; background:none; color:var(--pt); padding:0; font-family:var(--serif); font-style:italic; font-size:16px; letter-spacing:.03em; }
.tgrid .tx{ padding:14px 26px 30px; }
.tgrid strong{ font-size:22px; }
.tgrid .eng{ display:block; margin-top:6px; font-family:var(--serif); font-style:italic; font-size:17px; letter-spacing:.05em; color:var(--txt3); }
.tgrid > li:hover .eng{ color:var(--pt); }
.prow .ph img{ filter:brightness(1.1) contrast(1.02); }

/* ================= limeeseok식 스크롤 페이드인 ================= */
.reveal{ opacity:0; transform:translateY(36px); transition:opacity .85s cubic-bezier(.2,.6,.2,1), transform .85s cubic-bezier(.2,.6,.2,1); will-change:opacity,transform; }
.reveal.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .reveal{ opacity:1 !important; transform:none !important; } }

/* ================= Core Treatments (풀블리드 대형 세리프 리스트) ================= */
.core{ position:relative; padding:120px 0; overflow:hidden; background:#0b0a08; }
.core .core-bg{ position:absolute; inset:0; z-index:0; }
.core .core-bg img{ width:100%; height:100%; object-fit:cover; opacity:.32; filter:brightness(.72) contrast(1.05); }
.core .core-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,10,8,.92) 30%, rgba(11,10,8,.55) 100%); }
.core .inner{ position:relative; z-index:1; }
.core .sec-head{ text-align:left; margin-bottom:30px; }
.core-list li{ border-top:1px solid rgba(201,162,95,.16); }
.core-list li:last-child{ border-bottom:1px solid rgba(201,162,95,.16); }
.core-list a{ display:flex; align-items:baseline; gap:26px; padding:28px 4px; transition:padding-left .35s ease, color .35s; }
.core-list a:hover{ padding-left:18px; }
.core-list .k{ flex:none; width:230px; font-size:14px; color:var(--txt2); letter-spacing:-0.02em; transition:color .35s; }
.core-list .e{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:56px; letter-spacing:.01em; color:var(--txt); line-height:1; transition:color .35s; }
.core-list a:hover .e, .core-list a:hover .k{ color:var(--pt); }
.core-list .ar{ margin-left:auto; align-self:center; color:var(--txt3); font-size:20px; transition:color .35s, transform .35s; }
.core-list a:hover .ar{ color:var(--pt); transform:translateX(6px); }
@media(max-width:1024px){ .core{ padding:64px 0; } .core-list a{ flex-wrap:wrap; gap:4px 16px; padding:20px 4px; } .core-list .k{ width:100%; order:2; } .core-list .e{ font-size:34px; } .core-list .ar{ display:none; } }

/* ---- 의료진 (limeeseok식 대형 인물 + 좌우 교차) ---- */
.doc-list{ display:flex; flex-direction:column; gap:70px; }
.doc-item{ display:flex; gap:56px; align-items:center; }
.doc-item:nth-child(even){ flex-direction:row-reverse; }
.doc-ph{ width:44%; flex:none; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(160deg,#efece5,#e2ddd3); border:1px solid var(--line2); }
.doc-ph img{ width:100%; height:100%; object-fit:cover; object-position:50% 6%; filter:none; }
.doc-ph-empty{ display:flex; align-items:center; justify-content:center; }
.doc-ph-empty span{ font-family:var(--serif); font-style:italic; font-size:90px; color:var(--pt); opacity:.4; }
.doc-tx{ flex:1; min-width:0; }
.doc-role{ font-family:var(--serif); font-style:italic; font-size:19px; color:var(--pt); }
.doc-name{ font-size:40px; font-weight:700; letter-spacing:-0.045em; margin:6px 0 6px; color:var(--txt); line-height:1.1; }
.doc-spec{ font-size:16px; color:var(--txt2); margin-bottom:24px; }
.doc-hist{ border-top:1px solid var(--line); padding-top:22px; }
.doc-hist li{ position:relative; padding-left:16px; font-size:15px; color:var(--txt2); line-height:2.1; }
.doc-hist li::before{ content:""; position:absolute; left:0; top:14px; width:5px; height:5px; background:var(--pt); }
@media(max-width:1024px){
  .doc-list{ gap:44px; }
  .doc-item, .doc-item:nth-child(even){ flex-direction:column; gap:24px; align-items:stretch; }
  .doc-ph{ width:100%; aspect-ratio:4/3; }
  .doc-ph img{ object-position:50% 8%; }
  .doc-name{ font-size:30px; }
}

/* ===== 통계 대형 숫자 확정 (인라인·크게) ===== */
.stat-hero{ align-items:stretch; }
.stat-hero .sh-l{ display:flex; flex-direction:column; justify-content:center; }
.stat-hero .sh-l strong{ display:block; white-space:nowrap; font-family:var(--serif); font-weight:600; font-size:96px; line-height:1; letter-spacing:0; color:var(--pt); }
.stat-hero .sh-l strong span{ font:inherit; }
.stat-hero .sh-l strong em{ font-style:normal; font-size:60px; margin-left:2px; }
@media(max-width:1024px){ .stat-hero .sh-l strong{ font-size:64px; } .stat-hero .sh-l strong em{ font-size:40px; } }
/* Google 리뷰 3열 */
.gr-list-3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:1024px){ .gr-list-3{ grid-template-columns:1fr; } }

/* 통계 span 인라인 강제 (% 줄바꿈 방지) */
.stat-hero .sh-l strong span, .stat-hero .sh-l strong em{ display:inline !important; }

/* ===== 의료진 피처 섹션 (limeeseok식 대형 사진 + 세리프 인용) ===== */
.doc-feature{ padding:110px 0; background:#0b0a08; }
.df-row{ display:flex; align-items:center; gap:64px; margin-top:20px; }
.df-photo{ width:40%; flex:none; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(160deg,#efece5,#e2ddd3); border:1px solid var(--line2); }
.df-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 8%; }
.df-tx{ flex:1; min-width:0; }
.df-quote{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:38px; line-height:1.5; letter-spacing:-0.01em; color:var(--txt); margin-bottom:36px; }
.df-quote b{ color:var(--pt); font-weight:600; }
.df-badge{ font-size:12px; color:var(--pt); border:1px solid rgba(201,162,95,.5); padding:4px 12px; display:inline-block; margin-bottom:16px; letter-spacing:.02em; }
.df-name{ font-size:34px; font-weight:700; letter-spacing:-0.04em; color:var(--txt); }
.df-name span{ font-size:16px; color:var(--txt2); font-weight:400; margin-left:10px; }
.df-cred{ margin-top:20px; border-top:1px solid var(--line2); padding-top:20px; }
.df-cred li{ font-size:14.5px; color:var(--txt2); line-height:2.05; padding-left:14px; position:relative; }
.df-cred li::before{ content:""; position:absolute; left:0; top:15px; width:4px; height:4px; background:var(--pt); }
.df-more{ margin-top:28px; display:inline-flex; align-items:center; gap:10px; height:48px; padding:0 26px; border:1px solid var(--line); color:var(--txt); font-size:14px; border-radius:100px; transition:border-color .25s,color .25s; }
.df-more:hover{ border-color:var(--pt); color:var(--pt); }
@media(max-width:1024px){ .doc-feature{ padding:60px 0; } .df-row{ flex-direction:column; gap:30px; } .df-photo{ width:100%; aspect-ratio:4/3; } .df-quote{ font-size:26px; } .df-name{ font-size:28px; } }

/* ===== 키워드 마퀴 (limeeseok식 해시태그 캐러셀) ===== */
.kw{ padding:70px 0 74px; background:#0e0c0a; overflow:hidden; }
.kw .sec-head{ margin-bottom:32px; }
.kw-wrap{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.kw-track{ display:flex; gap:14px; width:max-content; animation:kwscroll 24s linear infinite; will-change:transform; transform:translateZ(0); backface-visibility:hidden; }
.kw:hover .kw-track{ animation-play-state:paused; }
.kw-track a{ flex:none; padding:15px 32px; border:1px solid var(--line); border-radius:100px; font-size:15px; color:var(--txt2); white-space:nowrap; transition:border-color .25s,color .25s,background .25s; }
.kw-track a:hover{ border-color:var(--pt); color:var(--pt); background:rgba(201,162,95,.06); }
@keyframes kwscroll{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }

/* ===== 리뷰 가로 캐러셀 ===== */
.gr-scroll{ display:flex; gap:18px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none; }
.gr-scroll::-webkit-scrollbar{ display:none; }
.gr-scroll > li{ flex:0 0 360px; scroll-snap-align:start; background:#100e0b; border:1px solid var(--line2); border-radius:2px; }
.gr-scroll > li a{ display:block; height:100%; padding:28px 26px; }
.gr-scroll > li a:hover{ border-color:var(--pt); }
@media(max-width:560px){ .gr-scroll > li{ flex:0 0 82vw; } }

/* ===== 카드 연속 슬라이드(마퀴) ===== */
.cardslide{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.cardslide-track{ display:flex; gap:18px; width:max-content; animation:cardscroll var(--dur,50s) linear infinite; will-change:transform; transform:translateZ(0); }
.cardslide:hover .cardslide-track{ animation-play-state:paused; }
@keyframes cardscroll{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }

/* 리뷰 카드(슬라이드) */
.rv-card{ flex:0 0 400px; background:#100e0b; border:1px solid var(--line2); border-radius:2px; }
.rv-card a{ display:block; padding:30px 28px; height:100%; }
.rv-card a:hover{ border-color:var(--pt); }
.rv-card .gr-star{ color:var(--pt); font-size:14px; letter-spacing:2px; }
.rv-card .gr-body{ margin-top:14px; font-size:14.5px; color:var(--txt); line-height:1.8; }
.rv-card .gr-who{ margin-top:18px; padding-top:14px; border-top:1px solid var(--line2); font-size:12.5px; color:var(--txt3); }
.rv-card .gr-who b{ color:var(--txt2); font-weight:600; }
@media(max-width:560px){ .rv-card{ flex:0 0 84vw; } }

/* 칼럼 미리보기 카드 */
.colprev-card{ flex:0 0 370px; background:#100e0b; border:1px solid var(--line2); border-radius:2px; overflow:hidden; }
.colprev-card a{ display:block; height:100%; }
.colprev-card a:hover{ border-color:var(--pt); }
.colprev-card .ph{ height:210px; overflow:hidden; }
.colprev-card .ph img{ width:100%; height:100%; object-fit:cover; filter:brightness(.9); }
.colprev-card .tx{ padding:22px 24px 26px; }
.colprev-card .cat{ font-family:var(--serif); font-style:italic; color:var(--pt); font-size:15px; }
.colprev-card h3{ font-size:17px; font-weight:600; color:var(--txt); margin:9px 0; line-height:1.5; }
.colprev-card p{ font-size:13.5px; color:var(--txt3); line-height:1.65; }
.colprev-card a:hover h3{ color:var(--pt); }
@media(max-width:560px){ .colprev-card{ flex:0 0 82vw; } }

/* 공간 카드(슬라이드) */
.space-card{ flex:0 0 460px; aspect-ratio:16/10; overflow:hidden; border:1px solid var(--line2); position:relative; }
.space-card img{ width:100%; height:100%; object-fit:cover; filter:brightness(1.08); }
.space-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(8,7,5,.75)); }
.space-card .cap{ position:absolute; left:22px; bottom:18px; z-index:2; }
.space-card .cap em{ font-family:var(--serif); font-style:italic; color:var(--pt); font-size:14px; }
.space-card .cap strong{ display:block; color:#fff; font-size:18px; font-weight:600; margin-top:2px; }
@media(max-width:560px){ .space-card{ flex:0 0 86vw; } }

/* 의료진 슬라이더 */
.doc-slider{ position:relative; }
.doc-slide{ display:none; }
.doc-slide.on{ display:block; }
.doc-slide.on .df-row{ animation:docfade .55s ease; }
@keyframes docfade{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.doc-nav{ display:flex; align-items:center; gap:12px; margin-top:30px; }
.doc-nav button{ width:46px; height:46px; border:1px solid var(--line); color:var(--txt2); border-radius:50%; font-size:18px; cursor:pointer; transition:border-color .25s,color .25s; }
.doc-nav button:hover{ border-color:var(--pt); color:var(--pt); }
.doc-nav .doc-dots{ display:flex; gap:8px; margin-left:6px; }
.doc-nav .doc-dots span{ width:8px; height:8px; border-radius:50%; background:var(--line); cursor:pointer; transition:background .25s,width .25s; }
.doc-nav .doc-dots span.on{ background:var(--pt); width:22px; border-radius:4px; }

/* 언어 선택 국기 */
.h-util .lang a{ display:inline-flex; align-items:center; gap:5px; }
.h-util .lang a img{ width:18px; height:auto; border-radius:2px; display:block; opacity:.85; }
.h-util .lang a.on img, .h-util .lang a:hover img{ opacity:1; }

/* 모바일: 시술사례(전후) 가로 슬라이드 */
@media(max-width:1024px){
  .ba-grid{ display:flex; flex-wrap:nowrap; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none; padding-bottom:6px; }
  .ba-grid::-webkit-scrollbar{ display:none; }
  .ba-grid > li{ flex:0 0 62vw !important; width:62vw !important; scroll-snap-align:start; }
  .rooms{ display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .rooms::-webkit-scrollbar{ display:none; }
  .rooms > li{ flex:0 0 66vw !important; width:66vw !important; scroll-snap-align:start; }
}

/* ===== 모바일: 언어 국기바 메뉴 밖으로 노출 ===== */
@media(max-width:1024px){
  .h-util{ display:block !important; background:#0d0b09; border-bottom:1px solid var(--line); }
  .h-util .inner{ display:flex; justify-content:center; align-items:center; padding:7px 12px; max-width:none; gap:0; }
  .h-util .inner > a{ display:none; }              /* 로그인/회원가입/오시는 길: 모바일 상단바에서 숨김 */
  .h-util .lang{ border-left:0 !important; display:flex; gap:6px; flex-wrap:wrap; justify-content:center; padding:0; margin:0; }
  .h-util .lang a{ font-size:11px; gap:4px; padding:3px 9px; border:1px solid var(--line); border-radius:20px; }
  .h-util .lang a.on{ border-color:var(--pt); color:var(--pt); }
  .h-util .lang a img{ width:15px; }
  #gnb .mo-lang{ display:none; }                   /* 햄버거 메뉴 내 중복 언어링크 제거 */
}
