/* tobeps.css — 투비성형외과 (2026-10-24)
   🔴 앞부분은 자동 생성물(lydiaskin-kr/styles.css 의 색 선언만 네이비 · 샴페인으로 치환). 손으로 고치지 말 것.
   팔레트 = 고객 로고 .ai 네이비 #0C2141 · 블랙 #191919 + 원내 웜 아이보리 · 샴페인.
   ⛔ 손으로 쓴 규칙은 파일 끝 '수제 보완' 구역(scripts/_tobeps_extra.css)에만. */

body{color:#171B26}
a{color:#163A6E}
a:hover{color:#0C2141}
.sitehead{border-bottom:1px solid rgba(23,27,38,.12)}
.gnb a{color:#171B26}
.gnb a:hover{color:#163A6E}
.gnb a.on{color:#163A6E}
.head-cta{background:#171B26}
.head-cta:hover{background:#0C2141}
.hero{background:linear-gradient(180deg,#1B3560 0%,#0C2141 100%)}
.hero-badge{color:#171B26}
.btn-solid{background:#163A6E}
.btn-solid:hover{background:#163A6E}
.hero-glow{background:radial-gradient(closest-side,rgba(196,167,124,.30),rgba(196,167,124,0) 72%)}
.hero-name{color:#171B26;border-left:3px solid #163A6E;box-shadow:0 10px 28px rgba(14,18,28,.35)}
.hero-name .r{color:#7B8294}
.hero-name .n{color:#171B26}
.hero-name .t{color:#4B5468}
.creds{background:#0C2141}
.creds-in .more{color:#ECE2D2}
.method-panel{background:#F6F3EF}
.method-tag{background:#171B26}
.method-head p{color:#4B5468}
.mcircle{background:radial-gradient(circle at 50% 28%,#1B3560 0%,#171B26 80%);box-shadow:0 16px 34px rgba(23,27,38,.20)}
.programs{background:#F6F3EF}
.programs-eyebrow{color:#163A6E}
.pcard{border:1px solid rgba(23,27,38,.14);color:#171B26}
.pcard:hover{border-color:#163A6E;color:#171B26;box-shadow:0 10px 26px rgba(23,27,38,.10)}
.pcard .for{color:#7B8294}
.pcard li{color:#4B5468}
.pcard li::before{border-left:2px solid #163A6E;border-bottom:2px solid #163A6E}
.pcard .pbtn{background:#171B26}
.pcard:hover .pbtn{background:#0C2141}
.pledge-band{background:#F6F3EF}
.prow2-txt h3{color:#171B26}
.prow2-fig{box-shadow:0 12px 26px rgba(23,27,38,.14)}
.ncard{border:1px solid rgba(23,27,38,.14);color:#171B26}
.ncard:hover{border-color:#163A6E;color:#171B26;box-shadow:0 10px 26px rgba(23,27,38,.10)}
.ncard .nthumb{background:#F6F3EF}
.ncard .ex{color:#7B8294}
.ncard .nby{border-top:1px solid rgba(23,27,38,.12);color:#7B8294}
.hreviews{background:#F6F3EF}
.rcard{color:#171B26}
.rcard:hover{color:#171B26;box-shadow:0 10px 26px rgba(23,27,38,.12)}
.rcard .ex{color:#4B5468}
.rcard .rmore{color:#163A6E}
.mustread{border-top:1px solid rgba(23,27,38,.10)}
.mrcard{color:#171B26}
.mrcard:hover{color:#163A6E}
.mrcard .mrthumb{background:#F6F3EF}
.phero{background:#171B26}
.phero .eyebrow{color:#ECE2D2}
.cta-light{background:#F6F3EF}
.cta-light p{color:#4B5468}
.cta-deep{background:#0C2141}
.btn-navy{background:#171B26}
.btn-navy:hover{background:#0C2141}
.btn-outline{border:1px solid rgba(23,27,38,.35);color:#171B26}
.btn-outline:hover{border-color:#171B26;color:#171B26}
.btn-white{color:#0C2141}
.btn-white:hover{color:#0C2141}
.docard .fld{background:#163A6E}
.docard .nm{color:#171B26}
.docard .nm span{color:#7B8294}
.sec-eyebrow{color:#163A6E}
.about-intro .body p{color:#4B5468}
.about-intro .tpoints li b{color:#163A6E}
.about-intro .tpoints li::before{border-left:2.4px solid #163A6E;border-bottom:2.4px solid #163A6E}
.inst-card-blue{background:#0C2141}
.inst-card-navy{background:#171B26}
.t3-card{border:1px solid rgba(23,27,38,.14);border-top:3px solid #0C2141}
.t3-card .no{color:#163A6E}
.t3-card p{color:#4B5468}
.texam .body{color:#4B5468}
.tpdetail .tpsub{color:#7B8294}
.tp{border-top:1px solid rgba(23,27,38,.14)}
.tp-head .no{color:#163A6E}
.tp-lead p{color:#4B5468}
.tp-fig{box-shadow:0 12px 28px rgba(23,27,38,.12)}
.tp-ev{background:#F6F3EF;border-left:3px solid #163A6E}
.tp-ev .t{color:#163A6E}
.tp-ev .note{color:#7B8294;border-top:1px solid rgba(23,27,38,.12)}
.tp-box{border:1px solid rgba(23,27,38,.14)}
.tp-box .bt{background:#171B26}
.tp-sub h4::before{border-left:2.4px solid #163A6E;border-bottom:2.4px solid #163A6E}
.tp-box li{color:#4B5468}
.tp-box li::before{background:#ECE2D2}
.tp-rec{background:#F6F3EF}
.tp-mix{color:#7B8294;border-top:1px solid rgba(23,27,38,.12)}
.tcare{background:#171B26}
.tcare .eb{color:#ECE2D2}
.tcare-card .tag{color:#ECE2D2}
.tdual .lead{color:#4B5468}
.dc{background:#1B3560}
.dc+.dc{background:#171B26}
.tdual-list div{border:1px solid rgba(23,27,38,.14);color:#4B5468}
.tdual-list b{color:#171B26}
.pgsec.alt{background:#F6F3EF}
.pgsec .lead{color:#4B5468}
.pg-intro p{color:#4B5468}
.pg-fig{box-shadow:0 12px 28px rgba(23,27,38,.12)}
.evcard{border:1px solid rgba(23,27,38,.14);border-left:3px solid #163A6E}
.evcard .src{color:#163A6E}
.evcard p{color:#4B5468}
.evcard .imp{border-top:1px solid rgba(23,27,38,.12)}
.evcard .imp b{color:#171B26}
.stat{background:#171B26}
.stat .k{color:#ECE2D2}
.flowstep{border:1px solid rgba(23,27,38,.14)}
.flowstep .s{color:#163A6E}
.flowstep p{color:#4B5468}
.pgfaq{border-top:1px solid rgba(23,27,38,.14)}
.pgfaq details{border-bottom:1px solid rgba(23,27,38,.14)}
.pgfaq summary::after{border-right:2px solid #163A6E;border-bottom:2px solid #163A6E}
.pgfaq .a{color:#4B5468}
.othercard{border:1px solid rgba(23,27,38,.14);color:#171B26}
.othercard:hover{border-color:#163A6E;color:#171B26;box-shadow:0 10px 24px rgba(23,27,38,.10)}
.othercard p{color:#7B8294}
.trefs{background:#F6F3EF}
.trefs li{color:#7B8294}
.tprograms{background:#F6F3EF}
.prow{border:1px solid rgba(23,27,38,.12)}
.prow .pno{color:#163A6E}
.prow .pno span{color:#0C2141}
.prow ul{color:#4B5468}
.dhero{background:linear-gradient(180deg,#1B3560 0%,#0C2141 100%)}
.dhero-glow{background:radial-gradient(closest-side,rgba(196,167,124,.30),rgba(196,167,124,0) 72%)}
.mediaboard{background:#0C2141}
.mediaboard-card .ch{color:#7B8294}
.mediaboard-card .ep{color:#171B26}
.mediaboard-card .ep span{color:#4B5468}
.cv h2{border-bottom:2px solid #171B26}
.cv li{border-bottom:1px solid rgba(23,27,38,.12)}
.cv .soc li{color:#4B5468}
.hub-hero{background:#171B26}
.hub-hero .eyebrow{color:#ECE2D2}
.tabbar a.on{color:#171B26}
.hub-meta .cnt{color:#7B8294}
.hub-meta .cnt strong{color:#171B26}
.hub-card{border:1px solid rgba(23,27,38,.12);color:#171B26}
.hub-card:hover{border-color:#163A6E;color:#171B26}
.hub-thumb{background:#F6F3EF;border-bottom:1px solid rgba(23,27,38,.08)}
.hub-card-body .cat{color:#163A6E}
.hub-empty{border:1px dashed rgba(23,27,38,.25)}
.hub-empty .s{color:#7B8294}
.visit h2{border-bottom:2px solid #171B26}
.vtimes>div{border-bottom:1px solid rgba(23,27,38,.12)}
.vtimes .off{color:#7A6040}
.vtel a{border:1px solid rgba(23,27,38,.14);color:#171B26}
.vtel a:hover{border-color:#163A6E;color:#171B26}
.vtel .l{color:#163A6E}
.vmap{border:1px solid rgba(23,27,38,.14);background:#F6F3EF}
.vmap .btns a{border:1px solid rgba(23,27,38,.25);color:#171B26}
.vmap .btns a:hover{border-color:#163A6E;color:#163A6E}
.vinfo .k{color:#163A6E}
.post-head{border-bottom:1px solid rgba(23,27,38,.12)}
.post-author{color:#7B8294}
.post-author .nm{color:#171B26}
.post-body h2{color:#171B26}
.post-body h3{color:#171B26}
.post-body blockquote{background:#F6F3EF;color:#171B26}
.post-body .video .frame{background:#171B26}
.post-nav{border-top:2px solid #171B26}
.post-nav a{border-bottom:1px solid rgba(23,27,38,.12);color:#171B26}
.post-nav a:hover{color:#163A6E}
.post-back a{border:1px solid rgba(23,27,38,.25);color:#171B26}
.post-back a:hover{border-color:#163A6E;color:#163A6E}
.footcta{background:#F6F3EF}
.footcta .k{color:#4B5468}
.footcta h2{color:#171B26}
.footcta .btns a{background:#171B26}
.footcta .btns a:hover{background:#0C2141}
.sitefoot{background:#171B26}
.postwrap .post-head{border-bottom:1px solid rgba(23,27,38,.12)}
.sidebox{border:1px solid rgba(23,27,38,.14)}
.sidelist a{color:#171B26}
.sidelist a:hover{color:#163A6E}
.sidelist-thumb a:hover{background:#F6F3EF}
.sidelist-thumb .th{background:#F6F3EF}
.sidebox-plain .sidebox-t{background:#F6F3EF}
.sidelist-text{border:1px solid rgba(23,27,38,.14)}
.sidelist-text li+li{border-top:1px solid rgba(23,27,38,.10)}
.sidebox-plain .side-empty{border:1px solid rgba(23,27,38,.14)}
.postcta{background:#171B26}
.postcta .btns a{background:#1B3560}
.postcta .btns a:hover{background:#163A6E;border-color:#163A6E}
.acare .eb{color:#163A6E}
.acare-box{border:1px solid rgba(23,27,38,.24)}
.acare-box h3{color:#0C2141}
.acare-box p{color:#4B5468}
.gnb-sub-in{background:#fff;border:1px solid rgba(23,27,38,.12);box-shadow:0 16px 38px rgba(23,27,38,.16)}
.gnb-sub-in a{color:#171B26}
.gnb-sub-in a:hover{background:#F6F3EF;color:#163A6E}
.gnb-sub-in{background:#171B26}
.gnb-sub-in a{color:#fff}
.gnb-sub-in a:hover{background:rgba(255,255,255,.10);color:#8FC2F0}
.logo.tlogo .lg-en{color:#0C2141}
.logo.tlogo .lg-ko{color:#163A6E}
.hero-fig .hero-card{box-shadow:0 26px 60px rgba(14,18,28,.45);border:1px solid rgba(236,226,210,.35)}
.dhero-fig .hero-card{box-shadow:0 26px 60px rgba(14,18,28,.45);border:1px solid rgba(236,226,210,.35)}
.casestrip img{border:1px solid rgba(23,27,38,.14)}
.casestrip figcaption{color:#7B8294}
.hero{background:#0C2141 url('/assets/hero-bg.webp') center bottom/cover no-repeat}
.hero-glow{background:radial-gradient(closest-side,rgba(196,167,124,.30),rgba(196,167,124,0) 72%)}
.phero-about{background:#171B26 url('/assets/about-bg.webp') center/cover no-repeat}
.phero-treatments{background:#171B26 url('/assets/tr-bg.webp') center/cover no-repeat}
.dhero-doctor{background:#171B26 url('/assets/doctor-bg.webp') center/cover no-repeat}
.dhero-glow{background:radial-gradient(closest-side,rgba(196,167,124,.26),rgba(196,167,124,0) 72%)}
.phero-visit{background:#171B26 url('/assets/doctor-bg.webp') center/cover no-repeat}
.phero-journal{background:#171B26 url('/assets/about-bg.webp') center/cover no-repeat}
@media (max-width:760px){
  .gnb{border-top:1px solid rgba(23,27,38,.10)}
  .mcircle{box-shadow:0 8px 18px rgba(23,27,38,.18)}
}
@media (max-width:760px){
  .gnb-subrail{border-top:1px solid rgba(23,27,38,.08);background:#F6F3EF}
  .gnb-subrail a{color:#1B3560;border:1px solid rgba(23,27,38,.16)}
  .gnb-subrail a:active{background:#F6F3EF;color:#163A6E}
}
@media (max-width:760px){
  .gnb-item > a::after{color:#163A6E}
  .gnb-subrail{background:#171B26;border-top:1px solid rgba(255,255,255,.10)}
  .gnb-subrail a{color:#fff;border:1px solid rgba(255,255,255,.30)}
  .gnb-subrail a:active{background:rgba(255,255,255,.16);color:#fff}
  .gnb-subrail a.all{color:#171B26}
}

/* ══ 수제 보완 — 투비성형외과(tobeps.kr) 전용 클래스만 ══════════
   🔴 tobeps.css 의 **뒷부분**으로 이어 붙는다(생성기가 concat). 앞부분(자동 팔레트 치환분)은 손대지 말 것.
   🔴 색은 아래 :root 변수만. 팔레트 = 고객 로고 .ai 컬러 칩 네이비 #0C2141 · 블랙 #191919 + 원내 웜 아이보리 · 샴페인 + 브랜드 모델 블러시.
   ⛔ 템플릿(styles.css) 구조를 바꾸지 않는다 — 브랜드 전용 클래스·히어로 롤링·퀵메뉴·서브 히어로 사진·아티클 카드만.
   구성 = 공용 의료 템플릿(롤링 히어로 · 모션 체계) — 클래스 접두 tb · 테넌트 스코프 .tbk. 히어로만 밝은 아이보리 톤 + 6장 롤링으로 새로 짰다.
   ══════════════════════════════════════════════════════════════ */
:root{
  --t-ink:#171B26; --t-deep:#0C2141; --t-primary:#163A6E; --t-accent:#A8885A; --t-link:#7A6040;
  --t-gold:#C4A77C; --t-gold-2:#ECE2D2; --t-gold-3:#7A6040; --t-blush:#F4E6E3;
  --t-wash:#F6F3EF; --t-sub:#4B5468; --t-line:rgba(23,27,38,.12);
  --t-serif:'Cormorant Garamond','Noto Serif KR',Georgia,serif;
}

/* ── 로고: 고객 제공 가로 락업(투비성형외과의원 / TO BE PLASTIC SURGERY, .ai 300dpi) — 국문 b 는 스크린리더·검색용으로 숨김 ── */
.sitehead-in .tblogo{display:flex;align-items:center;gap:12px;color:var(--t-ink);white-space:nowrap}
.tblogo img{height:38px;width:auto;display:block}
.tblogo b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gnb{gap:14px 24px}
@media(min-width:1280px){.gnb{gap:14px 28px}}
@media(max-width:1279px){.sitehead-in{gap:18px}.gnb{gap:12px 16px}.gnb a{font-size:15px}.tblogo img{height:32px}}
@media(max-width:760px){.tblogo img{height:28px}}
.sitefoot .tbfoot{display:flex;align-items:center;gap:10px}
.sitefoot .tbfoot img{height:38px;width:auto}

/* ── 홈 히어로 = 원장님 누끼 4장 롤링(김도훈 프로필 → 김도훈 수술 → 조혜인 프로필 → 조혜인 수술) — 전체 폭 단일 배경 ──
   사용자 10/24 확정: 「2분할로 보인다 → 원장 프로필 · 수술 사진을 누끼로 롤링」 · 두 원장 같은 비중(같은 높이 · 장당 7초).
   🔴 고스팅 0 — 동시 크로스페이드가 아니라 순차 전환(앞 인물이 0.8초에 걸쳐 사라진 뒤 다음 인물이 나타난다 · 겹치는 구간 없음).
   🔴 바닥 기준 배치(bottom:0) · 인물 뒤 원형 글로우 · 머리 위 여백은 이미지 높이의 6% 이상(잘림 0).
   28s 주기 · 장당 7s · visibility 동시 애니메이션으로 숨은 슬라이드 버튼 클릭 차단. LCP = s1 누끼(preload). */
.hero.tb-hero{position:relative;min-height:700px;background:radial-gradient(ellipse 70% 90% at 78% 70%,#F7E9E4 0%,rgba(247,233,228,0) 60%),linear-gradient(115deg,#FCFAF7 0%,#F8F1EC 52%,#F2E7E1 100%) !important;overflow:hidden;color:var(--t-ink)}
.tb-roll .tb-slide{animation:tbRoll 28s linear infinite both;background:transparent}
.tb-roll .s1{position:relative}
.tb-roll .tb-slide{min-height:700px}
.tb-roll .s2,.tb-roll .s3,.tb-roll .s4{position:absolute;inset:0}
.tb-roll .s2{animation-delay:-21s}.tb-roll .s3{animation-delay:-14s}.tb-roll .s4{animation-delay:-7s}
/* 인물 — 우측 바닥 기준 · contain(잘림 0) */
.tb-slide .tb-model{position:absolute;right:max(16px,calc((100vw - 1320px)/2));bottom:0;width:min(46%,640px);height:94%;z-index:1;
  background:no-repeat right bottom/contain}
.tb-slide .tb-model::before{content:"";position:absolute;left:8%;right:2%;bottom:-6%;height:46%;z-index:-1;border-radius:50%;
  background:radial-gradient(ellipse at 50% 60%,rgba(196,167,124,.30) 0%,rgba(244,214,208,.28) 38%,rgba(248,241,236,0) 70%)}
.tb-roll .s1 .tb-model{background-image:url(/assets/hero-01.webp)}
.tb-roll .s2 .tb-model{background-image:url(/assets/hero-02.webp)}
.tb-roll .s3 .tb-model{background-image:url(/assets/hero-03.webp)}
.tb-roll .s4 .tb-model{background-image:url(/assets/hero-04.webp)}
/* 순차 전환: 0~2.9% 나타남(0.8s) · 22% 까지 유지 · 22~24.9% 사라짐(0.8s, 아래로 10px) · 다음 장은 25% 지점(7s)부터 → 겹침 0 */
@keyframes tbRoll{0%{opacity:0;visibility:visible}2.9%{opacity:1;visibility:visible}22%{opacity:1;visibility:visible}24.9%{opacity:0;visibility:visible}25%,100%{opacity:0;visibility:hidden}}
.tb-roll .tb-model{animation:tbRise 28s cubic-bezier(.2,.7,.2,1) infinite both}
.tb-roll .s2 .tb-model{animation-delay:-21s}.tb-roll .s3 .tb-model{animation-delay:-14s}.tb-roll .s4 .tb-model{animation-delay:-7s}
@keyframes tbRise{0%{translate:0 14px}3.6%{translate:0 0}22%{translate:0 0}24.9%{translate:0 10px}100%{translate:0 10px}}
@media(prefers-reduced-motion:reduce){.tb-roll .tb-slide{animation:none}.tb-roll .s2,.tb-roll .s3,.tb-roll .s4{display:none}.tb-roll .tb-model{animation:none}}
.tb-hero .hero-in{display:block;position:relative;z-index:2}
.tb-hero .hero-copy{max-width:600px;padding:104px 0 112px;min-height:480px;text-shadow:none}
.tb-hero .tb-word{display:flex;align-items:center;gap:14px;font-family:var(--t-serif);font-size:21px;font-weight:500;letter-spacing:.2em;color:var(--t-primary)}
.tb-hero .tb-word img{height:40px;width:auto}
.tb-hero h1,.tb-hero .h1x{margin:20px 0 0;font-size:56px;font-weight:800;line-height:1.18;letter-spacing:-.045em;
  background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--t-deep);-webkit-text-fill-color:var(--t-deep);text-shadow:none}
.tb-hero h1 small,.tb-hero .h1x small{display:block;font-size:.42em;font-weight:700;letter-spacing:-.01em;margin-bottom:12px;-webkit-text-fill-color:var(--t-gold-3);color:var(--t-gold-3)}
.tb-hero .hero-kicker{margin:20px 0 0;font-size:24px;font-weight:600;line-height:1.45;letter-spacing:-.025em;color:var(--t-primary);word-break:keep-all}
.tb-hero .tb-sub{margin:16px 0 0;max-width:540px;font-size:17px;line-height:1.75;color:var(--t-sub);font-weight:500;word-break:keep-all}
.tb-hero .tb-sub b{color:var(--t-deep);font-weight:800}
.tb-hero .hero-cta{margin-top:32px}
.tb-hero .btn-solid{background:linear-gradient(180deg,#1B3F78,#0C2141);color:#fff;border:0;box-shadow:0 10px 24px rgba(12,33,65,.22)}
.tb-hero .btn-solid:hover{background:#163A6E;color:#fff}
.tb-hero .btn-ghost{border:1px solid rgba(12,33,65,.35);color:var(--t-deep);background:rgba(255,255,255,.55)}
.tb-hero .btn-ghost:hover{background:#fff;color:var(--t-deep)}
.tb-hero .tb-badge{position:absolute;left:max(24px,calc((100vw - 1320px)/2 + 24px));bottom:62px;z-index:3;background:rgba(255,255,255,.9);color:var(--t-ink);padding:14px 20px;border-left:3px solid var(--t-accent);box-shadow:0 12px 30px rgba(12,33,65,.14);backdrop-filter:blur(6px)}
.tb-badge .r{font-size:12.5px;color:var(--t-sub)}
.tb-badge .n{font-size:16.5px;font-weight:800;margin-top:3px;color:var(--t-deep)}
.tb-hero .tb-dots{position:absolute;left:max(24px,calc((100vw - 1320px)/2 + 24px));bottom:34px;z-index:3;display:flex;gap:8px}
.tb-hero .tb-dots i{width:34px;height:3px;background:rgba(12,33,65,.14);border-radius:2px;overflow:hidden;position:relative}
.tb-hero .tb-dots i::after{content:"";position:absolute;inset:0;background:var(--t-deep);transform-origin:left;animation:tbDot 28s linear infinite}
.tb-hero .tb-dots i:nth-child(2)::after{animation-delay:-21s}
.tb-hero .tb-dots i:nth-child(3)::after{animation-delay:-14s}
.tb-hero .tb-dots i:nth-child(4)::after{animation-delay:-7s}
@keyframes tbDot{0%{transform:scaleX(0);opacity:1}25%{transform:scaleX(1);opacity:1}25.5%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.tb-hero .tb-dots{display:none}}
@media(max-width:1240px){.tb-hero h1,.tb-hero .h1x{font-size:46px}.tb-hero .hero-kicker{font-size:21px}.tb-hero .hero-copy{max-width:500px}.tb-slide .tb-model{width:44%}}
@media(max-width:1000px){.tb-slide .tb-model{width:40%;height:82%}.tb-hero .hero-copy{max-width:470px}.tb-hero .tb-badge{display:none}}
@media(max-width:760px){
  /* 모바일 = 인물 위(바닥 기준 · 높이 330px) + 카피 아래 — 겹침 0 */
  .hero.tb-hero{min-height:0}
  .tb-roll .tb-slide{min-height:0}
  .tb-slide .tb-model{position:relative;right:auto;left:0;width:100%;height:330px;margin-top:18px;background-position:center bottom}
  .tb-hero .hero-copy{padding:14px 0 46px;max-width:none;min-height:0}
  .tb-hero .tb-word{font-size:14px;letter-spacing:.2em}.tb-hero .tb-word img{height:30px}
  .tb-hero h1,.tb-hero .h1x{font-size:32px;margin-top:10px}
  .tb-hero .hero-kicker{font-size:18.5px;margin-top:12px}
  .tb-hero .tb-sub{font-size:15px}
  .tb-hero .tb-badge,.tb-hero .tb-dots{display:none}
}

/* ── 퀵메뉴(원본 플로팅: 카카오톡 상담 · 전화 연결 · 상담예약 · 블로그 — 비용문의·이벤트 제외) — 위든·우아 qm 패턴 · 데스크톱 우측 세로 → 1024 이하 하단 고정 바 ── */
.qm{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:9000;width:92px;background:#fff;
  border:1px solid var(--t-line);border-right:0;border-radius:14px 0 0 14px;box-shadow:-8px 12px 34px rgba(23,27,38,.16);overflow:hidden}
.qm ul{list-style:none;margin:0;padding:0}
.qm li.lk a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:76px;border-bottom:1px solid var(--t-line);color:var(--t-ink);font-size:12.5px;font-weight:700;text-decoration:none;letter-spacing:-.02em}
.qm li.lk a:hover{background:var(--t-wash);color:var(--t-primary)}
.qm .i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#2A4C82,#171B26);box-shadow:0 4px 10px rgba(0,0,0,.22)}
.qm .i svg{width:18px;height:18px;fill:#fff}
.qm .i.kakao{background:#FEE500}.qm .i.kakao svg{fill:#3C1E1E}
.qm .i.naver{background:#03C75A}
.qm .i.calendar{background:radial-gradient(circle at 35% 30%,#D9C29C,#A8885A)}
.qm .i.jnl{background:radial-gradient(circle at 35% 30%,#2A4C82,#0C2141)}
.qm li.info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:96px;padding:0 6px;border-bottom:1px solid var(--t-line);text-align:center}
.qm li.info .t{font-size:11.5px;font-weight:800;color:var(--t-sub);letter-spacing:.02em}
.qm li.info em{font-style:normal;font-size:11px;line-height:1.45;color:var(--t-sub);font-weight:600}
.qm .qm-top{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;background:linear-gradient(180deg,#ECE2D2,#C4A77C);color:var(--t-ink);font-size:12px;font-weight:800;text-decoration:none;letter-spacing:.08em}
.qm .qm-top svg{width:12px;height:12px;fill:currentColor}
@media(max-width:1024px){
  /* 하단 고정 바 높이만큼의 여백 — 🔴 body 가 아니라 푸터 margin 으로(테넌트 키트가 body 를 스코프하면 헤더 래퍼에도 붙어 흰 띠, 위든 10/2) */
  .sitefoot{margin-bottom:64px}
  .qm{top:auto;bottom:0;right:0;left:0;transform:none;width:100%;border-radius:0;border:0;border-top:1px solid rgba(196,167,124,.45);background:#171B26;box-shadow:0 -6px 24px rgba(0,0,0,.3)}
  .qm ul{display:flex}
  .qm li{flex:1}
  .qm li.lk a{height:64px;border-bottom:0;border-right:1px solid rgba(255,255,255,.08);font-size:11.5px;gap:4px;color:#EDEAE2}
  .qm li.lk:last-of-type a{border-right:0}
  .qm li.lk a:hover{background:rgba(255,255,255,.04);color:#fff}
  .qm .i,.qm .i.kakao,.qm .i.naver,.qm .i.calendar,.qm .i.jnl{width:30px;height:30px;background:rgba(255,255,255,.06);border:1px solid rgba(196,167,124,.55);box-shadow:none}
  .qm .i svg,.qm .i.kakao svg{width:15px;height:15px;fill:var(--t-gold-2)}
  .qm li.info,.qm .qm-top{display:none}
}

/* ── 신뢰 지표 띠 ── */
.dstat{background:var(--t-wash);border-top:1px solid var(--t-line);border-bottom:1px solid var(--t-line)}
.dstat-in{display:flex;flex-wrap:wrap;padding:0}
.dstat .it{flex:1 1 150px;min-width:150px;padding:30px 18px;text-align:center;border-left:1px solid var(--t-line)}
.dstat .it:first-child{border-left:0}
.dstat .n{font-size:clamp(26px,3.6vw,36px);font-weight:800;letter-spacing:-.03em;color:var(--t-deep);line-height:1.15}
.dstat .n em{font-style:normal;font-size:18px;font-weight:700;margin-left:3px;color:var(--t-gold-3)}
.dstat .l{margin-top:8px;font-size:14px;font-weight:600;color:var(--t-sub);line-height:1.6;word-break:keep-all}
@media(max-width:700px){.dstat .it{flex-basis:50%;min-width:0}.dstat .it:nth-child(3){border-left:0}.dstat .it:nth-child(n+3){border-top:1px solid var(--t-line)}}

/* ── 프로그램 카드 사진 — 사용자 10/9 「사진 안 잘리게·키워서」: 7:5(모델 컷 1280×914 원본 비율)로 키우고 위쪽 기준 cover(얼굴·간판이 잘리지 않음) ── */
/* 🔴 템플릿 .pcard .pphoto 가 aspect-ratio 1500/667(2.25:1)·overflow:hidden 으로 사진을 잘라낸다 → 상자 자체를 3:2 로 키우고(50% 더 높음), 카드 이미지는 사진을 자르지 않은 3:2 캔버스(card-*.webp) */
.pcard .pphoto{aspect-ratio:3/2}
.pcard .pphoto img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* ── 의료진 카드(홈 7인 · 서브 strip) — 원본 모달 사진(정사각에 가까운 1.09:1) ── */
.tbdocs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.tbdocs a{display:block;background:#fff;border:1px solid var(--t-line);border-radius:10px;overflow:hidden;color:var(--t-ink);transition:transform .2s,box-shadow .2s}
.tbdocs a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(23,27,38,.14)}
.tbdocs img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:top;display:block;background:#F6F3EF}
.tbdocs .t{padding:12px 14px 15px}
.tbdocs .d{font-size:12px;font-weight:700;color:var(--t-gold-3)}
.tbdocs .n{margin-top:4px;font-size:17px;font-weight:800;letter-spacing:-.02em}
.tbdocs .n small{font-size:13px;font-weight:600;color:var(--t-sub);margin-left:6px}
.tbdocs .f{margin-top:5px;font-size:12.5px;line-height:1.55;color:var(--t-sub);word-break:keep-all}
@media(max-width:1100px){.tbdocs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.tbdocs{grid-template-columns:repeat(2,1fr)}}

/* ── 의료진 상세 카드(/doctors) ── */
.tbdoc{display:grid;grid-template-columns:300px 1fr;gap:40px;padding:40px 0;border-top:1px solid var(--t-line);scroll-margin-top:90px}
.tbdoc:first-of-type{border-top:0}
.tbdoc figure{margin:0;border-radius:12px;overflow:hidden;background:#F6F3EF;align-self:start}
.tbdoc figure img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:top;display:block}
.tbdoc .dept{font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--t-gold-3);text-align:left}
.tbdoc h3{margin:8px 0 0;font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--t-ink)}
.tbdoc h3 small{font-size:17px;font-weight:600;color:var(--t-sub);margin-left:8px}
.tbdoc .grp-t{margin-top:22px;font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--t-accent)}
.tbdoc ul{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px 26px}
.tbdoc li{position:relative;padding-left:15px;font-size:15px;line-height:1.7;color:var(--t-sub)}
.tbdoc li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--t-gold)}
@media(max-width:860px){.tbdoc{grid-template-columns:1fr;gap:22px}.tbdoc figure{max-width:300px}.tbdoc ul{grid-template-columns:1fr}}
.tbdept{margin:46px 0 0;padding-top:14px;border-top:2px solid var(--t-gold);font-size:14px;font-weight:800;letter-spacing:.12em;color:var(--t-gold-3)}
.tbdept:first-of-type{margin-top:0}
.tbdept p{margin:6px 0 0;font-size:15px;font-weight:500;letter-spacing:0;color:var(--t-sub)}

/* ── 안전시스템 띠(홈) ── */
.tbsafe{padding:72px 0 8px}
.tbsafe ol{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:p}
.tbsafe li{position:relative;background:#fff;border:1px solid var(--t-line);border-top:3px solid var(--t-gold);padding:24px 20px 26px;counter-increment:p}
.tbsafe li::before{content:counter(p,decimal-leading-zero);font-family:var(--t-serif);font-size:30px;font-style:italic;color:var(--t-gold-3);line-height:1}
.tbsafe li b{display:block;margin-top:12px;font-size:15.5px;font-weight:800;color:var(--t-ink);letter-spacing:-.02em}
.tbsafe li p{margin:8px 0 0;font-size:14.5px;line-height:1.75;color:var(--t-sub);word-break:keep-all}
@media(max-width:1000px){.tbsafe ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.tbsafe ol{grid-template-columns:1fr}}

/* ── 서브 히어로 = 페이지별 원내 실사진 + 좌측 스크림 ── */
.phero-about,.phero-treatments,.phero-visit,.phero-journal{
  background-image:linear-gradient(90deg,rgba(12,33,65,.92) 0%,rgba(12,33,65,.78) 42%,rgba(12,33,65,.36) 100%),var(--phero-shot) !important;
  background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}
.phero-about{--phero-shot:url('/assets/reception.webp')}
.phero-visit{--phero-shot:url('/assets/entrance.webp')}
.phero-journal{--phero-shot:url('/assets/lounge.webp')}
.phero-treatments{--phero-shot:url('/assets/corridor.webp')}
.phero-double-eyelid{--phero-shot:url('/assets/consult-kim.webp');background-position:center 40% !important}
.phero-revision{--phero-shot:url('/assets/surgery-cho-2.webp')}
.phero-ptosis{--phero-shot:url('/assets/consult-cho-2.webp')}
.phero-under-eye{--phero-shot:url('/assets/surgery-kim-2.webp');background-position:center 30% !important}
.phero-upper{--phero-shot:url('/assets/or-room-2.webp')}
.phero-lower{--phero-shot:url('/assets/or-room.webp')}
.phero-doctors{--phero-shot:url('/assets/doc-kim-reception.webp');background-position:center 35% !important}

/* ── 질환 칩·과목 카드·단계·공간·장비 ── */
.dpart{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.dpart .st{background:#fff;border:1px solid var(--t-line);border-top:3px solid var(--t-gold);padding:22px 20px 24px}
.dpart .st .t{font-size:17px;font-weight:800;color:var(--t-ink);letter-spacing:-.02em}
.dpart .st .p{margin-top:6px;font-size:13px;font-weight:700;color:var(--t-accent)}
.dpart .st .d{margin-top:9px;font-size:14px;line-height:1.75;color:var(--t-sub);word-break:keep-all}
.dpart.c3{grid-template-columns:repeat(3,1fr)}
.dpart.c2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.dpart,.dpart.c3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.dpart,.dpart.c3,.dpart.c2{grid-template-columns:1fr}}

.dladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.dladder .st{background:#fff;border:1px solid var(--t-line);border-top:3px solid var(--t-primary);padding:24px 20px 26px}
.dladder .st .no{font-family:var(--t-serif);font-size:15px;font-style:italic;letter-spacing:.08em;color:var(--t-gold-3)}
.dladder .st h3{margin:9px 0 10px;font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--t-ink)}
.dladder .st p{font-size:14.5px;line-height:1.8;color:var(--t-sub)}
@media(max-width:900px){.dladder{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.dladder{grid-template-columns:1fr}}

.dhow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.dhow figure{margin:0;background:var(--t-wash);border:1px solid var(--t-line);display:flex;flex-direction:column}
.dhow img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;display:block}
.dhow figcaption{padding:13px 16px 16px;font-size:14px;line-height:1.7;color:var(--t-sub)}
.dhow figcaption b{display:block;margin-bottom:4px;font-size:14.5px;color:var(--t-ink)}
@media(max-width:860px){.dhow{grid-template-columns:1fr}}

.dequip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.dequip figure{margin:0;background:#fff;border:1px solid var(--t-line);display:flex;flex-direction:column}
.dequip img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.dequip figcaption{padding:14px 16px 17px}
.dequip figcaption b{display:block;font-size:15.5px;font-weight:800;color:var(--t-ink);letter-spacing:-.02em}
.dequip figcaption span{display:block;margin-top:6px;font-size:13.5px;line-height:1.7;color:var(--t-sub)}
@media(max-width:860px){.dequip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.dequip{grid-template-columns:1fr}}

.dtags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.dtags span{display:inline-block;padding:7px 13px;border:1px solid var(--t-line);border-radius:999px;background:#fff;font-size:14px;font-weight:600;color:var(--t-ink)}
.dtags span.on{background:var(--t-deep);color:#fff;border-color:var(--t-deep)}

/* ── 연혁 · 층별 안내 ── */
.tbtime{margin-top:26px;border-left:2px solid var(--t-gold);padding-left:26px;display:grid;gap:14px}
.tbtime div{position:relative;font-size:15.5px;line-height:1.7;color:var(--t-sub)}
.tbtime div::before{content:"";position:absolute;left:-33px;top:7px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--t-gold)}
.tbtime b{display:inline-block;min-width:68px;font-family:var(--t-serif);font-size:18px;font-style:italic;color:var(--t-gold-3)}
.tbfloor{width:100%;border-collapse:collapse;margin-top:22px;font-size:15.5px;line-height:1.7;background:#fff}
.tbfloor th{background:var(--t-primary);color:#fff;font-weight:700;padding:13px 16px;text-align:left}
.tbfloor td{border-bottom:1px solid var(--t-line);padding:13px 16px;vertical-align:top;color:var(--t-sub)}
.tbfloor td:first-child{font-family:var(--t-serif);font-weight:700;font-size:18px;color:var(--t-gold-3);width:90px}

/* ── 저널 허브 카드 썸네일(아티클 이미지 3:2) ── */
.hub-card .hub-thumb,.jgrid .hub-thumb{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;background:#F6F3EF}

/* ── 아티클: 핵심 정리 · SVG 카드 · 본문 이미지 · FAQ · 관련 · 참고 문헌 ── */
.dsum{margin:0 0 30px;padding:24px 28px;background:#fff;border:1px solid var(--t-line);border-left:4px solid var(--t-gold)}
.dsum-t{font-size:12.5px;font-weight:800;letter-spacing:.14em;color:var(--t-gold-3);margin-bottom:13px}
.dsum ul{margin:0;padding:0;list-style:none}
.dsum li{position:relative;padding-left:20px;margin-top:10px;font-size:15.5px;line-height:1.8;color:var(--t-ink)}
.dsum li:first-child{margin-top:0}
.dsum li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;background:var(--t-gold);border-radius:50%}
@media(max-width:700px){.dsum{padding:20px}.dsum li{font-size:15px}}
.post-body figure.tb-card{margin:0 0 34px}
.post-body figure.tb-card svg{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 10px 28px rgba(23,27,38,.12)}
.post-body figure.tb-fig{margin:0 0 34px}
.post-body figure.tb-fig img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;display:block;border:1px solid var(--t-line)}
.post-body figure.tb-fig figcaption,.post-body figure.tb-card figcaption{margin-top:10px;font-size:13.5px;color:var(--t-sub);text-align:center;line-height:1.6}
.post-body sup.fn{font-size:.72em;color:var(--t-accent);font-weight:700}

.dfaq{margin-top:44px;padding:32px 34px;background:var(--t-wash);border:1px solid var(--t-line)}
.dfaq>h2{margin:0 0 6px;font-size:23px;font-weight:800;letter-spacing:-.025em;color:var(--t-ink);padding-bottom:14px;border-bottom:2px solid var(--t-gold)}
.dfaq-item{padding:20px 0;border-bottom:1px solid var(--t-line)}
.dfaq-item:last-child{border-bottom:0;padding-bottom:4px}
.dfaq-item h3{position:relative;margin:0 0 9px;padding-left:28px;font-size:17px;font-weight:700;line-height:1.55;letter-spacing:-.02em;color:var(--t-ink)}
.dfaq-item h3::before{content:"Q";position:absolute;left:0;top:0;width:20px;height:20px;line-height:20px;text-align:center;font-size:12px;font-weight:800;color:#fff;background:var(--t-accent);border-radius:3px}
.dfaq-item p{margin:0;padding-left:28px;font-size:15.5px;line-height:1.85;color:var(--t-sub)}
@media(max-width:700px){.dfaq{padding:24px 20px}.dfaq-item h3{font-size:16px}}

.drel{margin-top:38px;padding-top:26px;border-top:1px solid var(--t-line)}
.drel>h2{margin:0 0 14px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--t-ink)}
.drel ul,.drel ol{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.drel li a{display:block;padding:14px 16px;background:var(--t-wash);border:1px solid var(--t-line);font-size:15.5px;font-weight:600;line-height:1.6;color:var(--t-ink)}
.drel li a:hover{border-color:var(--t-accent);color:var(--t-accent)}
.drel .c{display:inline-block;margin-right:9px;padding:2px 8px;font-size:11.5px;font-weight:800;color:#fff;background:var(--t-accent);border-radius:3px;vertical-align:1px}
.drel.refs ol{counter-reset:r}
.drel.refs li{position:relative;padding:12px 14px 12px 44px;background:var(--t-wash);border:1px solid var(--t-line);font-size:14.5px;line-height:1.65;color:var(--t-sub);counter-increment:r}
.drel.refs li::before{content:"[" counter(r) "]";position:absolute;left:14px;top:12px;font-weight:800;color:var(--t-gold-3)}
.drel.refs li a{display:inline;padding:0;background:none;border:0;font-weight:600;color:var(--t-ink);border-bottom:1px solid var(--t-gold)}
.drel.refs li a:hover{color:var(--t-accent)}
.drel .frnote{margin:12px 0 0;font-size:13.5px;color:var(--t-sub)}

.tbnote{margin-top:36px;padding:20px 24px;background:var(--t-wash);border-left:3px solid var(--t-gold);font-size:15px;line-height:1.8;color:var(--t-sub)}

/* ── 아티클 표 · 사이드 상담 박스 ── */
.post-body div[style*="overflow-x"]{overflow-x:auto;margin:0 0 28px}
.post-body table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}
.post-body th{background:var(--t-primary);color:#fff;font-weight:700;padding:11px 12px;text-align:left}
.post-body td{border-bottom:1px solid var(--t-line);padding:11px 12px;vertical-align:top}
.tbside-call{background:linear-gradient(160deg,#163A6E,#171B26);color:#fff;border-radius:12px;padding:22px 20px;text-align:center}
.tbside-call .t{font-size:14px;font-weight:700;color:rgba(255,255,255,.85)}
.tbside-call .n{display:block;margin-top:6px;font-size:28px;font-weight:800;color:#ECE2D2;letter-spacing:-.01em}
.tbside-call .s{margin-top:8px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.8)}
.tbside-call .b{display:inline-block;margin-top:12px;padding:9px 16px;background:#FEE500;color:#3C1E1E;border-radius:6px;font-size:13px;font-weight:800}
@media(max-width:1080px){.postside{display:none}}

/* ── 오시는 길 사진 비율 고정(늘리지 않고 잘라낸다) · 버스 목록 ── */
.visit figure img.tbvisit-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;border:1px solid var(--t-line)}
.tbbus{margin:10px 0 0;padding:0;list-style:none}
.tbbus li{position:relative;padding-left:16px;margin-top:6px;font-size:15px;line-height:1.7;color:var(--t-sub)}
.tbbus li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--t-gold)}

/* 하단 상담 영역(.footcta) 바로 위 텍스트가 붙지 않게 20px 여백(디자인1팀 10/7) */
section.casestrip{padding-bottom:20px}
.acare:has(+ .footcta){padding-bottom:20px}

/* ── 브랜드 전용 — 의료진 이니셜 카드(사진 미제공 원장) · 장비 그리드 · 시술 정보표 ── */
.tbdocs-mono{display:grid;place-items:center;width:100%;aspect-ratio:1/1;background:linear-gradient(150deg,#0C2141,#171B26);color:var(--t-gold);font-family:var(--t-serif);font-size:54px;letter-spacing:.06em}
.tbdoc .tbdocs-mono{font-size:72px;border-radius:12px}
.tbinfo{width:100%;border-collapse:collapse;margin-top:20px;font-size:15.5px;background:#fff}
.tbinfo th{width:150px;background:var(--t-deep);color:var(--t-gold-2);font-weight:700;padding:13px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}
.tbinfo td{border-bottom:1px solid var(--t-line);padding:13px 16px;color:var(--t-sub)}
.tbeq{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.tbeq figure{margin:0;background:#fff;border:1px solid var(--t-line);display:flex;flex-direction:column}
.tbeq img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#fff;display:block}
.tbeq figcaption{padding:11px 13px 14px;font-size:13.5px;line-height:1.6;color:var(--t-sub);border-top:1px solid var(--t-line)}
.tbeq figcaption b{display:block;font-size:14px;color:var(--t-ink)}
@media(max-width:900px){.tbeq{grid-template-columns:repeat(2,1fr)}}
.post-body figure.tb-card svg{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 10px 28px rgba(23,27,38,.16)}

/* ══ 모션 그래픽 — 사용자 10/24 「히어로 섹션과 초기화면(인덱스) 페이지에 모션 그래픽」(투비 전용 모티프) ══════════
   🔴 순수 CSS 만(테넌트는 React dangerouslySetInnerHTML 이라 인라인 스크립트가 돌지 않는다) — 키트가 .tbk 스코프로 그대로 옮긴다.
   🔴 글자를 추가하지 않는다(장식 전용 · aria-hidden) → 테넌트↔.kr 유사도 무영향.
   🔴 translate·scale·rotate 개별 속성 + opacity 만 애니메이션(합성 레이어 · 레이아웃 시프트 0) — 템플릿 hover 의 transform 과 싸우지 않게.
   🔴 스크롤 등장은 animation-timeline:view() 지원 브라우저만(@supports) — 미지원이면 처음부터 보인다(숨김 기본값 금지).
   🔴 prefers-reduced-motion 이면 전부 정지 · 롤링도 1장 고정.
   모티프: ① 눈매 라인 드로잉(쌍꺼풀 라인 · 속눈썹 곡선이 그려졌다 사라짐) ② 샴페인 궤도 링(사진 경계) ③ 블러시 보케 · 샴페인 입자
           ④ 미세 그리드 드리프트 ⑤ 빛 스윕 ⑥ 카피 순차 등장 · 워드마크 광택 ⑦ 사진 켄번스
   ════════════════════════════════════════════════════════════════════════════════════════ */
/* ── ① 히어로 배경 레이어(.tb-mg) — 사진(.tb-model, z1) 아래 · 카피(z2) 아래 ── */
.tb-hero .tb-mg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.tb-mg .tb-grid{position:absolute;inset:-48px;
  background-image:linear-gradient(rgba(12,33,65,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,33,65,.045) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 52% 68% at 26% 50%,#000 16%,transparent 74%);mask-image:radial-gradient(ellipse 52% 68% at 26% 50%,#000 16%,transparent 74%);
  animation:tbGrid 40s linear infinite}
@keyframes tbGrid{from{translate:0 0}to{translate:48px 48px}}
.tb-mg .tb-sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.7) 50%,transparent 64%);background-size:260% 100%;animation:tbSweep 12s ease-in-out infinite}
@keyframes tbSweep{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
/* 블러시 · 샴페인 보케(큰 원) — 천천히 숨 쉬듯 */
.tb-mg .tb-bk{position:absolute;border-radius:50%;opacity:.6;animation:tbBreath 14s ease-in-out infinite}
.tb-mg .bk1{left:-6%;top:-14%;width:420px;height:420px;background:radial-gradient(circle,rgba(244,214,208,.9),rgba(244,214,208,0) 68%)}
.tb-mg .bk2{left:30%;bottom:-22%;width:520px;height:520px;background:radial-gradient(circle,rgba(236,226,210,.95),rgba(236,226,210,0) 66%);animation-delay:-5s}
.tb-mg .bk3{left:44%;top:6%;width:260px;height:260px;background:radial-gradient(circle,rgba(196,167,124,.35),rgba(196,167,124,0) 70%);animation-delay:-9s}
@keyframes tbBreath{0%,100%{scale:1;translate:0 0}50%{scale:1.12;translate:14px -10px}}
/* 눈매 라인 드로잉 — 카피 위 · 사진 경계 쪽에서 곡선이 그려졌다 사라진다(쌍꺼풀 라인 겹 + 속눈썹 라인) */
.tb-mg .tb-lines{position:absolute;left:24%;top:7%;width:42%;max-width:640px;height:auto;overflow:visible}
.tb-lines path{fill:none;stroke-linecap:round}
.tb-lines .l1{stroke:rgba(12,33,65,.32);stroke-width:1.6;stroke-dasharray:1000;stroke-dashoffset:1000;animation:tbDraw 9s cubic-bezier(.45,.05,.25,1) infinite}
.tb-lines .l2{stroke:rgba(168,136,90,.6);stroke-width:1.3;stroke-dasharray:1000;stroke-dashoffset:1000;animation:tbDraw 9s cubic-bezier(.45,.05,.25,1) infinite;animation-delay:-.6s}
.tb-lines .l3{stroke:rgba(196,167,124,.5);stroke-width:1;stroke-dasharray:4 7}
.tb-lines .l4{stroke:rgba(12,33,65,.2);stroke-width:1;stroke-dasharray:1000;stroke-dashoffset:1000;animation:tbDraw 9s cubic-bezier(.45,.05,.25,1) infinite;animation-delay:-1.2s}
.tb-lines .dot{fill:#C4A77C;opacity:0;transform-box:fill-box;transform-origin:center;animation:tbDot2 9s ease-in-out infinite}
@keyframes tbDraw{0%{stroke-dashoffset:1000;opacity:0}8%{opacity:1}45%{stroke-dashoffset:0;opacity:1}78%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-1000;opacity:0}}
@keyframes tbDot2{0%,40%{opacity:0;scale:.4}50%{opacity:1;scale:1}80%{opacity:1}100%{opacity:0}}
/* 궤도 링 — 중심 = 사진 경계(사진 좌측 페이드 너머로 반쯤 비친다) */
.tb-mg .tb-orb{position:absolute;left:52%;top:50%;width:620px;height:620px;margin:-310px 0 0 -310px}
.tb-orb i{position:absolute;border-radius:50%}
.tb-orb .o1{inset:150px;border:1px solid rgba(168,136,90,.34)}
.tb-orb .o1::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(196,167,124,.55);animation:tbPing 5.2s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes tbPing{0%{scale:1;opacity:.9}100%{scale:1.7;opacity:0}}
.tb-orb .o2{inset:86px;border:1px dashed rgba(12,33,65,.16);animation:tbSpin 80s linear infinite}
.tb-orb .o3{inset:16px;border:1px dotted rgba(168,136,90,.34);animation:tbSpin 120s linear infinite reverse}
.tb-orb .od{inset:86px;animation:tbSpin 18s linear infinite}
.tb-orb .od::after{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#C4A77C;box-shadow:0 0 0 4px rgba(196,167,124,.18),0 0 16px rgba(196,167,124,.75)}
.tb-orb .od2{inset:16px;animation:tbSpin 30s linear infinite reverse}
.tb-orb .od2::after{content:"";position:absolute;left:50%;bottom:-3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#163A6E;box-shadow:0 0 10px rgba(22,58,110,.5)}
@keyframes tbSpin{to{rotate:360deg}}
/* 샴페인 · 블러시 입자 — 카피 패널 쪽에서 천천히 떠오른다 */
.tb-mg .tb-pt{position:absolute;bottom:-12px;width:5px;height:5px;border-radius:50%;background:#D9C29C;box-shadow:0 0 10px rgba(217,194,156,.95);opacity:0;animation:tbFloat 13s linear infinite}
.tb-pt:nth-of-type(1){left:5%;animation-delay:0s}.tb-pt:nth-of-type(2){left:12%;animation-delay:-3.6s;width:3px;height:3px}
.tb-pt:nth-of-type(3){left:20%;animation-delay:-7.2s}.tb-pt:nth-of-type(4){left:27%;animation-delay:-1.9s;width:3px;height:3px;background:#F2D3CC}
.tb-pt:nth-of-type(5){left:34%;animation-delay:-9.8s}.tb-pt:nth-of-type(6){left:41%;animation-delay:-5.4s;width:4px;height:4px;background:#F2D3CC}
.tb-pt:nth-of-type(7){left:8%;animation-delay:-11.1s;width:3px;height:3px}.tb-pt:nth-of-type(8){left:30%;animation-delay:-4.5s}
.tb-pt:nth-of-type(9){left:46%;animation-delay:-8.5s;width:3px;height:3px}.tb-pt:nth-of-type(10){left:16%;animation-delay:-6.3s;width:4px;height:4px;background:#F2D3CC}
@keyframes tbFloat{0%{translate:0 0;opacity:0}12%{opacity:.9}80%{opacity:.5}100%{translate:22px -580px;opacity:0}}

/* ── ② 히어로 카피 순차 등장 — 롤링(tbRoll 28s · 장당 7s)과 같은 주기 · 같은 지연. 인물이 나타난 뒤 0.3~1.2s 에 걸쳐 떠오르고, 인물보다 먼저 사라진다 ── */
.tb-roll .hero-copy>*{animation-duration:28s;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-iteration-count:infinite;animation-fill-mode:both}
.tb-roll .hero-copy>.tb-word{animation-name:tbIn1}
.tb-roll .hero-copy>h1,.tb-roll .hero-copy>.h1x{animation-name:tbIn2}
.tb-roll .hero-copy>.hero-kicker{animation-name:tbIn3}
.tb-roll .hero-copy>.tb-sub{animation-name:tbIn4}
.tb-roll .hero-copy>.hero-cta{animation-name:tbIn5}
.tb-roll .s2 .hero-copy>*{animation-delay:-21s}.tb-roll .s3 .hero-copy>*{animation-delay:-14s}.tb-roll .s4 .hero-copy>*{animation-delay:-7s}
@keyframes tbIn1{0%,1%{opacity:0;translate:0 14px}3.5%,21%{opacity:1;translate:0 0}23.5%,100%{opacity:0;translate:0 0}}
@keyframes tbIn2{0%,1.6%{opacity:0;translate:0 18px}4.1%,21%{opacity:1;translate:0 0}23.5%,100%{opacity:0;translate:0 0}}
@keyframes tbIn3{0%,2.2%{opacity:0;translate:0 16px}4.7%,21%{opacity:1;translate:0 0}23.5%,100%{opacity:0;translate:0 0}}
@keyframes tbIn4{0%,2.8%{opacity:0;translate:0 12px}5.3%,21%{opacity:1;translate:0 0}23.5%,100%{opacity:0;translate:0 0}}
@keyframes tbIn5{0%,3.4%{opacity:0;translate:0 10px}5.9%,21%{opacity:1;translate:0 0}23.5%,100%{opacity:0;translate:0 0}}
/* 워드마크 광택(네이비 → 샴페인 하이라이트) — 글자 span 에만 */
.tb-hero .tb-word span{background:linear-gradient(100deg,#163A6E 0%,#163A6E 42%,#C4A77C 50%,#163A6E 58%,#163A6E 100%);background-size:320% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:tbShine 7s ease-in-out infinite}
@keyframes tbShine{0%,35%{background-position:100% 0}75%,100%{background-position:0 0}}
@media(max-width:1000px){.tb-mg .tb-orb{left:58%}.tb-mg .tb-lines{left:18%;width:52%}}
@media(max-width:760px){.tb-mg .tb-orb,.tb-mg .tb-lines,.tb-mg .bk3{display:none}
  .tb-mg .tb-grid{-webkit-mask-image:radial-gradient(ellipse 80% 45% at 50% 78%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 80% 45% at 50% 78%,#000 15%,transparent 75%)}
  .tb-mg .bk1{width:260px;height:260px;top:auto;bottom:10%}.tb-mg .bk2{width:300px;height:300px}}
/* ── ③ 인덱스 본문 — 상시 모션(스크롤 무관) ── */
.creds{position:relative;overflow:hidden}
.creds::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(236,226,210,.10) 50%,transparent 70%);background-size:300% 100%;animation:tbSweep 9s ease-in-out infinite}
.dstat .n::after{content:"";display:block;width:34px;height:2px;margin:10px auto 0;background:linear-gradient(90deg,#A8885A,#ECE2D2);transform-origin:left}
.pcard{transition:translate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.pcard:hover{translate:0 -5px;box-shadow:0 18px 40px rgba(23,27,38,.16)}
.pcard .pphoto{overflow:hidden}
.pcard .pphoto img{transition:scale .9s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pphoto img{scale:1.06}
.tbsafe li{overflow:hidden}
.tbsafe li::after{content:"";position:absolute;left:0;right:0;top:-3px;height:3px;background:linear-gradient(90deg,transparent,#FFF6E8,transparent) no-repeat;background-size:40% 100%;animation:tbBar 5s ease-in-out infinite}
.tbsafe li:nth-child(2)::after{animation-delay:-1.25s}.tbsafe li:nth-child(3)::after{animation-delay:-2.5s}.tbsafe li:nth-child(4)::after{animation-delay:-3.75s}
@keyframes tbBar{0%{background-position:-60% 0}60%,100%{background-position:160% 0}}
.method-circles{position:relative}
.method-circles::before{content:"";position:absolute;left:10%;right:10%;top:50%;height:1px;z-index:0;background:repeating-linear-gradient(90deg,rgba(168,136,90,.7) 0 6px,transparent 6px 12px);background-size:12px 1px;animation:tbDash 1.1s linear infinite}
@keyframes tbDash{to{background-position:12px 0}}
.mcircle{position:relative;z-index:1}
.mcircle::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1.5px dashed rgba(168,136,90,.55);animation:tbSpin 40s linear infinite;pointer-events:none}
.mcircle:nth-child(2)::before{animation-direction:reverse}
.mcircle::after{content:"";position:absolute;inset:-12px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 0,#ECE2D2 0 4px,rgba(196,167,124,.35) 5px,transparent 9px);animation:tbSpin 10s linear infinite}
.mcircle:nth-child(2)::after{animation-duration:12s;animation-direction:reverse}.mcircle:nth-child(3)::after{animation-duration:14s}
@media(max-width:900px){.method-circles::before{display:none}}
.prow2-fig{overflow:hidden}

/* ── ④ 스크롤 등장(지원 브라우저만) — 처음부터 숨기지 않는다: 범위 전에는 backwards 로만 숨김, 지나면 기본값(보임) ── */
@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .creds-in .it,.dstat .it,.journal .sec-head,.jgrid .hub-card,.programs-head,.pcard,.about-intro-fig,.about-intro-grid>div+div,
    .tbsafe .sec-head,.tbsafe li,.regionnav h2,.regionnav__list li,.method-head,.mcircle,.prow2-txt,.prow2-fig{
      animation:tbReveal linear backwards;animation-timeline:view();animation-range:entry 0% cover 26%}
    .dstat .it:nth-child(2),.jgrid .hub-card:nth-child(2),.pcard:nth-child(3n+2),.tbsafe li:nth-child(2),.mcircle:nth-child(2),.regionnav__list li:nth-child(3n+2){animation-range:entry 6% cover 31%}
    .dstat .it:nth-child(3),.jgrid .hub-card:nth-child(3),.pcard:nth-child(3n+3),.tbsafe li:nth-child(3),.mcircle:nth-child(3),.regionnav__list li:nth-child(3n+3){animation-range:entry 12% cover 36%}
    .dstat .it:nth-child(4),.tbsafe li:nth-child(4){animation-range:entry 18% cover 41%}
    .mcircle{animation-name:tbRevealPop}
    .dstat .n::after{animation:tbLine linear backwards;animation-timeline:view();animation-range:entry 30% cover 45%}
    .prow2-fig img{animation:tbPar linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}
@keyframes tbReveal{from{opacity:0;translate:0 34px}to{opacity:1;translate:0 0}}
@keyframes tbRevealPop{from{opacity:0;scale:.86}to{opacity:1;scale:1}}
@keyframes tbLine{from{scale:0 1}to{scale:1 1}}
@keyframes tbPar{from{scale:1.12}to{scale:1}}

@media(prefers-reduced-motion:reduce){
  .tb-mg .tb-grid,.tb-mg .tb-sweep,.tb-mg .tb-bk,.tb-lines path,.tb-lines .dot,.tb-orb i,.tb-orb i::after,.tb-mg .tb-pt,.tb-roll .hero-copy>*,.tb-roll .tb-model,.tb-hero .tb-word span,
  .creds::after,.tbsafe li::after,.method-circles::before,.mcircle::before,.mcircle::after{animation:none !important}
  .tb-mg .tb-pt,.tb-lines .dot{display:none}
  .tb-lines path{stroke-dashoffset:0;opacity:1}
  .tb-roll .hero-copy>*{opacity:1;translate:none}
}

/* ── 투비 추가분 — 퀵메뉴 오시는 길 아이콘 · 약도 · 정보표 · 의료진 2인 카드 · 듀얼라인 · 진료 표 ── */
.qm .i.pin{background:radial-gradient(circle at 35% 30%,#D9C29C,#A8885A)}
@media(max-width:1024px){.qm .i.pin{width:30px;height:30px;background:rgba(255,255,255,.06);border:1px solid rgba(196,167,124,.55);box-shadow:none}}
.tbmap{margin:22px 0 0;border:1px solid var(--t-line);background:#fff}
.tbmap img{display:block;width:100%;height:auto}
.tbmap .mo{display:none}
@media(max-width:700px){.tbmap .pc{display:none}.tbmap .mo{display:block}}
.tbdocs.two{grid-template-columns:repeat(2,minmax(0,360px))}
@media(max-width:700px){.tbdocs.two{grid-template-columns:repeat(2,1fr)}}
.tbdoc .papers{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.tbdoc .papers li{font-size:14px;line-height:1.65;color:var(--t-sub);padding-left:15px;position:relative}
.tbdoc .papers li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--t-primary)}
.tbdoc .blog{display:inline-block;margin-top:16px;padding:9px 16px;border:1px solid var(--t-line);border-radius:6px;font-size:14px;font-weight:700;color:var(--t-deep)}
.tbdoc .blog:hover{border-color:var(--t-accent);color:var(--t-accent)}
.tbcompare{width:100%;border-collapse:collapse;margin-top:20px;font-size:15px;background:#fff}
.tbcompare th{background:var(--t-deep);color:#fff;font-weight:700;padding:12px 14px;text-align:left}
.tbcompare td{border-bottom:1px solid var(--t-line);padding:12px 14px;color:var(--t-sub);vertical-align:top}
.tbcompare td:first-child{font-weight:800;color:var(--t-ink);white-space:nowrap}
.tbwrapx{overflow-x:auto}
.tbfig{margin:22px 0 0}
.tbfig img{display:block;width:100%;height:auto;border:1px solid var(--t-line)}
.tbfig figcaption{margin-top:9px;font-size:13.5px;color:var(--t-sub)}
.post-body figure.tb-sum{margin:34px 0}
.post-body figure.tb-sum svg{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 10px 28px rgba(12,33,65,.12)}
.post-body figure.tb-sum figcaption{margin-top:10px;font-size:13.5px;color:var(--t-sub);text-align:center}
/* 모바일 진료 순서 원 — 템플릿 nowrap 이 390 폭에서 원을 잘라 먹는다 → 세로로 쌓고 크기만 줄인다 */
@media(max-width:700px){.method-circles{flex-wrap:wrap;gap:26px 12px;justify-content:center}.mcircle{width:232px;height:232px;padding:26px}}

/* ══ 10/24 서브메뉴 독립 페이지 — 형제 탭 · 안내 카드 · 체크리스트 · 갤러리 · 페이지별 서브 히어로 ══ */
.phero .lead{max-width:640px;word-break:keep-all;text-wrap:pretty}
.phero h1{word-break:keep-all}
.tbtabs{margin-top:-1px}
.tbtabs-in{display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 4px;border-bottom:1px solid var(--t-line)}
.tbtabs a{display:inline-block;padding:10px 16px;border-radius:999px;font-size:14.5px;font-weight:700;color:var(--t-sub);background:#fff;border:1px solid var(--t-line);transition:all .2s}
.tbtabs a:hover{color:var(--t-deep);border-color:var(--t-gold)}
.tbtabs a.on{background:var(--t-deep);color:#fff;border-color:var(--t-deep)}
@media(max-width:700px){.tbtabs-in{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px}.tbtabs a{white-space:nowrap;font-size:13.5px;padding:9px 14px}}
.tbtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:22px}
.tbtiles a{display:block;background:#fff;border:1px solid var(--t-line);border-radius:12px;overflow:hidden;color:var(--t-ink);transition:translate .3s,box-shadow .3s}
.tbtiles a:hover{translate:0 -4px;box-shadow:0 16px 34px rgba(12,33,65,.14)}
.tbtiles img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 25%}
.tbtiles .t{padding:16px 18px 18px}
.tbtiles b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em}
.tbtiles span{display:block;margin-top:6px;font-size:14px;line-height:1.6;color:var(--t-sub)}
.tbtiles em{display:block;margin-top:10px;font-style:normal;font-size:13.5px;font-weight:800;color:var(--t-accent)}
.tbcheck{margin-top:18px;padding:22px 24px;background:#fff;border:1px solid var(--t-line);border-left:4px solid var(--t-accent);border-radius:8px}
.tbcheck .tt{font-size:15.5px;font-weight:800;color:var(--t-deep)}
.tbcheck ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.tbcheck li{position:relative;padding-left:28px;font-size:15px;line-height:1.7;color:var(--t-sub)}
.tbcheck li::before{content:"";position:absolute;left:2px;top:5px;width:16px;height:16px;border-radius:4px;border:2px solid var(--t-gold)}
.tbgal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.tbgal figure{margin:0;background:#fff;border:1px solid var(--t-line);border-radius:10px;overflow:hidden}
.tbgal img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.tbgal figcaption{padding:11px 14px 14px;font-size:13.5px;line-height:1.6;color:var(--t-sub)}
.tbgal figcaption b{display:block;font-size:14.5px;color:var(--t-ink)}
@media(max-width:900px){.tbgal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.tbgal{grid-template-columns:1fr}}
.tbfig img{max-width:980px}
.phero-philosophy,.phero-safety,.phero-tour,.phero-doc-kim-dohoon,.phero-doc-cho-hyein,.phero-eyelid-methods,.phero-eyelid-lines,.phero-ptosis-methods,.phero-ptosis-faq,.phero-dark-circle,.phero-vs-lower,.phero-brow{
  background-image:linear-gradient(90deg,rgba(12,33,65,.92) 0%,rgba(12,33,65,.78) 42%,rgba(12,33,65,.36) 100%),var(--phero-shot) !important;
  background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}
.phero-philosophy{--phero-shot:url('/assets/consult-room.webp')}
.phero-safety{--phero-shot:url('/assets/recovery.webp')}
.phero-tour{--phero-shot:url('/assets/reception-2.webp')}
.phero-doc-kim-dohoon{--phero-shot:url('/assets/surgery-kim-2.webp');background-position:center 30% !important}
.phero-doc-cho-hyein{--phero-shot:url('/assets/desk-cho.webp');background-position:center 40% !important}
.phero-eyelid-methods{--phero-shot:url('/assets/il-incision-tray.webp')}
.phero-eyelid-lines{--phero-shot:url('/assets/il-suture-fixation.webp')}
.phero-ptosis-methods{--phero-shot:url('/assets/il-ptosis-model.webp')}
.phero-ptosis-faq{--phero-shot:url('/assets/care-room.webp')}
.phero-dark-circle{--phero-shot:url('/assets/il-darkcircle-swatches.webp')}
.phero-vs-lower{--phero-shot:url('/assets/il-lowerlid-anatomy.webp')}
.phero-brow{--phero-shot:url('/assets/il-brow-model.webp')}
.phero-under-eye{--phero-shot:url('/assets/il-undereye-anatomy.webp') !important}
.phero-double-eyelid{--phero-shot:url('/assets/il-eyelid-anatomy.webp') !important}
/* 데스크톱 드롭다운 — 히어로 위에서도 읽히게 대비 · 여백 정리 */
.gnb-sub-in{background:rgba(255,255,255,.98);border:1px solid rgba(12,33,65,.10);border-radius:12px;box-shadow:0 18px 40px rgba(12,33,65,.18);padding:10px;min-width:220px}
.gnb-sub-in a{padding:11px 16px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--t-ink)}
.gnb-sub-in a:hover{background:var(--t-wash);color:var(--t-deep)}
.tbil img{border-radius:10px}
.tbil2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.tbil2{grid-template-columns:1fr}}

/* 일러스트 — 가운데 · 적당한 폭(10/24 QA: 1440 에서 너무 크고 왼쪽에 붙음) */
.tbil{max-width:760px;margin:22px auto 0;text-align:center}
.tbil img{margin:0 auto;width:100%}
.tbil2 .tbil{max-width:none;margin-top:0}
.tbil2{margin-top:22px}
.tbfig{text-align:center}.tbfig img{margin:0 auto}
