/* ==========================================================================
   페이스플러스성형외과 — site.css (v2, 2026-09-22)
   Stone & brass. Espresso ink · warm paper · brass · consult-room teal.
   Display: Noto Serif KR + Cormorant Garamond (Latin italic). Body: Pretendard. (v3 2026-10-01: 장식 걷어낸 편집형)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

:root{
  --ink:#1b1714; --ink-2:#26211c; --ink-3:#36302a; --stone:#4a403a;
  --paper:#f9f7f3; --paper-2:#f2eee7; --paper-3:#e8e2d8; --white:#ffffff;
  --brass:#a98452; --brass-2:#7f6139; --brass-soft:#e4d5b9; --brass-faint:rgba(169,132,82,.12);
  --teal:#46605a; --teal-2:#33483f; --teal-soft:#edf1ef; --teal-faint:rgba(70,96,90,.1);
  --alert:#b5533c; --alert-soft:#fbeeea;
  --text:#221d19; --text-2:#57504a; --muted:#8a827a; --line:#e6e0d6; --line-2:#d3c9ba; --line-dark:rgba(255,255,255,.14);
  --kserif:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;
  --serif:'Cormorant Garamond','Noto Serif KR',Georgia,serif;
  --sans:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  --wrap:1280px; --wrap-n:900px;
  --hdr:84px;
  --r:3px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 20px)}
body{font-family:var(--sans);background:var(--paper);color:var(--text);line-height:1.8;font-size:16.5px;letter-spacing:-.005em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{list-style:none}
strong{font-weight:600}
::selection{background:var(--brass-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- type ---------- */
.serif{font-family:var(--kserif)}
.latin{font-family:var(--serif);font-style:italic;font-weight:500}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:.02em;color:var(--brass-2)}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--brass)}
.eyebrow--plain::before{display:none}
.eyebrow--light{color:var(--brass-soft)}
.eyebrow--sig{font-style:normal;font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.02em}
.display{font-family:var(--kserif);font-weight:500;letter-spacing:-.02em;line-height:1.3}
.display--xl{font-size:clamp(34px,5vw,62px)}
.display--l{font-size:clamp(28px,3.4vw,44px)}
.display--m{font-size:clamp(23px,2.5vw,32px)}
.display--s{font-size:clamp(19px,2vw,25px)}
.lead{font-size:clamp(17px,1.35vw,19.5px);line-height:1.9;color:var(--text-2)}
.tnum{font-variant-numeric:tabular-nums}
p+p{margin-top:1.1em}

/* ---------- layout ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.wrap--n{max-width:var(--wrap-n)}
.sec{padding:clamp(72px,8.5vw,120px) 0}
.sec--tight{padding:clamp(56px,6vw,88px) 0}
.sec--ink{background:var(--ink);color:#ece7df}
.sec--ink .eyebrow{color:var(--brass-soft)}
.sec--paper2{background:var(--paper-2)}
.sec--white{background:var(--white)}
.sec--teal{background:var(--teal);color:#eef3f1}
.sh{margin-bottom:clamp(32px,4vw,52px)}
.sh .eyebrow{margin-bottom:16px}
.sh__t{font-family:var(--kserif);font-weight:500;font-size:clamp(25px,2.9vw,36px);line-height:1.32;letter-spacing:-.02em}
.sh__d{margin-top:14px;color:var(--text-2);max-width:640px}
.sh--center{text-align:center}
.sh--center .sh__d{margin-left:auto;margin-right:auto}
.sh--center .eyebrow::before{display:none}
.rule{height:1px;background:var(--line);border:0}
.grid{display:grid;gap:32px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.wrap{padding:0 20px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:var(--r);font-size:14.5px;font-weight:600;letter-spacing:.01em;transition:all .3s var(--ease);white-space:nowrap;border:1px solid transparent}
.btn--brass{background:var(--brass);color:#fff;border-color:var(--brass)}
.btn--brass:hover{background:var(--brass-2);border-color:var(--brass-2)}
.btn--gold{background:var(--brass);color:#fff;border-color:var(--brass)}
.btn--gold:hover{background:var(--brass-2);border-color:var(--brass-2)}
.btn--ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--ink:hover{background:var(--ink-3);border-color:var(--ink-3)}
.btn--teal{background:var(--teal);color:#fff;border-color:var(--teal)}
.btn--teal:hover{background:var(--teal-2)}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn--ghost-dark{border-color:var(--ink);color:var(--ink)}
.btn--ghost-dark:hover{background:var(--ink);color:#fff}
.btn--kakao{background:#fae100;color:#3c1e1e;border-color:#fae100}
.btn--kakao:hover{background:#f2d900}
.btn--sm{height:44px;padding:0 20px;font-size:13.5px}
@media (max-width:640px){.btn{white-space:normal;height:auto;min-height:52px;padding-top:10px;padding-bottom:10px;line-height:1.35;text-align:center}.btn--sm{min-height:44px}}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--brass);padding-bottom:4px;transition:gap .3s var(--ease)}
.link:hover{gap:16px}
.link--light{color:#fff}
.link svg{width:16px;height:16px}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:90;height:var(--hdr);background:rgba(247,244,239,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);border-bottom:1px solid var(--line);transition:background .4s var(--ease),transform .4s var(--ease),border-color .4s}
.hdr--clear{background:transparent;border-bottom-color:rgba(255,255,255,.14);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.hdr--clear.is-scrolled{background:rgba(247,244,239,.94);border-bottom-color:var(--line);color:var(--ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{max-width:1440px;margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;flex:none}
.logo img{display:block;height:26px;width:auto}
.hdr .logo img,.fullnav__top .logo img{height:40px}
@media (max-width:1440px){.hdr .logo img,.fullnav__top .logo img{height:34px}}
.logo .logo__dark{display:block}.logo .logo__light{display:none}
.hdr--clear:not(.is-scrolled):not(.is-open) .logo .logo__dark{display:none}.hdr--clear:not(.is-scrolled):not(.is-open) .logo .logo__light{display:block}
.hdr.is-open{background:rgba(247,244,239,.98);border-bottom-color:var(--line);color:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
.logo--stack img{height:72px}
@media (max-width:640px){.hdr .logo img,.mnav .logo img,.fullnav__top .logo img{height:28px}}
.nav{display:flex;align-items:center;height:100%;margin-left:auto}
.nav__list{display:flex;align-items:center;height:100%;list-style:none;margin:0;padding:0}
.nav__item{position:relative;height:100%;display:flex;align-items:center}
.nav__link{display:flex;align-items:center;height:100%;padding:0 7px;font-size:14px;font-weight:500;letter-spacing:-.02em;white-space:nowrap;position:relative;transition:color .3s;color:inherit;opacity:.86}
.nav__link::after{content:"";position:absolute;left:7px;right:7px;bottom:24px;height:1.5px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav__item:hover .nav__link,.nav__item.is-active .nav__link,.nav__item.is-open .nav__link{opacity:1}
.nav__item:hover .nav__link::after,.nav__item.is-active .nav__link::after,.nav__item.is-open .nav__link::after{transform:scaleX(1)}
.mega{position:absolute;top:100%;left:0;right:0;background:var(--paper);color:var(--text);border-top:1px solid var(--brass);box-shadow:0 30px 50px rgba(33,28,25,.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.nav__sub{position:absolute;top:100%;left:0;min-width:176px;list-style:none;margin:0;padding:8px 0;background:var(--paper);color:var(--text);border:1px solid var(--line);border-top:1px solid var(--brass);box-shadow:0 14px 30px rgba(33,28,25,.12);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s}
.nav__item:nth-last-child(-n+3) .nav__sub{left:auto;right:0}
.nav__item:hover>.nav__sub,.nav__item:focus-within>.nav__sub,.nav__item.is-open>.nav__sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.nav__sub a{display:block;padding:9px 20px;font-size:14px;line-height:1.5;white-space:nowrap;color:var(--text);transition:background .2s,color .2s}
.nav__sub a:hover,.nav__sub a[aria-current]{background:var(--white);color:var(--brass-2)}
.nav__sub a[aria-current]{font-weight:600}
.nav__item:hover .mega,.nav__item.is-open .mega{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}
.mega__in{display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;padding:38px 32px 42px}
.mega__intro{padding-right:40px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.mega__intro small{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2);letter-spacing:.02em}
.mega__intro b{font-family:var(--kserif);font-weight:500;font-size:20px;line-height:1.45;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.mega__intro p{font-size:13.5px;line-height:1.7;color:var(--text-2)}
.mega__link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13.5px;font-weight:700;color:var(--ink);margin-top:auto;padding-top:10px;transition:color .2s}
.mega__link i{font-style:normal;font-size:10.5px;letter-spacing:.12em;padding:3px 7px;background:var(--teal);color:#fff;font-weight:700;border-radius:2px}
.mega__link svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.mega__link:hover{color:var(--brass-2)}
.mega__link:hover svg{transform:translateX(4px)}
.mega__cols{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:12px 32px;align-content:start}
.mega__t{font-family:var(--kserif);font-size:15px;font-weight:600;color:var(--ink);padding:0 12px 10px;margin-bottom:6px;border-bottom:1px solid var(--line-2);white-space:nowrap;display:flex;align-items:baseline;gap:8px}
.mega__t small{font-family:var(--serif);font-style:italic;font-weight:400;font-size:12.5px;color:var(--brass-2)}
.mega__item{display:block;padding:8px 12px;border-radius:var(--r);transition:background .2s}
.mega__item b{display:block;font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em;line-height:1.4;transition:color .2s}
.mega__item span{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:2px}
.mega__item:hover{background:var(--white)}
.mega__item:hover b,.mega__item.is-current b{color:var(--brass-2)}
.mega-shade{position:fixed;inset:0;z-index:80;background:rgba(33,28,25,.4);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.mega-shade.is-on{opacity:1}
@media (max-width:1180px){.mega__in{grid-template-columns:260px minmax(0,1fr);gap:32px}}
.hdr__cta{display:flex;align-items:center;gap:16px}
.hdr__tel{font-family:var(--serif);font-size:19px;letter-spacing:.02em;opacity:.9}
/* 언어 드롭다운 (2026-10-19 다국어: /en/ /cn/ … 가상 폴더) */
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 13px 0 12px;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.55);color:inherit;font:inherit;font-size:14px;font-weight:600;letter-spacing:0;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}
.lang__btn:hover,.lang.is-open .lang__btn{border-color:var(--brass);background:var(--white)}
.lang__globe{width:18px;height:18px;flex:0 0 auto}
.lang__chev{width:14px;height:14px;flex:0 0 auto;transition:transform .2s}
.lang.is-open .lang__chev{transform:rotate(180deg)}
.hdr--clear:not(.is-scrolled):not(.is-open) .lang__btn{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08)}
.hdr--clear:not(.is-scrolled):not(.is-open) .lang.is-open .lang__btn,.hdr--clear:not(.is-scrolled):not(.is-open) .lang__btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.8)}
.lang__menu{display:none;position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:178px;margin:0;padding:6px;list-style:none;background:var(--white);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px rgba(33,28,25,.16);z-index:96}
.lang.is-open .lang__menu{display:block}
/* 전체메뉴 패널(z-index 95)이 열려 있으면 헤더(90) 안의 언어 목록이 패널 뒤에 깔려 못 고른다 → PC(패널이 헤더 아래로 열림)에선 그동안 헤더를 패널 위로 (2026-10-20) */
@media (min-width:1280px){.hdr.is-open{z-index:96}}
.lang__menu a{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;font-size:15px;font-weight:500;color:var(--text);white-space:nowrap;transition:background .15s}
.lang__menu a:hover{background:var(--paper)}
.lang__menu a[aria-current]{background:#f1ebe1;font-weight:600}
.lang__menu img{width:24px;height:24px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
@media (max-width:640px){.lang__cur{display:none}.lang__btn{padding:0 9px;gap:4px;height:38px}.hdr__cta{gap:10px}}
/* 번역 페이지: 라틴·키릴 문자는 한국어보다 길어 첫 화면 제목이 넘친다 → 조금 작게, 넘치면 위에서부터 */
html:not([lang="ko"]) .hero__in{justify-content:safe center}
html:not([lang="ko"]) .hero__t{max-width:28ch;font-size:clamp(30px,min(4.2vw,6.2vh),56px)}
html:not([lang="ko"]) .hero__h1{max-width:900px}
@media (max-width:1279px){.nav{display:none}}
@media (min-width:1280px){.hdr .burger{display:none}}
.book{position:relative}
.book::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.book__menu{display:none;position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:210px;padding:8px 0;margin:0;list-style:none;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 30px rgba(33,28,25,.14);z-index:95}
.book:hover .book__menu,.book:focus-within .book__menu{display:block}
.book__menu a{display:block;padding:9px 16px;font-size:13.5px;color:var(--text);white-space:nowrap;transition:background .2s}
.book__menu a:hover{background:var(--paper)}
@media (max-width:1024px){.book__menu{display:none!important}}

/* mobile nav (slides down, paper) */
.mnav{position:fixed;inset:0;z-index:100;background:var(--paper);color:var(--ink);transform:translateY(-100%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;overflow-y:auto;padding:0 0 60px}
.mnav.is-open{transform:translateY(0);visibility:visible;transition:transform .5s var(--ease),visibility 0s}
.mnav__top{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line)}
.mnav__close{width:44px;height:44px;display:grid;place-items:center;font-size:26px}
.mnav__group{border-bottom:1px solid var(--line)}
.mnav__head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 22px;font-family:var(--kserif);font-size:19px;font-weight:500;text-align:left}
.mnav__head svg{width:18px;height:18px;transition:transform .3s;color:var(--brass-2)}
.mnav__group.is-open .mnav__head svg{transform:rotate(45deg)}
.mnav__body{display:none;padding:0 22px 20px}
.mnav__group.is-open .mnav__body{display:block}
.mnav__sub{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2);margin:16px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.mnav__body a{display:block;padding:9px 0;font-size:15.5px;color:var(--text)}
.mnav__body a b{display:block;font-weight:500}
.mnav__body a span{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.mnav__intro{font-family:var(--kserif);font-size:15px;line-height:1.5;color:var(--text-2);padding:6px 0 10px}
.mnav__guide{display:flex !important;align-items:center;gap:8px;padding:12px 0 !important;font-weight:600;color:var(--ink) !important}
.mnav__guide i{font-style:normal;font-size:10px;letter-spacing:.12em;padding:3px 7px;background:var(--teal);color:#fff;font-weight:700;border-radius:2px}
.mnav__foot{padding:28px 22px;display:flex;flex-direction:column;gap:12px}
.mnav__foot .btn{width:100%}
.mnav__brand{align-self:center;width:112px;margin-top:22px;opacity:.7}
.mnav__brand img{display:block;width:100%;height:auto}

/* ---------- hero (home) ---------- */
.hero{position:relative;height:100svh;min-height:660px;background:var(--ink);color:#fff;overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(24,19,16,.86) 0%,rgba(24,19,16,.62) 42%,rgba(24,19,16,.25) 75%,rgba(24,19,16,.15) 100%)}
.hero__shade::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to top,rgba(24,19,16,.6),transparent)}
.hero__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hdr);padding-bottom:64px;max-width:var(--wrap)}
.hero__eyebrow{margin-bottom:26px}
.hero__h1{max-width:760px;font-size:15px;font-weight:500;line-height:1.6;align-items:baseline}
.hero__h1::before{flex:none;transform:translateY(-4px)}
.hero__t{font-family:var(--kserif);font-weight:500;font-size:clamp(34px,min(5.2vw,7.5vh),68px);line-height:1.22;letter-spacing:-.025em;max-width:22ch;text-wrap:balance}
.hero__t2{margin-top:18px;font-family:var(--kserif);font-weight:500;font-size:clamp(20px,2.4vw,32px);line-height:1.35;letter-spacing:-.02em;color:var(--brass-soft)}
.hero__d{margin-top:24px;max-width:600px;font-size:clamp(15.5px,1.2vw,18px);line-height:1.85;color:rgba(255,255,255,.82)}
.hero__cred{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.28);max-width:640px;font-size:clamp(16px,1.45vw,20px);font-weight:600;line-height:1.55;color:#fff;letter-spacing:-.01em}
.hero__cta{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.hero__scroll{position:absolute;right:40px;bottom:36px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.hero__scroll i{width:1px;height:56px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--brass);animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{to{top:100%}}
.hero__badge{position:absolute;left:32px;bottom:36px;z-index:2;display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.75)}
.hero__badge b{font-family:var(--serif);font-style:italic;font-weight:500;font-size:15px;color:var(--brass-soft)}
@media (min-width:641px) and (max-height:820px){.hero__eyebrow{margin-bottom:16px}.hero__d{margin-top:16px;line-height:1.7}.hero__cred{margin-top:18px;padding-top:14px}.hero__cta{margin-top:24px}}
@media (max-width:640px){
  .hero{min-height:600px}.hero__scroll,.hero__badge{display:none}
  .hero__in{justify-content:flex-end;padding-bottom:56px}
  .hero__t{font-size:clamp(30px,8.6vw,38px)}.hero__t2{font-size:20px;margin-top:12px}
  .hero__d{margin-top:16px;font-size:15px;line-height:1.7}
  .hero__cred{font-size:15px;margin-top:18px;padding-top:14px}
  .hero__cta{flex-wrap:nowrap;gap:8px;margin-top:24px}
  .hero__cta .btn{flex:1 1 0;min-width:0;height:auto;min-height:50px;padding:8px 10px;font-size:14px;letter-spacing:0;line-height:1.3;white-space:normal;text-align:center}
}

/* ---------- home sections ---------- */
/* principles */
.h-prin{background:var(--paper);position:relative}
.h-prin__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:end;margin-bottom:clamp(36px,4.5vw,60px)}
.h-prin__motto{font-family:var(--kserif);font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.25;letter-spacing:-.025em;margin-top:18px}
.h-prin__motto em{font-style:normal;color:var(--brass-2)}
.prin3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.prin3 li{padding:34px 34px 38px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.prin3 li+li{padding-left:34px}
.prin3 li:last-child{border-right:0}
.prin3 i{font-family:var(--serif);font-style:italic;font-size:40px;line-height:1;color:var(--brass);font-weight:400}
.prin3 b{font-family:var(--kserif);font-weight:500;font-size:clamp(20px,1.75vw,24px);line-height:1.45;letter-spacing:-.02em;text-wrap:balance}
.prin3 p{font-size:14.5px;color:var(--text-2)}
@media (max-width:900px){.h-prin__head{grid-template-columns:minmax(0,1fr)}.prin3{grid-template-columns:minmax(0,1fr);border-top-width:1px}.prin3 li{padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}.prin3 li+li{padding-left:0}.prin3 li:last-child{border-bottom:0}}

/* doctor */
.h-doc{background:var(--paper-2);overflow:hidden}
.h-doc__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,88px);align-items:start}
.h-doc__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.h-doc__img img{width:100%;height:100%;object-fit:cover;object-position:18% 50%}
.h-doc__img::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(180,140,76,.55);transform:translate(14px,14px);pointer-events:none}
.h-doc__img figcaption{position:absolute;left:0;bottom:0;padding:10px 16px;background:rgba(33,28,25,.78);color:#fff;font-size:12.5px;letter-spacing:.04em}
.h-doc__t{font-family:var(--kserif);font-weight:500;font-size:clamp(26px,3vw,40px);line-height:1.3;letter-spacing:-.025em;margin-top:18px;text-wrap:balance}
.h-doc__lead{margin-top:20px;color:var(--text-2);max-width:560px}
.h-doc__name{margin-top:22px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.h-doc__name b{font-family:var(--kserif);font-size:21px;font-weight:500}
.h-doc__name span{font-family:var(--serif);font-style:italic;color:var(--brass-2);font-size:16px}
.cvgrid{margin-top:26px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 36px}
.cvgrid>div{border-top:1px solid var(--ink);padding-top:12px}
.cvgrid h3{font-size:12.5px;letter-spacing:.04em;color:var(--brass-2);font-weight:700;margin-bottom:6px}
.cvgrid li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--text-2);line-height:1.6}
.cvgrid li.noyr{grid-template-columns:minmax(0,1fr)}
.cvgrid .yr{font-family:var(--serif);font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.01em}
@media (max-width:900px){.h-doc__grid{grid-template-columns:minmax(0,1fr)}.h-doc__img{max-width:520px;aspect-ratio:4/3}}
@media (max-width:640px){.cvgrid{grid-template-columns:minmax(0,1fr)}}

/* fields (dark) */
.h-fields{background:var(--ink);color:#ece7df;position:relative;overflow:hidden}
.h-fields::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 480px at 100% 0%,rgba(180,140,76,.16),transparent 60%)}
.h-fields .wrap{position:relative}
.h-fields .sh__d{color:rgba(255,255,255,.66)}
.fcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fcard{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 26px 26px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);transition:border-color .3s,background .3s,transform .35s var(--ease)}
.fcard:hover{border-color:var(--brass);background:rgba(255,255,255,.05);transform:translateY(-4px)}
.fcard__ico{width:56px;height:56px;color:var(--brass-soft)}
.fcard__ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.fcard h3{font-family:var(--kserif);font-weight:500;font-size:23px;letter-spacing:-.02em;margin-top:6px}
.fcard h3 small{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:13.5px;color:var(--brass);letter-spacing:.02em;margin-bottom:6px}
.fcard p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.7;flex:1}
.fcard ul{margin-top:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:8px}
.fcard ul a{display:inline-block;padding:6px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:13px;color:#fff;line-height:1.3;transition:all .2s}
.fcard ul a:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
@media (max-width:1024px){.fcards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.fcards{grid-template-columns:minmax(0,1fr)}}

/* academic (home) */
.h-acad{background:var(--white)}
.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tcard{background:var(--paper);border:1px solid var(--line);padding:30px 30px 28px;display:flex;flex-direction:column;gap:12px}
.tcard small{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2)}
.tcard h3{font-family:var(--kserif);font-weight:500;font-size:22px;line-height:1.4;letter-spacing:-.02em}
.tcard p{font-size:14.5px;color:var(--text-2)}
.papers{margin-top:40px;border-top:1px solid var(--ink)}
.papers__t{font-size:12.5px;letter-spacing:.04em;color:var(--brass-2);font-weight:700;padding:16px 0 4px}
.papers li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--text-2);line-height:1.7}
.papers li i{font-family:var(--serif);font-style:italic;color:var(--brass-2);font-size:18px}
.papers li b{display:block;color:var(--text);font-weight:600;font-family:var(--serif);font-style:italic;font-size:16px;letter-spacing:0}
.papers li span{display:block;margin-top:2px;font-size:13.5px;color:var(--muted)}
@media (max-width:760px){.topics{grid-template-columns:minmax(0,1fr)}}

/* stories (youtube) */
.yt{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.yt a{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink);display:block;border-radius:var(--r)}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform 1s var(--ease)}
.yt a:hover img{transform:scale(1.05)}
.yt span{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(to top,rgba(24,19,16,.92),transparent);color:#fff;font-size:13.5px;line-height:1.5}
.yt i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center}
.yt i::after{content:"";border-left:14px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.yt--3{grid-template-columns:repeat(3,1fr)}
.yt--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.yt--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.yt--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.yt--3,.yt--4{grid-template-columns:1fr}}
.chgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.chcard{display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--white);border:1px solid var(--line);transition:border-color .25s}
.chcard:hover{border-color:var(--brass)}
.chcard i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--ink);flex:0 0 auto}
.chcard i svg{width:20px;height:20px;fill:currentColor}
.chcard b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px}
.chcard span{display:block;font-size:12.5px;color:var(--muted)}
@media (max-width:760px){.chgrid{grid-template-columns:minmax(0,1fr)}}
/* 메인 · 박정근 원장이 전하는 이야기: 유튜브(대표 영상 + 3편) · 블로그 · 원장 칼럼 */
.story{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);margin-top:32px;align-items:start}
.story__main{display:flex;flex-direction:column;gap:12px;color:var(--text)}
.story__img{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--ink)}
.story__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.story__img i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.story__img i::after{content:"";border-left:17px solid var(--ink);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.story__main:hover .story__img img{transform:scale(1.04)}
.story__main small,.story__h{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--brass-2)}
.story__main small .ico,.story__h .ico{width:16px;height:16px}
.story__main b{font-family:var(--kserif);font-weight:500;font-size:clamp(19px,1.6vw,22px);line-height:1.45;letter-spacing:-.015em;transition:color .2s}
.story__main:hover b{color:var(--brass-2)}
.story__list{border-top:1px solid var(--ink)}
.story__list li{border-bottom:1px solid var(--line)}
.story__list a{display:grid;grid-template-columns:136px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0}
.story__thumb{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--ink)}
.story__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.story__list a:hover img{transform:scale(1.06)}
.story__list b{font-family:var(--kserif);font-weight:500;font-size:15.5px;line-height:1.5;letter-spacing:-.01em;transition:color .2s}
.story__list a:hover b{color:var(--brass-2)}
.story__side .link{margin-top:18px}
.story2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,44px);margin-top:clamp(40px,5vw,64px)}
.story__h{margin-bottom:12px}
@media (max-width:900px){.story,.story2{grid-template-columns:minmax(0,1fr)}.story2{row-gap:48px}}
@media (max-width:480px){.story__list a{grid-template-columns:112px minmax(0,1fr);gap:12px}}

/* cases (home) */
.ba{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.ba-card figcaption{margin-top:12px;font-size:14px;color:var(--text-2);text-align:center}
.ba-note{margin-top:30px;font-size:13px;color:var(--muted);line-height:1.8;padding-top:18px;border-top:1px solid var(--line)}
@media (max-width:760px){.ba{grid-template-columns:1fr;gap:28px}}

/* contact (home) */
.h-contact{background:var(--white)}
.h-contact__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,72px);align-items:start}
.tel-label{font-size:13px;letter-spacing:.04em;color:var(--brass-2);font-weight:700}
.tel-big{font-family:var(--serif);font-weight:500;font-size:clamp(38px,4.4vw,56px);letter-spacing:.01em;line-height:1.1;margin-top:8px}
.tel-big a{color:var(--ink)}
.h-contact__btns{margin-top:26px;display:flex;flex-direction:column;gap:10px;max-width:340px}
.h-contact__btns .btn{width:100%}
.info-table{width:100%;border-collapse:collapse;font-size:15px}
.info-table th,.info-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.info-table th{width:28%;color:var(--muted);font-weight:500;font-size:13.5px;white-space:nowrap}
.map{aspect-ratio:16/8;background:var(--paper-2);border:1px solid var(--line)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.02)}
.h-contact .map{margin-top:22px}
@media (max-width:900px){.h-contact__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- page head (sub pages) ---------- */
.phead{background:var(--paper);padding-top:var(--hdr);border-bottom:1px solid var(--line)}
.phead__in{display:grid;grid-template-columns:minmax(0,1fr) 600px;gap:clamp(32px,5vw,72px);align-items:end;padding-top:clamp(40px,5vw,64px)}
.phead__txt{padding-bottom:clamp(36px,4vw,56px)}
.phead__t{font-family:var(--kserif);font-weight:500;font-size:clamp(28px,3.4vw,46px);line-height:1.28;letter-spacing:-.025em;margin-top:22px;text-wrap:balance}
.phead__lead{margin-top:20px;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.85;color:var(--text-2);max-width:680px}
.phead__fig{position:relative;margin:0;aspect-ratio:5/4;overflow:hidden;background:var(--paper-3);align-self:end}
.phead__fig img{width:100%;height:100%;object-fit:cover}
.phead__fig::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass)}
.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--muted);letter-spacing:.01em}
.crumb a:hover{color:var(--ink)}
.crumb span{color:inherit}
.crumb i{width:3px;height:3px;border-radius:50%;background:var(--brass);display:inline-block}
.crumb b{font-weight:500;color:var(--text)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:30px;max-width:760px}
.facts>div{background:var(--white);border:1px solid var(--line);padding:16px 18px;border-radius:var(--r)}
.facts dt{font-size:11.5px;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:4px}
.facts dd{font-family:var(--kserif);font-size:16.5px;font-weight:500;color:var(--text);line-height:1.4}
.facts dt,.facts dd{overflow-wrap:anywhere}
@media (max-width:1180px){.phead__in{grid-template-columns:minmax(0,1fr) 450px}}
@media (max-width:860px){.phead__in{grid-template-columns:minmax(0,1fr);gap:0}.phead__fig{display:none}.phead__txt{padding-bottom:36px}}
@media (max-width:640px){.facts{grid-template-columns:minmax(0,1fr);gap:6px}.facts>div{padding:12px 14px}}

/* legacy dark banner (kept for a few pages) */
.pb{position:relative;background:var(--ink);color:#fff;min-height:clamp(360px,44vh,520px);display:flex;align-items:flex-end;overflow:hidden;padding-top:var(--hdr)}
.pb__media{position:absolute;inset:0}
.pb__media img{width:100%;height:100%;object-fit:cover;opacity:.5}
.pb__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(33,28,25,.96) 0%,rgba(33,28,25,.5) 60%,rgba(33,28,25,.3) 100%)}
.pb--plain .pb__shade{background:radial-gradient(1000px 420px at 85% -10%,rgba(180,140,76,.2),transparent 60%)}
.pb__in{position:relative;z-index:2;width:100%;padding-bottom:clamp(40px,5vw,64px)}
.pb .crumb{color:rgba(255,255,255,.62);margin-bottom:22px}
.pb .crumb b,.pb .crumb a:hover{color:#fff}
.pb__copy{font-family:var(--kserif);font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.25;letter-spacing:-.025em;max-width:22ch}
.pb__copy span{display:block}
.pb__copy span+span{color:var(--brass-soft)}
.ahead{padding:clamp(48px,6vw,80px) 0 clamp(20px,3vw,36px)}
.ahead__t{font-family:var(--kserif);font-weight:500;font-size:clamp(26px,3.2vw,42px);line-height:1.3;letter-spacing:-.02em}
.def{margin-top:24px;padding:26px 30px;background:var(--white);border-left:2px solid var(--brass);font-size:clamp(16.5px,1.3vw,19px);line-height:1.85;color:var(--text)}

/* ---------- article layout ---------- */
.art{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:56px;align-items:start;padding-top:clamp(28px,3.5vw,48px);padding-bottom:clamp(64px,8vw,104px)}
.art__main .prose{max-width:880px}
.art__main .faq__a{max-width:840px}
.art__main .tl p{max-width:none}
.art__aside{position:sticky;top:calc(var(--hdr) + 28px);order:2}
.art__main{min-width:0}
.toc{border-top:1px solid var(--ink);padding-top:16px}
.toc__t{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2);margin-bottom:10px}
.toc a{display:flex;gap:10px;align-items:baseline;padding:7px 0;font-size:13.5px;color:var(--text-2);border-bottom:1px solid var(--line);transition:color .2s;line-height:1.5}
.toc a i{font-family:var(--serif);font-style:italic;font-size:12.5px;color:var(--brass-2);min-width:20px}
.toc a:hover,.toc a.is-active{color:var(--ink);font-weight:600}
.toc__cta{margin-top:22px;padding:22px;background:var(--teal);color:#fff;border-radius:var(--r)}
.toc__cta b{display:block;font-family:var(--kserif);font-size:17px;font-weight:500;margin-bottom:6px}
.toc__cta p{font-size:13px;color:rgba(255,255,255,.78);line-height:1.6}
.toc__cta .btn{margin-top:14px;width:100%}
.toc-m{display:none;border:1px solid var(--line);background:var(--white);margin:0 0 28px;padding:0 18px}
.toc-m summary{cursor:pointer;padding:13px 0;font-size:14.5px;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m summary::after{content:"+";font-family:var(--serif);color:var(--brass-2);font-size:20px}
.toc-m[open] summary::after{content:"−"}
.toc-m ol{margin:0 0 14px;padding:0;counter-reset:tm}
.toc-m li a{display:block;padding:6px 0;font-size:14px;color:var(--text-2);border-top:1px solid var(--line)}
.toc-m li a::before{counter-increment:tm;content:counter(tm,decimal-leading-zero) " ";font-family:var(--serif);font-style:italic;color:var(--brass-2);margin-right:8px}
@media (max-width:1060px){.art{grid-template-columns:minmax(0,1fr);gap:0}.art__aside{display:none}.toc-m{display:block}}

.art__main>section{padding:clamp(36px,4.5vw,56px) 0;border-top:1px solid var(--line)}
.art__main>section:first-child{border-top:0;padding-top:8px}
.sec-h{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:baseline;margin-bottom:24px}
.sec-h i{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--brass-2);font-weight:500;line-height:1}
.sec-h h2{font-family:var(--kserif);font-weight:500;font-size:clamp(21px,2.2vw,29px);letter-spacing:-.02em;line-height:1.35;text-wrap:balance}
.prose{color:var(--text-2);max-width:760px}
.prose p{margin-bottom:1.05em}
.prose p:last-child{margin-bottom:0}
.prose h3{font-family:var(--kserif);font-weight:500;font-size:20px;color:var(--text);margin:34px 0 12px;letter-spacing:-.015em}
.prose h3:first-child{margin-top:0}
.prose h4{font-size:16px;font-weight:600;color:var(--text);margin:24px 0 8px}
.prose ul,.prose ol{margin:0 0 1.1em}
.prose ul li{position:relative;padding-left:20px;margin-bottom:8px}
.prose ul li::before{content:"";position:absolute;left:0;top:.82em;width:8px;height:1px;background:var(--brass)}
.prose ol{counter-reset:pl}
.prose ol li{position:relative;padding-left:30px;margin-bottom:8px}
.prose ol li::before{counter-increment:pl;content:counter(pl);position:absolute;left:0;top:0;font-family:var(--serif);font-style:italic;color:var(--brass-2);font-size:16px}
.prose li ul,.prose li ol{margin:6px 0 4px}
.prose a:not(.btn):not(.link){color:var(--teal);border-bottom:1px solid rgba(62,93,90,.35);transition:border-color .2s}
.prose a:not(.btn):not(.link):hover{border-color:var(--teal)}
.prose a.ext{word-break:break-all;font-size:.93em}
.prose blockquote{border-left:2px solid var(--brass);background:var(--white);padding:22px 26px;margin:22px 0}
.prose blockquote p{font-family:var(--kserif);font-weight:500;color:var(--text);font-size:18px}
.prose blockquote ol li::before{color:var(--brass-2)}
.prose blockquote>*:last-child{margin-bottom:0}
.prose strong{color:var(--text)}
sup.cite{font-size:.7em;line-height:0;vertical-align:super}
sup.cite a{color:var(--brass-2)!important;border:0!important;padding:0 1px}

/* dual (expert / plain) */
.dual{border:1px solid var(--line);margin:22px 0;background:var(--white);border-radius:var(--r);overflow:hidden}
.dual__pro{padding:22px 26px 16px}
.dual__pro p,.dual__pro li,.dual__pro td{font-size:14.5px;line-height:1.8}
.dual__pro>*:last-child{margin-bottom:0}
.dual__tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:.06em;color:var(--brass-2);border:1px solid var(--brass-soft);padding:1px 9px;border-radius:999px;margin-bottom:12px;line-height:1.8;font-weight:700}
.dual__tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brass)}
.dual__plain{background:var(--teal-soft);border-top:1px solid #d3e0dc;padding:18px 26px}
.dual__plain p{color:var(--text);font-size:15.5px;margin:0}
.dual__plain b{color:var(--teal-2);font-weight:700}
.dual__plain b::before{content:"\201C";font-family:var(--serif);color:var(--teal);margin-right:2px}
.dual__pro .pending-note{display:none}

/* urgent */
.urgent{border:1px solid #e3c2b8;border-left:3px solid var(--alert);background:#fdf7f5;padding:22px 26px;margin:26px 0}
.urgent h3{margin:0 0 12px!important;font-family:var(--sans)!important;font-weight:700!important;font-size:16.5px!important;color:var(--alert)!important;display:flex;align-items:center;gap:10px}
.urgent h3::before{content:"!";width:22px;height:22px;border-radius:50%;background:var(--alert);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center;flex:0 0 auto}
.urgent ul li::before{background:var(--alert)}
.urgent p:last-child{margin-bottom:0}
.urgent .tel{font-weight:700;color:var(--text)}

/* tables */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0 22px}
.tbl{width:100%;border-collapse:collapse;min-width:520px;background:var(--white);font-size:14.5px}
.tbl th{font-size:12.5px;letter-spacing:.04em;color:var(--muted);font-weight:700;text-align:left;padding:12px 14px;border-bottom:1px solid var(--ink);white-space:nowrap;background:var(--paper)}
.tbl td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-2);line-height:1.7}
.tbl td:first-child{font-weight:600;color:var(--text);white-space:nowrap}
.tbl tr:hover td{background:#fcfbf8}
@media (max-width:640px){.tbl td:first-child{white-space:normal;min-width:6em}}

/* faq */
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:30px minmax(0,1fr) 28px;gap:14px;align-items:baseline;padding:20px 0;font-family:var(--kserif);font-size:17.5px;font-weight:500;letter-spacing:-.01em;transition:color .2s;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--brass-2)}
.faq summary::after{content:"+";font-family:var(--serif);font-size:26px;color:var(--brass-2);text-align:right;transition:transform .3s var(--ease);line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] summary{color:var(--brass-2)}
.faq__a{padding:0 0 24px 44px;color:var(--text-2);font-size:15.5px;max-width:740px}
.faq__a p{margin-bottom:8px}
.faq__a p:last-child{margin-bottom:0}
@media (max-width:640px){.faq summary{grid-template-columns:24px 1fr 24px;font-size:16px}.faq__a{padding-left:38px}}

/* references */
.refs__t{font-size:13.5px;font-weight:700;color:var(--text);margin:18px 0 8px}
.refs ol{counter-reset:rf;font-size:13.5px;line-height:1.75;color:var(--muted)}
.refs ol li{position:relative;padding:8px 0 8px 32px;border-bottom:1px solid var(--line)}
.refs ol li::before{counter-increment:rf;content:"[" counter(rf) "]";position:absolute;left:0;top:8px;font-family:var(--serif);font-style:italic;color:var(--brass-2)}
.refs ol li:target{background:#fff6d6;outline:6px solid #fff6d6}
.refs a{color:var(--teal);word-break:break-all;border-bottom:1px solid rgba(62,93,90,.3)}

/* related */
.rel-h{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2);margin-bottom:14px}
.rel{display:flex;gap:8px;flex-wrap:wrap}
.rel a{padding:10px 16px;background:var(--white);border:1px solid var(--line);font-size:14px;transition:.2s;border-radius:var(--r)}
.rel a:hover{border-color:var(--brass);color:var(--brass-2)}
.rel a.is-current{background:var(--ink);color:#fff;border-color:var(--ink)}
.author{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:center;padding:24px 26px;background:var(--white);border:1px solid var(--line);margin-top:8px}
.author img{width:110px;height:110px;object-fit:cover;object-position:18% 30%;border-radius:50%}
.author b{display:block;font-family:var(--kserif);font-weight:500;font-size:18px}
.author p{font-size:14px;color:var(--text-2);margin-top:4px}
.author .link{margin-top:10px;font-size:13px}
@media (max-width:560px){.author{grid-template-columns:minmax(0,1fr)}.author img{width:88px;height:88px}}

/* ---------- cards / lists ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--white);border:1px solid var(--line);padding:26px 26px 22px;display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s;border-radius:var(--r)}
.card:hover{transform:translateY(-4px);border-color:var(--brass);box-shadow:0 20px 40px rgba(33,28,25,.08)}
.card small{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2)}
.card b{font-family:var(--kserif);font-weight:500;font-size:19px;letter-spacing:-.01em}
.card p{font-size:14.5px;color:var(--text-2);flex:1}
.card .link{align-self:flex-start;margin-top:8px;font-size:13px}
.cards--2{grid-template-columns:repeat(2,1fr)}.cards--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.cards,.cards--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards,.cards--2,.cards--4{grid-template-columns:minmax(0,1fr)}}
.plist__g{margin:40px 0 14px;display:flex;align-items:center;gap:16px;font-family:var(--kserif);font-size:17px;font-weight:600;color:var(--ink)}
.plist__g small{font-family:var(--serif);font-style:italic;font-weight:400;font-size:13.5px;color:var(--brass-2)}
.plist__g::after{content:"";flex:1;height:1px;background:var(--line-2)}
.plist__g:first-child{margin-top:0}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.steps li{padding:26px 22px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.steps i{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--brass-2);display:block;line-height:1;margin-bottom:16px}
.steps b{display:block;font-family:var(--kserif);font-weight:500;font-size:18px;margin-bottom:8px;letter-spacing:-.01em}
.steps p{font-size:14px;color:var(--text-2)}
.steps--3{grid-template-columns:repeat(3,1fr)}.steps--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.steps,.steps--3,.steps--4{grid-template-columns:minmax(0,1fr)}}
.approach{display:grid;gap:0;border-top:1px solid var(--ink)}
.approach>li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.approach>li>i{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--brass-2);line-height:1.1}
.approach b{display:block;font-family:var(--kserif);font-weight:500;font-size:19px;margin-bottom:6px;letter-spacing:-.01em}
.approach p{color:var(--text-2);font-size:15px}
@media (max-width:640px){.approach>li{grid-template-columns:40px 1fr}}
.info{display:grid;gap:20px;margin-top:26px}
.info dt{font-size:12px;letter-spacing:.04em;color:var(--brass-2);font-weight:700;margin-bottom:4px}
.info dd{font-size:16px;color:var(--text)}
.info dd small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.notice-bar{background:var(--white);border:1px solid var(--line-2);padding:16px 20px;font-size:13.5px;color:var(--text-2);display:flex;gap:12px;align-items:flex-start;border-radius:var(--r)}
.notice-bar::before{content:"※";color:var(--brass-2);flex:0 0 auto}
.quoteblock{padding-block:clamp(40px,5vw,64px);text-align:center}
.quoteblock p{font-family:var(--kserif);font-weight:500;font-size:clamp(22px,2.6vw,32px);line-height:1.5;letter-spacing:-.02em;max-width:24ch;margin:0 auto;text-wrap:balance}
.quoteblock__mark{width:30px;margin:0 auto 20px;color:var(--brass)}
.quoteblock__mark svg{display:block;width:100%;height:auto}
.quoteblock small{display:block;margin-top:16px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.split--rev>:first-child{order:2}
.split__img{overflow:hidden;position:relative}
.split__img img{width:100%;height:100%;object-fit:cover}
.split__img--tall{aspect-ratio:4/5}
.split__img--wide{aspect-ratio:4/3}
.split__img figcaption{position:absolute;left:0;bottom:0;padding:10px 14px;background:rgba(33,28,25,.72);color:#fff;font-size:12px;letter-spacing:.04em}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}.split--rev>:first-child{order:0}}

/* forms */
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form label{display:block;font-size:12.5px;letter-spacing:.04em;color:var(--text-2);font-weight:700;margin-bottom:8px}
.form label i{color:var(--brass-2);font-style:normal;margin-left:4px}
.form input,.form select,.form textarea{width:100%;height:52px;border:1px solid var(--line-2);background:var(--white);padding:0 16px;font:inherit;font-size:15.5px;color:var(--text);border-radius:var(--r);transition:border-color .25s;-webkit-appearance:none}
.form textarea{height:180px;padding:14px 16px;resize:vertical;line-height:1.7}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--brass)}
.form__etc{margin-top:8px}
.form__consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text-2);cursor:pointer}
.form__consent input{width:20px;height:20px;margin:3px 8px 0 0;flex:0 0 auto;padding:0;-webkit-appearance:checkbox;appearance:auto;accent-color:var(--brass-2);cursor:pointer}   /* 2026-10-19 .form input 의 appearance:none 을 풀어 체크 표시가 보이게 */
.form__msg{padding:16px 20px;border:1px solid var(--brass);background:#fdfaf3;font-size:14.5px;display:none}
.form__msg.is-show{display:block}
.form .btn{justify-self:start}
@media (max-width:640px){.form__row{grid-template-columns:minmax(0,1fr)}}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,5vw,72px);align-items:start}
.contact-aside{background:var(--white);border:1px solid var(--line);padding:30px}
.contact-aside h3{font-family:var(--kserif);font-weight:500;font-size:20px;margin-bottom:14px}
.contact-aside .info{margin-top:0}
.contact-aside .btn{width:100%;margin-top:18px}
@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.transit{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.transit div{background:var(--white);border:1px solid var(--line);padding:24px 26px}
.transit b{display:block;font-size:12px;letter-spacing:.06em;color:var(--brass-2);font-weight:700;margin-bottom:8px}
.transit p{font-size:15px;color:var(--text-2)}
@media (max-width:760px){.transit{grid-template-columns:minmax(0,1fr)}}
.stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.station{border:1px solid var(--line);background:var(--white);padding:24px 26px}
.station__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.station__head b{font-family:var(--kserif);font-weight:500;font-size:20px;color:var(--text)}
.station__head span{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--brass-2)}
.station__meta{margin-top:6px;font-size:14px;color:var(--text-2)}
.station__route{margin-top:14px;padding-inline-start:20px;list-style:decimal;font-size:14.5px;line-height:1.75;color:var(--text)}
.station__route li+li{margin-top:4px}
.station__route li::marker{color:var(--brass-2);font-weight:600}
@media (max-width:760px){.stations{grid-template-columns:minmax(0,1fr)}.station{padding:20px}}
.ytgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ytgrid figure{background:var(--white);border:1px solid var(--line)}
.ytgrid .ratio{aspect-ratio:16/9;background:var(--ink)}
.ytgrid iframe{width:100%;height:100%;border:0}
.ytgrid figcaption{padding:16px 20px;font-size:15px;line-height:1.5}
@media (max-width:760px){.ytgrid{grid-template-columns:minmax(0,1fr)}}
.prep{padding:28px 30px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--brass);max-width:760px}
.prep b{display:block;font-family:var(--kserif);font-weight:500;font-size:19px;margin-bottom:8px}
.prep p{font-size:15px;color:var(--text-2)}

/* ---------- cta band ---------- */
.cta{background:var(--teal);color:#fff;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 380px at 10% 120%,rgba(180,140,76,.28),transparent 60%)}
.cta__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:clamp(60px,7vw,96px)}
.cta__t{font-family:var(--kserif);font-weight:500;font-size:clamp(26px,3.2vw,42px);line-height:1.3;letter-spacing:-.02em;text-wrap:balance}
.cta__t em{font-style:normal;color:var(--brass-soft)}
.cta__d{margin-top:16px;color:rgba(255,255,255,.76);max-width:520px;font-size:15.5px}
.cta__acts{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta__tel{font-family:var(--serif);font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:.01em;line-height:1;color:#fff}
.cta__tel small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--brass-soft);margin-bottom:12px;font-weight:600}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.cta .btn--gold{color:var(--ink)}
@media (max-width:860px){.cta__in{grid-template-columns:minmax(0,1fr)}}

/* ---------- footer ---------- */
.ftr{background:#1b1714;color:rgba(255,255,255,.72);font-size:14px;border-top:1px solid var(--line-dark)}
.ftr__top{padding:clamp(48px,5.5vw,68px) 0 36px}
.ftr .logo{margin-bottom:18px}
.ftr__info p.ftr__sig{margin:-6px 0 20px;font-family:var(--kserif);font-size:16.5px;line-height:1.5;color:var(--brass-soft)}
.ftr__info p{margin-bottom:8px;line-height:1.7}
.ftr__info a{border-bottom:1px solid rgba(255,255,255,.2)}
.ftr__social{display:flex;gap:10px;margin-top:18px}
.ftr__social a{width:40px;height:40px;border:1px solid var(--line-dark);border-radius:50%;display:grid;place-items:center;transition:border-color .25s,color .25s}
.ftr__social a:hover{border-color:var(--brass);color:var(--brass)}
.ftr__social svg{width:16px;height:16px;fill:currentColor}
.ftr__bot{border-top:1px solid var(--line-dark);padding:22px 0 30px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.45)}
.ftr__legal{display:flex;gap:18px;flex-wrap:wrap}
.ftr__legal a:hover{color:#fff}
.ftr__cert{opacity:.85}
/* 로고 아래 병원 정보: 항목을 | 로 구분한 줄 (좁은 화면은 항목마다 한 줄) */
.ftr__lines{font-size:13px;line-height:1.9;color:rgba(255,255,255,.55)}
.ftr__lines li span+span::before{content:"|";margin:0 10px;color:rgba(255,255,255,.25)}
.ftr__lines a{color:rgba(255,255,255,.72)}
@media (max-width:640px){.ftr__lines li{margin-bottom:6px}.ftr__lines li span{display:block}.ftr__lines li span+span::before{content:none}}

/* ---------- floating quick actions ---------- */
.quick{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;gap:10px}
.quick a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px rgba(33,28,25,.22);transition:transform .3s var(--ease)}
.quick a:hover{transform:translateY(-3px)}
.quick__kakao{background:#fae100;color:#3c1e1e !important}
.quick__tel{background:var(--teal)}
.quick__top{background:#fff;color:var(--ink) !important;border:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .3s}
.quick__top.is-show{opacity:1;pointer-events:auto}
.quick svg{width:22px;height:22px;fill:currentColor}
@media (max-width:760px){
  .quick{right:14px;bottom:14px;gap:8px;transition:transform .35s var(--ease),opacity .3s}
  .quick a{width:46px;height:46px;box-shadow:0 8px 20px rgba(33,28,25,.2)}
  .quick svg{width:19px;height:19px}
  .quick.is-idle{transform:translateY(150%);opacity:0;pointer-events:none}
}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- misc ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);background:var(--brass);color:var(--ink);padding:10px 16px;z-index:200}
.skip:focus{width:auto;height:auto;clip-path:none;top:16px;inset-inline-start:16px}
.hero__t,.pb__copy,.sh__t,.display,.cta__t,.ahead__t,.phead__t,.h-doc__t,.h-prin__motto,.quoteblock p{text-wrap:balance}
.legal-note{font-size:13px;color:var(--muted);line-height:1.8;padding:18px 20px;border:1px dashed var(--line-2);margin-top:26px}

/* ---------- pending (hospital review) ----------
   Items awaiting the clinic's confirmation are invisible to visitors.
   Append ?review=1 to any URL to reveal them. */
.pending--empty{display:none}
html.is-review .pending{outline:2px dashed #d9b33c;outline-offset:3px;background:rgba(243,215,122,.14)}
html.is-review .pending--empty{display:block}
html.is-review tr.pending--empty{display:table-row}
html.is-review li.pending--empty{display:list-item}
html.is-review .pending::before{content:"확인 대기 · " attr(data-who);display:inline-block;font-size:11px;font-weight:700;color:#5e4b12;background:#fff3c4;border:1px solid #e5cc6b;padding:0 7px;border-radius:9px;margin:0 6px 4px 0;line-height:1.7;font-family:var(--sans);letter-spacing:0;vertical-align:middle}
html.is-review tr.pending::before{content:none}
html.is-review .pending--empty::before{content:"확인 대기 · " attr(data-who) " — " attr(data-note)}
.review-badge{display:none;position:fixed;left:18px;bottom:18px;z-index:85;background:#2e2c27;color:#f3d77a;font-size:12.5px;padding:8px 12px;border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
html.is-review .review-badge{display:block}
.review-badge a{color:#fff;margin-left:10px;text-decoration:underline}

/* ---------- photo groups become horizontal swipe galleries on phones ---------- */
@media (max-width:760px){
  .yt{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .yt::-webkit-scrollbar{display:none}
  .yt>*{flex:0 0 84%;min-width:0;scroll-snap-align:start}
}
.swipe{position:relative}
.swipe__btn{display:none}
.swipe__btn[hidden]{display:none!important}
@media (max-width:760px){
  .swipe.is-swipe .swipe__btn{display:grid;place-items:center;position:absolute;top:50%;z-index:3;width:40px;height:40px;margin-top:-20px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 2px 12px rgba(33,28,25,.22);cursor:pointer}
  .swipe__prev{inset-inline-start:8px}
  .swipe__next{inset-inline-end:8px}
  .swipe__btn svg{width:18px;height:18px}
  .swipe__next svg{transform:scaleX(-1)}
}

/* comparison tables become cards on phones */
@media (max-width:640px){
  .tblwrap{overflow:visible}
  .tbl{min-width:0;background:none;font-size:14.5px}
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .tbl:not(.tbl--kv),.tbl:not(.tbl--kv) tbody,.tbl:not(.tbl--kv) tr,.tbl:not(.tbl--kv) td{display:block;width:100%}
  .tbl:not(.tbl--kv) tr{background:var(--white);border:1px solid var(--line);padding:16px 16px 8px;margin-bottom:10px}
  .tbl:not(.tbl--kv) td{border:0;padding:0 0 10px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;white-space:normal}
  .tbl:not(.tbl--kv) td::before{content:attr(data-label);font-size:12px;letter-spacing:.02em;color:var(--muted);font-weight:600;line-height:1.75}
  .tbl:not(.tbl--kv) td:first-child{display:block;font-size:16.5px;white-space:normal;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}
  .tbl:not(.tbl--kv) td:first-child::before{content:none}
  .tbl:not(.tbl--kv) td[data-label=""]::before{content:none}
  .tbl tr:hover td{background:none}
  .tbl--kv{min-width:0;background:var(--white);border:1px solid var(--line);font-size:14px}
  .tbl--kv thead{position:static;width:auto;height:auto;clip-path:none}
  .tbl--kv th{padding:10px 12px;font-size:12px}
  .tbl--kv td{padding:10px 12px;white-space:normal}
  .tbl--kv td:first-child{width:32%;font-size:14px;white-space:normal}
}
@media (max-width:760px){
  .ftr__legal a{padding-block:9px}
  .ftr__info a[href^="tel"],.cta__tel{display:inline-block;padding-block:6px}
  .crumb a{padding-block:6px}
}

/* ==========================================================================
   Carried-over components (기존 페이지 섹션) — restyled to the new palette
   ========================================================================== */
.phead__tag{margin-top:12px;font-family:var(--kserif);font-weight:500;font-size:clamp(16px,1.4vw,19px);line-height:1.5;color:var(--brass-2);letter-spacing:-.01em}
.legacy{margin-top:34px;padding-top:26px;border-top:1px dashed var(--line-2)}
.legacy__t{font-family:var(--kserif);font-weight:500;font-size:20px;letter-spacing:-.015em;line-height:1.4;margin-bottom:18px;color:var(--text)}
.legacy__t small{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:13.5px;color:var(--brass-2);margin-bottom:4px;letter-spacing:.02em}
.legacy .prose{max-width:none}
.legacy .caution{margin-top:22px}
.legacy .quoteblock{padding-block:10px 30px}
/* who */
.who{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 32px}
.who li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--text-2)}
.who li::before{content:"";flex:0 0 auto;width:20px;height:20px;border:1px solid var(--brass);border-radius:50%;background:radial-gradient(circle,var(--brass) 0 3px,transparent 3.5px);margin-top:5px}
@media (max-width:640px){.who{grid-template-columns:minmax(0,1fr)}}
/* methods */
.methods{display:grid;gap:16px}
.method{background:var(--white);padding:26px 28px;border:1px solid var(--line);display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;transition:border-color .3s;border-radius:var(--r)}
.method:hover{border-color:var(--brass)}
.method__n{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--brass-2);line-height:1}
.method__t{font-family:var(--kserif);font-weight:500;font-size:19px;margin-bottom:8px;letter-spacing:-.01em}
.method__d{color:var(--text-2);font-size:15px}
.method__fit{margin-top:12px;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--brass-2);font-weight:600}
.method__fit::before{content:"";width:14px;height:1px;background:var(--brass)}
.method .ecase__imgs img{border:1px solid var(--line)}
@media (max-width:640px){.method{grid-template-columns:minmax(0,1fr);gap:10px;padding:22px}}
/* timeline */
.tl{position:relative;padding-left:32px}
.tl::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--line-2)}
.tl li{position:relative;padding:0 0 26px}
.tl li::before{content:"";position:absolute;left:-32px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1px solid var(--brass);box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 6px var(--brass)}
.tl b{display:block;font-size:12.5px;letter-spacing:.06em;color:var(--brass-2);font-weight:700;margin-bottom:6px}
.tl p{color:var(--text-2);font-size:15.5px;max-width:640px}
.tl li:last-child{padding-bottom:0}
/* caution */
.caution{border:1px solid var(--line-2);background:#fbf9f4;padding:26px 30px;position:relative;border-radius:var(--r)}
.caution::before{content:"부작용 · 주의사항";position:absolute;top:-10px;left:22px;background:#fbf9f4;padding:0 10px;font-size:12px;letter-spacing:.06em;color:var(--brass-2);font-weight:700}
.caution p{font-size:15px;color:var(--text-2)}
.caution__law{margin-top:14px;font-size:13px;color:var(--muted);padding-top:12px;border-top:1px dashed var(--line-2)}
/* ecase */
.ecase__quote{margin:-4px 0 12px;font-family:var(--kserif);font-weight:500;font-size:clamp(19px,2vw,24px);line-height:1.5;letter-spacing:-.02em;color:var(--brass-2);text-align:center;text-wrap:balance}
.ecase{margin-top:14px;padding:clamp(30px,4vw,48px) clamp(16px,3vw,36px);background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.ecase--tint{background:var(--white);border:1px solid var(--line)}
.ecase__t{margin-bottom:26px;font-family:var(--kserif);font-weight:500;font-size:clamp(20px,2.2vw,27px);line-height:1.45;letter-spacing:-.02em;text-align:center;text-wrap:balance}
.ecase__t::before,.ecase__t::after{content:"\201C";display:block;height:24px;font-family:var(--serif);font-size:48px;line-height:1;color:var(--brass)}
.ecase__t::before{margin-bottom:10px}
.ecase__t::after{content:"\201D";margin-top:12px}
.ecase>:not(.ecase__t)+*{margin-top:26px}
.ecase__photo{margin:0}
.ecase__photo img{width:100%;height:auto}
.ecase__photo figcaption{display:flex;justify-content:flex-end}
.ecase__photo figcaption span{padding:7px 18px 7px 72px;background:linear-gradient(90deg,rgba(74,64,58,0),#4a403a 55%);color:#fff;font-size:13px;letter-spacing:.02em}
.ecase__row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,3vw,36px);align-items:center}
@media (min-width:641px){.ecase__row:has(.ecase__illus figure+figure){grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
.ecase__illus{display:flex;justify-content:center;gap:10px}
.ecase__illus figure{margin:0;flex:0 1 auto;min-width:0;display:flex;flex-direction:column}
.ecase__illus figcaption{flex:1}
.ecase__illus img{height:auto}
.ecase__illus figcaption,.ecase__imgs figcaption{padding:7px 10px;background:var(--stone);color:#fff;font-size:12.5px;line-height:1.45;text-align:center}
.ecase__text p{color:var(--text-2);font-size:15.5px}
.ecase__text p+p{margin-top:14px}
.ecase__text .ecase__lead{color:var(--text);font-weight:600}
.ecase__text--c{max-width:62ch;margin-inline:auto;text-align:center}
.ecase__points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;padding:0;list-style:none}
.ecase__points li{display:flex;align-items:baseline;gap:8px;font-size:15.5px;color:var(--text)}
.ecase__points li::before{content:"\2713";color:var(--brass-2);font-weight:700}
.ecase__link{text-align:center}
.ecase__imgs{display:flex;gap:10px;justify-content:center}
.ecase__imgs figure{margin:0;min-width:0;display:flex;flex-direction:column;max-width:560px}
.ecase__imgs img{width:100%;height:auto}
.ecase__note{margin-top:22px;font-size:13px;color:var(--brass-2);text-align:center}
@media (max-width:640px){.ecase__row{grid-template-columns:minmax(0,1fr)}.ecase__imgs{flex-direction:column}.ecase__imgs figure{flex:none!important}}
/* gal / figs */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gal figure{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2);border-radius:var(--r)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:0;bottom:0;right:0;padding:12px 14px;background:linear-gradient(to top,rgba(33,28,25,.82),transparent);color:#fff;font-size:13px;letter-spacing:.02em}
.gal--2{grid-template-columns:repeat(2,1fr)}.gal--4{grid-template-columns:repeat(4,1fr)}
.gal--steps figure{aspect-ratio:auto;background:var(--white);border:1px solid var(--line)}
.gal--steps img{height:auto;transition:none}
.gal--steps figure:hover img{transform:none}
.gal--steps figcaption{position:static;background:none;color:var(--text-2);padding:12px 14px 14px;font-size:14px;line-height:1.55;border-top:1px solid var(--line)}
.gal--steps figcaption b{color:var(--brass-2)!important}
@media (max-width:1024px){.gal--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.gal{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.gal--2,.gal--4{grid-template-columns:1fr}}
.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:16px}
.figs__i{margin:0;display:flex;flex-direction:column;background:var(--paper-2);border-radius:var(--r);overflow:hidden}
.figs__i--wide,.figs__i:only-child{grid-column:1/-1}
.figs__i>a{flex:1;display:grid;place-items:center;padding:14px}
.figs__i img{height:auto}
.figs__i figcaption{padding:10px 14px 12px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}
.figs__note{margin-top:14px;font-size:13px;color:var(--muted)}
/* decide (guide) */
.decide{display:grid;gap:16px}
.decide__item{background:var(--white);border:1px solid var(--line);padding:30px 32px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;border-radius:var(--r)}
.decide__q{font-family:var(--kserif);font-weight:500;font-size:21px;letter-spacing:-.015em;line-height:1.35}
.decide__q small{display:block;font-family:var(--sans);font-size:14.5px;color:var(--text-2);font-weight:400;margin-top:10px;line-height:1.75}
.decide__opts{display:grid;gap:10px;align-content:start}
.decide__opts a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 16px;border:1px solid var(--line);transition:border-color .25s,background .25s;border-radius:var(--r)}
.decide__opts a:hover{border-color:var(--brass);background:#fdfcf9}
.decide__opts b{font-family:var(--kserif);font-weight:500;font-size:16px;white-space:nowrap}
.decide__opts span{font-size:13.5px;color:var(--text-2)}
@media (max-width:640px){.decide__opts a{grid-template-columns:minmax(0,1fr);gap:4px}.decide__opts b{white-space:normal}}
@media (max-width:768px){.decide__item{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}}
/* plist grid */
.plist{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.plist a{padding:24px 24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;gap:8px;transition:background .25s}
.plist a:hover{background:#fdfcf9}
.plist b{font-family:var(--kserif);font-weight:500;font-size:18px;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center}
.plist b::after{content:"→";font-family:var(--serif);color:var(--brass-2);font-weight:400;font-size:20px;opacity:0;transform:translateX(-6px);transition:all .3s var(--ease)}
.plist a:hover b::after{opacity:1;transform:none}
.plist p{font-size:14px;color:var(--text-2)}
@media (max-width:1024px){.plist{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.plist{grid-template-columns:minmax(0,1fr)}}
/* talks (column links) */
.talks{border-top:1px solid var(--ink)}
.talks a{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.talks small{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2)}
.talks b{font-family:var(--kserif);font-weight:500;font-size:16.5px;line-height:1.45}
.talks svg{width:16px;height:16px;color:var(--brass-2)}
@media (max-width:640px){.talks a{grid-template-columns:minmax(0,1fr) auto}.talks small{display:none}}
/* news */
.news{border-top:1px solid var(--ink)}
.news li{border-bottom:1px solid var(--line)}
.news a{display:block;padding:16px 0}
.news small{font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--brass-2)}
.news b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px;margin-top:4px;line-height:1.45}
.news span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px}
.media{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
@media (max-width:900px){.media{grid-template-columns:minmax(0,1fr)}}
/* fields (스페셜 photo cards) */
.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fields--5{grid-template-columns:repeat(5,1fr)}
.field{position:relative;aspect-ratio:3/4.2;overflow:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px;border-radius:var(--r)}
.field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform 1.2s var(--ease),opacity .6s}
.field::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,19,16,.95) 0%,rgba(24,19,16,.35) 55%,rgba(24,19,16,.1) 100%)}
.field:hover img{transform:scale(1.06);opacity:.9}
.field>*{position:relative}
.field small{font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--brass-soft);letter-spacing:.02em}
.field b{font-family:var(--kserif);font-weight:500;font-size:23px;margin-top:8px;letter-spacing:-.02em}
.field p{margin-top:8px;font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.6}
.field .link{margin-top:16px;font-size:12.5px}
@media (max-width:1024px){.fields,.fields--5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.fields,.fields--5{grid-template-columns:minmax(0,1fr)}.field{aspect-ratio:auto;min-height:300px}}
/* cv, acad */
.cv{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.cv__t{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.cv li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-2)}
.cv li b{font-family:var(--serif);font-weight:500;color:var(--brass-2);font-size:15px}
.cv li.is-1col{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.cv{grid-template-columns:minmax(0,1fr)}}
/* misc carried-over */
.ptabs{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 30px}
.ptabs a{height:40px;padding:0 18px;border:1px solid var(--line-2);border-radius:999px;font-size:13.5px;color:var(--text-2);display:inline-flex;align-items:center;transition:all .25s}
.ptabs a.is-active,.ptabs a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.logos{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:center;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--text-2)}
.logos span{display:inline-flex;align-items:center;gap:8px}
.logos span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brass)}
.steps--5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1024px){.steps--5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.steps--5{grid-template-columns:minmax(0,1fr)}}
.cards--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1024px){.cards--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards--3{grid-template-columns:minmax(0,1fr)}}
.related-h{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2);margin-bottom:14px}
.lead small{display:block;margin-top:4px}
.h-intro__body{color:var(--text-2)}
/* four principles row (기존 페이스플러스의 원칙) */
.prin4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.prin4 li{background:var(--white);border:1px solid var(--line);padding:22px 22px 20px;border-radius:var(--r)}
.prin4 i{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2)}
.prin4 b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px;margin:6px 0 6px;letter-spacing:-.01em}
.prin4 p{font-size:13.5px;color:var(--text-2);line-height:1.65}
@media (max-width:1024px){.prin4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.prin4{grid-template-columns:minmax(0,1fr)}}
/* dark doctor section (home) */
.h-doctor{background:var(--ink);color:#ece7df;overflow:hidden;position:relative}
.h-doctor::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 420px at 0% 100%,rgba(180,140,76,.14),transparent 60%)}
.h-doctor .wrap{position:relative}
.h-doctor__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,6vw,88px);align-items:center}
.h-doctor__img{position:relative;aspect-ratio:4/5;overflow:hidden}
.h-doctor__img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:saturate(.92)}
.h-doctor__img::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(180,140,76,.5);transform:translate(14px,14px);pointer-events:none}
.h-doctor .eyebrow{color:var(--brass-soft)}
.h-doctor__t{font-family:var(--kserif);font-weight:500;font-size:clamp(26px,3.2vw,42px);line-height:1.28;letter-spacing:-.025em;margin-top:18px;color:#fff;text-wrap:balance}
.h-doctor__lead{margin-top:20px;color:rgba(255,255,255,.76);max-width:560px}
.h-doctor__name{margin-top:22px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.h-doctor__name b{font-family:var(--kserif);font-size:21px;font-weight:500;color:#fff}
.h-doctor__name span{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:16px}
.h-doctor .cvgrid>div{border-top-color:rgba(255,255,255,.35)}
.h-doctor .cvgrid h3{color:var(--brass)}
.h-doctor .cvgrid li{border-bottom-color:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}
.h-doctor .cvgrid .yr{color:rgba(255,255,255,.5)}
@media (max-width:900px){.h-doctor__grid{grid-template-columns:minmax(0,1fr)}.h-doctor__img{max-width:520px;aspect-ratio:4/3}}
/* principles section: two-column head */
.h-prin__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,72px);align-items:start}
.h-prin__body{margin-top:22px;color:var(--text-2)}
.prin3--stack{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--ink)}
.prin3--stack li{padding:22px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 16px;align-items:start}
.prin3--stack li+li{padding-left:0}
.prin3--stack li:last-child{border-bottom:0}
.prin3--stack i{font-size:30px;grid-row:span 2}
.prin3--stack p{grid-column:2}
@media (max-width:900px){.h-prin__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- hero video slider (home) ---------- */
.hero--slider .hero__swiper{position:absolute;inset:0;z-index:1}
.hero--slider .swiper-slide{overflow:hidden}
.hero--slider .hero__media video{transform:scale(1.04)}
.hero--slider .hero__in{padding-bottom:clamp(150px,20vh,200px)}
.hero--slider .hero__in>*{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hero--slider .swiper-slide-active .hero__in>*{opacity:1;transform:none}
.hero--slider .swiper-slide-active .hero__in>:nth-child(2){transition-delay:.1s}
.hero--slider .swiper-slide-active .hero__in>:nth-child(3){transition-delay:.2s}
.hero--slider .swiper-slide-active .hero__in>:nth-child(4){transition-delay:.3s}
.hero--slider .swiper-slide-active .hero__in>:nth-child(5){transition-delay:.4s}
.hero--slider .swiper-slide-active .hero__in>:nth-child(6){transition-delay:.5s}
.hero--slider .hero__scroll,.hero--slider .hero__badge{display:none}
.hero__veil{position:absolute;inset:0;z-index:4;background:var(--ink);opacity:0;pointer-events:none;transition:opacity .9s cubic-bezier(.4,0,.2,1)}
.hero__veil.is-on{opacity:1}
.hero__ui{position:absolute;left:0;right:0;bottom:0;z-index:5;pointer-events:none}
.hero__ui-in{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:36px}
.hero__tabs{display:flex;gap:8px;pointer-events:auto}
.hero__tab{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:150px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.55);text-align:left;transition:color .3s}
.hero__tab i{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass);letter-spacing:.05em;line-height:1}
.hero__tab span{font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
.hero__tab:hover,.hero__tab.is-active{color:#fff}
.hero__bar{position:absolute;left:0;top:-1px;height:1.5px;width:0;background:var(--brass)}
.hero__tab.is-active .hero__bar{animation:heroBar var(--hero-delay,10000ms) linear forwards}
@keyframes heroBar{from{width:0}to{width:100%}}
.hero__arrows{display:flex;gap:10px;pointer-events:auto}
.hero__arrow{width:50px;height:50px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;transition:all .3s var(--ease)}
.hero__arrow:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.hero__arrow svg{width:20px;height:20px}
.hero__count{font-family:var(--serif);font-style:italic;font-size:15px;color:rgba(255,255,255,.7);letter-spacing:.08em;margin-right:14px;align-self:center}
@media (max-width:860px){.hero__tab{min-width:110px}}
@media (max-width:640px){
  .hero--slider .hero__in{padding-bottom:124px}
  .hero__ui-in{padding-bottom:20px;padding-right:calc(20px + 64px)}
  .hero__tabs{width:100%;gap:6px}
  .hero__tab{min-width:0;flex:1;padding-top:10px;gap:4px}
  .hero__tab span{font-size:11.5px;overflow-wrap:anywhere}
  .hero__tab i{font-size:12px}
  .hero__arrows,.hero__count{display:none}
}
/* ---------- in-page video slider (병원 둘러보기) ---------- */
.vslider__swiper{overflow:hidden}
.vslider__media{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden;border-radius:var(--r)}
.vslider__media video{width:100%;height:100%;object-fit:cover;display:block}
.vslider__cap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 22px;align-items:baseline;padding:20px 4px 0}
.vslider__cap small{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2);letter-spacing:.04em;white-space:nowrap}
.vslider__cap b{font-family:var(--kserif);font-weight:500;font-size:20px;letter-spacing:-.015em;line-height:1.35}
.vslider__ui{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--ink)}
.vslider__tabs{display:flex;gap:8px;flex-wrap:wrap}
.vslider__tab{display:flex;align-items:baseline;gap:10px;padding:10px 16px;border:1px solid var(--line-2);background:var(--white);color:var(--text-2);border-radius:999px;transition:all .25s var(--ease)}
.vslider__tab i{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--brass-2)}
.vslider__tab span{font-size:14px;font-weight:600}
.vslider__tab:hover{border-color:var(--ink);color:var(--ink)}
.vslider__tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.vslider__tab.is-active i{color:var(--brass)}
.vslider__arrows{display:flex;gap:10px;flex:0 0 auto}
.vslider__arrow{width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:all .25s var(--ease)}
.vslider__arrow:hover{background:var(--ink);color:#fff}
.vslider__arrow svg{width:18px;height:18px}
.vslider__arrow.swiper-button-disabled{visibility:hidden}
.vid__play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(24,19,16,.25)}
@media (max-width:640px){.vslider__cap{grid-template-columns:minmax(0,1fr)}.vslider__ui{flex-direction:column;align-items:stretch}.vslider__tabs{gap:6px}.vslider__tab{padding:8px 12px}}
/* photo groups → swipe rows on phones */
@media (max-width:760px){
  .gal,.figs,.strip,.artgal__track{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .gal::-webkit-scrollbar,.figs::-webkit-scrollbar{display:none}
  .gal>*,.figs>*{flex:0 0 84%;min-width:0;scroll-snap-align:start}
  .figs>:only-child{flex-basis:100%}
}
/* light variant of the field cards (home 주력 시술, under the dark doctor section) */
.h-fields--light{background:var(--paper-2);color:var(--text)}
.h-fields--light::before{display:none}
.h-fields--light .sh__d{color:var(--text-2)}
.h-fields--light .fcard{background:var(--white);border-color:var(--line)}
.h-fields--light .fcard:hover{border-color:var(--brass)}
.h-fields--light .fcard__ico{color:var(--brass-2)}
.h-fields--light .fcard h3{color:var(--text)}
.h-fields--light .fcard p{color:var(--text-2)}
.h-fields--light .fcard ul{border-top-color:var(--line)}
.h-fields--light .fcard ul a{border-color:var(--line-2);color:var(--text)}
.h-fields--light .fcard ul a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
/* 메인 주력 시술 카드: 사진을 문구 뒤 배경으로, 문구는 카드 아래쪽에 정렬 */
.h-fields--light .fcards--photo .fcard{min-height:clamp(440px,36vw,540px);justify-content:flex-end;overflow:hidden;border:0;background:var(--ink);color:#fff;padding:28px 26px 26px}
.fcard__bg{position:absolute;inset:0;z-index:0}
.fcard__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform 1.2s var(--ease)}
.fcard__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,19,16,.94) 0%,rgba(24,19,16,.8) 36%,rgba(24,19,16,.28) 62%,rgba(24,19,16,0) 82%)}
.fcards--photo .fcard>:not(.fcard__bg){position:relative;z-index:1}
.fcards--photo .fcard:hover .fcard__bg img{transform:scale(1.05)}
.h-fields--light .fcards--photo .fcard__ico{width:40px;height:40px;color:var(--brass-soft)}
.h-fields--light .fcards--photo .fcard h3{color:#fff;margin-top:2px}
.h-fields--light .fcards--photo .fcard p{color:rgba(255,255,255,.84);flex:0 0 auto}
.h-fields--light .fcards--photo .fcard ul{border-top-color:rgba(255,255,255,.24)}
.h-fields--light .fcards--photo .fcard ul a{border-color:rgba(255,255,255,.42);color:#fff}
.h-fields--light .fcards--photo .fcard ul a:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.fcards--photo .fcard p{min-height:calc(1.7em * 3)}   /* 설명·버튼 칸 높이를 맞춰 네 카드의 제목 줄을 가지런히 */
.fcards--photo .fcard ul{min-height:92px;align-content:flex-start}
@media (max-width:560px){.h-fields--light .fcards--photo .fcard{min-height:560px}.fcard__bg img{object-position:50% 8%}}

.hero__t em{font-style:normal;color:var(--brass-soft)}
.phead + .wrap--n{padding-top:36px}
.phead + .wrap--n .prose{padding-top:0!important}


/* ==========================================================================
   Full menu panel (골든디아망식 전체 메뉴) — desktop: dropdown under the header on hover / 메뉴 button; mobile: full screen
   ========================================================================== */
.nav__link.is-active{opacity:1}
.nav__link.is-active::after{transform:scaleX(1)}
.burger{display:flex;align-items:center;gap:10px;height:44px;padding:0 4px 0 10px;color:inherit}
.burger__lbl{font-size:13.5px;font-weight:600;letter-spacing:.02em}
.burger__ico{display:flex;flex-direction:column;gap:5px;width:22px}
.burger__ico i{display:block;height:1.5px;background:currentColor;transition:transform .3s var(--ease),opacity .3s}
.burger.is-on .burger__ico i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.is-on .burger__ico i:nth-child(2){opacity:0}
.burger.is-on .burger__ico i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (max-width:1024px){.hdr__cta .hdr__book{display:none}.burger__lbl{display:none}}
.fullnav{position:fixed;top:var(--hdr);left:0;right:0;z-index:95;max-height:calc(100vh - var(--hdr));overflow-y:auto;background:var(--paper);color:var(--text);border-top:1px solid var(--brass);box-shadow:0 30px 50px rgba(33,28,25,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.fullnav.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.fullnav__top{display:none}
.fullnav__in{max-width:1400px;margin:0 auto;padding:28px 32px 40px}
.fullnav__home{display:flex;align-items:baseline;gap:10px;font-family:var(--kserif);font-weight:600;font-size:17px;color:var(--brass-2);padding-bottom:10px;border-bottom:1px solid var(--line-2);margin-bottom:22px}
.fullnav__home small{font-family:var(--serif);font-style:italic;font-weight:400;font-size:14.5px;color:var(--brass-2)}
.fullnav__cols{columns:4;column-gap:28px;margin:0 -16px}
.fn-g{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin-bottom:14px;display:inline-block;width:100%;padding:12px 16px 8px;border-radius:6px;transition:background .25s,box-shadow .25s,opacity .25s}
.fn-g__t{display:flex;align-items:baseline;gap:10px;width:100%;padding:0 0 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px;font-family:var(--kserif);font-weight:600;font-size:17px;color:var(--text);text-align:left;cursor:default;letter-spacing:-.01em}
.fn-g__t small{font-family:var(--serif);font-style:italic;font-weight:400;font-size:14.5px;color:var(--brass-2)}
.fn-g__t i{display:none;margin-left:auto;width:10px;height:10px;border-right:1.5px solid var(--brass-2);border-bottom:1.5px solid var(--brass-2);transform:rotate(45deg);transition:transform .3s}
/* 롤오버한 상단 메뉴의 그룹: 흰 카드 + 황동 테두리로 띄우고 나머지는 흐리게 */
.fn-g.is-hot{background:var(--white);box-shadow:0 0 0 1.5px var(--brass),0 18px 36px rgba(33,28,25,.12)}
.fn-g.is-hot .fn-g__t,.fn-g.is-hot .fn-g__t span{color:var(--brass-2)}
.fn-g.is-hot .fn-g__t{border-bottom-color:var(--brass)}
.fn-g.is-hot .fn-g__t::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brass);margin-right:2px;align-self:center}
.fullnav.has-hot .fn-g:not(.is-hot){opacity:.42}
.fullnav.has-hot .fn-g:not(.is-hot):hover{opacity:1}
.nav__link.is-hot{opacity:1}
.nav__link.is-hot::after{transform:scaleX(1)}
.fn-g ul{list-style:none}
.fn-g li a,.fn-lbl{display:block;padding:6px 0;font-size:14.5px;color:var(--text);line-height:1.5;transition:color .2s}
.fn-g li a:hover,.fn-g li a[aria-current]{color:var(--brass-2)}
.fn-g li a[aria-current]{font-weight:600}
.fn-g li a.fn-guide{font-weight:600;color:var(--teal)}
.fn-g li a.fn-guide::before{content:"안내";display:inline-block;margin-right:8px;padding:1px 6px;font-size:10.5px;letter-spacing:.08em;background:var(--teal);color:#fff;border-radius:2px;vertical-align:1px}
.fn-lbl{font-weight:600}
.fn-g ul ul{padding-left:16px;border-left:1px solid var(--line);margin:2px 0 8px}
.fn-g ul ul a{font-size:13.5px;color:var(--text-2);padding:5px 0}
.fullnav__cta{display:flex;gap:10px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line-2);margin-top:2px}
@media (max-width:1280px){.fullnav__cols{columns:3;column-gap:24px}}
@media (max-width:1279px){
  .fullnav{top:0;bottom:0;max-height:none;border-top:0;box-shadow:none;transform:translateY(-100%);transition:transform .45s var(--ease),visibility 0s .45s;opacity:1}
  .fullnav.is-open{transform:none;transition:transform .45s var(--ease),visibility 0s}
  .fullnav__top{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);padding:0 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}
  .fullnav__close{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 6px;font-size:15px;font-weight:700;letter-spacing:-.02em}
  .fullnav__in{padding:22px 22px 48px}
  .fullnav__home{margin-bottom:8px;border-bottom:0}
  .fullnav__cols{columns:1}
  .fn-g{margin-bottom:0;border-bottom:1px solid var(--line);padding:0;border-radius:0}
  .fn-g.is-hot{background:none;box-shadow:none}
  .fullnav.has-hot .fn-g:not(.is-hot){opacity:1}
  .fn-g__t{padding:16px 0;border-bottom:0;margin-bottom:0;cursor:pointer}
  .fn-g__t i{display:block}
  a.fn-g__t{color:var(--text);line-height:normal}
  .fn-g.is-open .fn-g__t i{transform:rotate(225deg)}
  .fn-g>ul{display:none;padding:0 0 12px}
  .fn-g.is-open>ul{display:block}
  .fn-g li a,.fn-lbl{padding:10px 0;font-size:15.5px}
  body.fn-lock{overflow:hidden}
}

/* 패널이 열린 동안엔 롤오버한 항목만 밑줄 */
.hdr.is-open .nav__link.is-active:not(.is-hot){opacity:.7}
.hdr.is-open .nav__link.is-active:not(.is-hot)::after{transform:scaleX(0)}

/* ==========================================================================
   Icons & small handmade touches
   ========================================================================== */
.ico{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ico--s{width:.95em;height:.95em}
.ico--lg{width:26px;height:26px}
.ico--xl{width:40px;height:40px;stroke-width:1.25}
.ico-b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--brass-faint);color:var(--brass-2);flex:none}
.ico-b .ico{width:21px;height:21px}
.ico-b--teal{background:var(--teal-faint);color:var(--teal)}
.ico-b--alert{background:var(--alert-soft);color:var(--alert)}
.ico-b--lg{width:52px;height:52px}
.ico-b--lg .ico{width:26px;height:26px}
.ico-b--dark{background:rgba(255,255,255,.08);color:var(--brass-soft)}
.btn .ico{width:17px;height:17px;margin-left:-4px}
.link .ico{width:16px;height:16px}
/* ornament divider */
.orn{display:block;width:120px;height:12px;margin:0 auto;color:var(--brass)}
.orn svg{display:block;width:100%;height:100%}
.orn--left{margin:0}
.sh .orn{margin:0 0 18px}
.sh--center .orn{margin:0 auto 18px}
/* faint face line-art watermark */
.faceart{position:absolute;right:-20px;bottom:-40px;width:min(34vw,360px);height:auto;fill:none;stroke:var(--brass);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.16;pointer-events:none}
.h-prin{position:relative;overflow:hidden}
.h-prin .wrap{position:relative;z-index:1}
/* paper grain on dark surfaces */
.h-doctor::after,.cta::after,.ftr::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;mix-blend-mode:screen}
.cta{position:relative}.ftr{position:relative}.ftr .wrap,.cta .wrap{position:relative;z-index:1}
/* facts tiles with icons */
.facts>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center}
.facts>div .ico-b{grid-row:span 2;width:38px;height:38px}
.facts>div .ico-b .ico{width:19px;height:19px}
/* section eyebrow icon */
.sec-h .ico-b{align-self:center}
/* dual tag / urgent / faq / refs icons */
.dual__tag .ico{width:13px;height:13px;margin-right:2px}
.dual__tag::before{display:none}
.urgent h3::before{display:none}
.urgent h3 .ico-b{width:30px;height:30px}
.urgent h3 .ico-b .ico{width:16px;height:16px}
.faq summary i .ico{width:18px;height:18px;color:var(--brass-2)}
.refs__t .ico{color:var(--brass-2)}
/* toc cta, author card */
.toc__cta b .ico{color:var(--brass-soft);margin-right:6px}
.author__ic{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.author__ic span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);background:var(--paper);border:1px solid var(--line);padding:2px 9px;border-radius:999px}
.author__ic .ico{width:14px;height:14px;color:var(--brass-2)}
/* info lists */
.info dt .ico{margin-right:6px;color:var(--brass-2)}
.info-table th .ico{margin-right:6px;color:var(--brass-2)}
/* variation: card families get their own radius/padding so nothing feels stamped */
.fcard{border-radius:14px;padding:32px 28px 26px}
.tcard{border-radius:2px;padding:28px 28px 26px;border-left:3px solid var(--brass)}
.tcard .ico-b{margin-bottom:4px}
.prin4 li{border-radius:0 12px 0 12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:start}
.prin4 li .ico-b{grid-row:span 3;margin-top:2px}
.prin4 li i,.prin4 li b,.prin4 li p{grid-column:2}
.prin3 li b{display:flex;gap:12px;align-items:flex-start}
.prin3 li b .ico{width:24px;height:24px;color:var(--brass-2);margin-top:3px;stroke-width:1.4}
.prin3--stack li b .ico{width:22px;height:22px}
.cvgrid h3{display:flex;align-items:center;gap:8px}
.cvgrid h3 .ico{width:16px;height:16px}
.papers li i{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--brass-soft);border-radius:50%;font-size:14px}
.chcard i .ico{width:22px;height:22px}
.steps li i{display:flex;align-items:center;gap:10px}
.steps li i .ico{width:24px;height:24px;color:var(--brass-2);font-style:normal}
.approach>li>i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brass-faint);font-size:16px}
.approach>li>i .ico{width:22px;height:22px}
.contact-aside h3 .ico{color:var(--brass-2);margin-right:6px}
.station__head .ico{color:var(--brass-2);margin-right:6px}
.fn-g__t .ico{width:17px;height:17px;color:var(--brass-2);align-self:center;stroke-width:1.6}
.hdr__tel .ico{width:16px;height:16px;margin-right:6px;vertical-align:-2px}
.tel-label .ico{margin-right:4px}
.legal-note .ico{color:var(--brass-2);margin-right:6px}
.h-doctor__name .ico{color:var(--brass);margin-right:6px}
.h-doctor__img figcaption .ico{margin-right:6px;color:var(--brass-soft)}
.field small .ico{width:14px;height:14px;margin-right:5px}
.rel-h .ico{margin-right:6px}
.legacy__t small .ico{width:14px;height:14px;margin-right:4px}
.yt-note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-top:14px}
/* micro-interactions with easing (no snap) */
.btn{transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),color .35s var(--ease)}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(33,28,25,.12)}
.card:hover .link,.fcard:hover ul a{color:var(--brass-2)}
.chcard:hover i{background:var(--brass);color:#fff;transition:background .3s var(--ease),color .3s var(--ease)}
.chcard i{transition:background .3s var(--ease),color .3s var(--ease)}
.toc a{position:relative}
.toc a.is-active::before{content:"";position:absolute;left:-16px;top:12px;width:8px;height:1px;background:var(--brass)}
.facts>div{transition:border-color .3s}
.facts>div:hover{border-color:var(--brass-soft)}
.rv-d2{transition-delay:.18s}.rv--slide{transform:translateX(-14px)}.rv--slide.is-in{transform:none}
/* page footer meta */
.pmeta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-size:13px;color:var(--muted)}
.pmeta span{display:inline-flex;align-items:center;gap:6px}
.pmeta .ico{color:var(--brass-2)}
/* print */
@media print{
  .hdr,.fullnav,.quick,.cta,.ftr,.toc__cta,.art__aside,.review-badge,.hero__ui{display:none!important}
  .phead{padding-top:0}.phead__fig{display:none}.art{grid-template-columns:minmax(0,1fr)}
  body{background:#fff;color:#000}.rv{opacity:1;transform:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px;color:#666}
}

/* ==========================================================================
   Background artwork (line-art) — faint brass drawings on plain surfaces
   ========================================================================== */
.has-art{position:relative;overflow:hidden}
.has-art>.wrap{position:relative;z-index:1}
svg.bgart{position:absolute}
.bgart{position:absolute;pointer-events:none;fill:none;stroke:var(--brass);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.14;z-index:0}
.bgart--light{stroke:var(--brass-soft);opacity:.13}
.bgart--teal{stroke:var(--teal);opacity:.12}
.bgart--faint{opacity:.08}
.bgart--tr{top:-30px;right:-40px}.bgart--tl{top:-30px;left:-40px}.bgart--br{bottom:-40px;right:-30px}.bgart--bl{bottom:-40px;left:-30px}
.bgart--mid{top:50%;transform:translateY(-50%)}
.bgart--w320{width:min(30vw,320px);height:auto}.bgart--w400{width:min(36vw,400px);height:auto}.bgart--w560{width:min(60vw,560px);height:auto}.bgart--w720{width:min(80vw,720px);height:auto}
.bgart--flip{transform:scaleX(-1)}
.bgart--dots{width:100%;height:100%;top:0;left:0;opacity:.35;stroke:none}
.h-doctor .bgart,.cta .bgart,.ftr .bgart{stroke:var(--brass)}
@media (max-width:760px){.bgart{opacity:.1}.bgart--w560,.bgart--w720{width:90vw}}
/* page head art (behind the text column) + table-of-contents illustration */
.phead{position:relative;overflow:hidden}
.phead__in{position:relative;z-index:1}
.phead__art{position:absolute;left:-30px;bottom:-30px;width:min(28vw,300px);height:auto;fill:none;stroke:var(--brass);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.09;pointer-events:none}
.toc__art{display:block;width:96px;height:auto;margin:0 0 14px;fill:none;stroke:var(--brass);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.toc__cta{position:relative;overflow:hidden}
.toc__cta .bgart{right:-30px;bottom:-30px;width:150px;stroke:#fff;opacity:.12}
.toc__cta>:not(.bgart){position:relative}
.author{position:relative;overflow:hidden}
.author .bgart{right:-20px;top:-20px;width:150px;opacity:.1}
.author>:not(.bgart){position:relative}
.dual__plain{position:relative}
.dual__plain .ico{position:absolute;right:14px;top:12px;width:16px;height:16px;color:var(--teal);opacity:.55}
.urgent{position:relative;overflow:hidden}
.urgent .bgart{right:-30px;bottom:-40px;width:140px;stroke:var(--alert);opacity:.08}
.prep{position:relative;overflow:hidden}
.prep .bgart{right:-20px;bottom:-30px;width:140px;opacity:.12}
/* heading icons (director Q&A sections, hub sections, legacy sections) */
.sec-h__ico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brass-faint);color:var(--brass-2);margin-right:12px;vertical-align:-8px}
.sec-h__ico .ico{width:18px;height:18px}
.sh__t .sec-h__ico{width:38px;height:38px;vertical-align:-9px}
.sh__t .sec-h__ico .ico{width:20px;height:20px}
.sh .ico-b{margin-bottom:14px}
.sh .eyebrow+.sh__t .sec-h__ico{vertical-align:-8px}
.legacy__t .sec-h__ico{width:30px;height:30px;vertical-align:-8px}
.legacy__t .sec-h__ico .ico{width:16px;height:16px}
/* ornament before FAQ */
.art__main>section .orn{margin:0 0 26px}

/* dotted paper on the light field cards section */
.h-fields--light{background-color:var(--paper-2);background-image:radial-gradient(var(--line-2) 1.1px,transparent 1.3px);background-size:26px 26px}

/* ==========================================================================
   2026-09-23 전달본(안내 v8) — 접이식 · 원장 한마디 · 증상 상자 · 칼럼 · 채널 · 3단 푸터
   ========================================================================== */
/* 접이식(펼쳐 보기): 기본 접힘, 내용은 HTML에 그대로 있음 */
details.fold{border:1px solid var(--line);border-radius:var(--r);background:var(--white);margin:26px 0}
details.fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:16px 20px;font-weight:600;font-size:16px;color:var(--text);line-height:1.45}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary .ico{color:var(--brass-2)}
details.fold>summary .fold-t{flex:1}
details.fold>summary::after{content:"펼쳐 보기";font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap}
details.fold[open]>summary::after{content:"접기"}
details.fold .fold-x{width:9px;height:9px;border-right:1.5px solid var(--brass-2);border-bottom:1.5px solid var(--brass-2);transform:rotate(45deg);margin:-4px 2px 0 0;transition:transform .25s var(--ease);order:3}
details.fold[open] .fold-x{transform:rotate(-135deg);margin-top:4px}
details.fold>summary:hover{color:var(--brass-2)}
details.fold>summary:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}
details.fold[open]>summary{border-bottom:1px solid var(--line)}
.fold-in{position:relative;padding:6px 22px 20px;background:var(--paper)}
.fold-in>h3:first-child,.fold-in>.pending:first-child>h3:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.fold-in>*:nth-child(2){margin-top:14px}
@media (max-width:640px){details.fold>summary{padding:14px 16px;font-size:15px}.fold-in{padding:4px 16px 16px}}
/* 원장 한마디 */
.prose blockquote.voice{border-left:3px solid var(--brass);background:var(--white);padding:24px 28px 22px;margin:34px 0;border-radius:0 var(--r) var(--r) 0}
.prose blockquote.voice .voice-h{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--brass-2);margin-bottom:10px}
.prose blockquote.voice p:not(.voice-h){font-family:var(--kserif);font-weight:500;font-size:19px;line-height:1.75;color:var(--text);letter-spacing:-.01em}
@media (max-width:640px){.prose blockquote.voice{padding:20px 18px}.prose blockquote.voice p:not(.voice-h){font-size:17px}}
/* 연락해야 하는 증상 상자 */
.sym-box{border:1px solid var(--line);border-left:3px solid var(--teal);background:var(--white);padding:18px 22px 8px;margin:18px 0;border-radius:0 var(--r) var(--r) 0}
.sym-box .sym-h{font-weight:700;color:var(--text);margin-bottom:10px;font-size:15.5px}
.sym-box--urgent{border-left-color:var(--alert);background:var(--alert-soft);border-color:#e3c2b8}
.sym-box--urgent .sym-h{color:var(--alert)}
.sym-box--urgent li::before{background:var(--alert)!important}
/* 채널 목록 (푸터 · 전체 메뉴) */
.chs{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.chs a{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14px;line-height:1.35}
.chs a .ico{width:18px;height:18px;flex:none}
.chs a span{display:flex;flex-direction:column}
.chs a small{font-size:12px;opacity:.65}
.chs a:hover b{text-decoration:underline;text-underline-offset:3px}
.fullnav__ch{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.fullnav__ch-h{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2);margin-bottom:8px}
.fullnav__ch .chs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 18px}
.fullnav__ch .chs a .ico{color:var(--brass-2)}
@media (max-width:900px){.fullnav__ch .chs{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 진료시간 표 (상담 페이지 옆 칸) */
.info dl.hours{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;font-size:15px}
.info dl.hours dt{font-size:14px;letter-spacing:0;color:var(--muted);font-weight:500;margin:0}
/* 원장 칼럼 */
.colchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.colchips button{font:inherit;font-size:14px;padding:8px 16px;border:1px solid var(--line-2);background:var(--white);border-radius:999px;cursor:pointer;color:var(--text-2)}
.colchips button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.colcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.colcards--in{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.colcard{display:flex;flex-direction:column;gap:10px;padding:24px 24px 22px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);transition:border-color .25s,transform .3s var(--ease)}
.colcard:hover{border-color:var(--brass);transform:translateY(-2px)}
.colcard[hidden]{display:none}
.colcard__topic{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--brass-2);border:1px solid var(--brass-soft);border-radius:999px;padding:2px 10px}
.colcard b{font-family:var(--kserif);font-weight:500;font-size:19px;line-height:1.45;color:var(--text);letter-spacing:-.015em}
.colcard p{font-size:14.5px;color:var(--text-2);line-height:1.7;flex:1}
.colcard__date{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.colcard .link{align-self:flex-start;margin-top:4px}
@media (max-width:1024px){.colcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.colcards{grid-template-columns:minmax(0,1fr)}}
.colmeta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:14px;color:var(--text-2)}
.colmeta span{display:inline-flex;align-items:center;gap:6px}
.colmeta .ico{color:var(--brass-2)}
.colsum{border:1px solid var(--brass-soft);background:var(--white);padding:22px 26px;margin-bottom:28px;border-radius:var(--r)}
.colsum__t{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--brass-2);margin-bottom:10px}
.colsum ul{margin:0;padding-left:1.1em}
.colsum li{font-size:16px;line-height:1.75;color:var(--text);margin:2px 0}
.col-toc{display:block}
.col-body{max-width:none}
.col-body h2{font-family:var(--kserif);font-weight:500;font-size:clamp(21px,2vw,25px);color:var(--text);margin:44px 0 14px;letter-spacing:-.02em;line-height:1.4}
.col-body h2:first-child{margin-top:0}
.fmini{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.fmini a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);transition:border-color .25s}
.fmini a:hover{border-color:var(--brass)}
.fmini b{font-size:16px;color:var(--text)}
.fmini span{font-size:13.5px;color:var(--text-2);line-height:1.6}
/* home: 병원 둘러보기 (2026-09-30) */
.h-space__grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,clamp(180px,17vw,250px));gap:12px}
.h-space__grid figure{position:relative;margin:0;overflow:hidden;border-radius:var(--r);background:var(--paper-3)}
.h-space__grid figure:first-child{grid-row:1/3}
.h-space__grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.h-space__grid figure:hover img{transform:scale(1.04)}
.h-space__grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:linear-gradient(to top,rgba(33,28,25,.78),transparent);color:#fff;font-size:13px;letter-spacing:.02em}
@media (max-width:760px){.h-space__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(120px,30vw,200px)}.h-space__grid figure:first-child{grid-column:1/-1;grid-row:span 2}}
/* home 히어로 사진 슬라이드: 데스크톱은 사진을 오른쪽에 두고 왼쪽(글 자리)은 어둡게 이어지게 (2026-09-30) */
@media (min-width:768px){.hero__media--photo{left:auto;width:64%;-webkit-mask-image:linear-gradient(to right,transparent,#000 32%);mask-image:linear-gradient(to right,transparent,#000 32%)}}
@media (min-width:768px) and (max-width:1024px) and (orientation:portrait){.hero__media--tb{left:0;width:auto;-webkit-mask-image:none;mask-image:none}}

/* ==========================================================================
   v3 refine (2026-10-01) — 장식을 걷어내고 타이포·여백·헤어라인으로 정리한 편집형 레이어.
   위 규칙을 덮어쓴다. 아이콘 방울·배경 선화는 쓰지 않는다.
   ========================================================================== */
body{font-size:16.5px;line-height:1.85;letter-spacing:-.01em;background:var(--paper)}
.eyebrow{font-family:var(--serif);font-style:italic;font-weight:500;font-size:17px;letter-spacing:.01em;gap:14px;color:var(--brass-2)}
.eyebrow::before{width:28px;background:var(--brass)}
.eyebrow .ico{display:none}
.sh__t{font-weight:500;font-size:clamp(27px,3vw,40px);line-height:1.32;letter-spacing:-.035em}
.sh__d{font-size:16px;line-height:1.85;color:var(--text-2);max-width:640px}
.sec{padding:clamp(80px,9vw,136px) 0}

/* icon bubbles / line-art ornaments off */
.sec-h__ico,.sec-h .ico-b,.facts>div .ico-b,.legacy__t .sec-h__ico,.legacy__t small .ico,.tcard .ico-b,.prin4 li .ico-b,.phead__art,.toc__art,.bgart,.faceart,.orn{display:none!important}
.ico-b{width:auto;height:auto;background:none;border-radius:0}

/* buttons */
.btn{height:50px;padding:0 26px;border-radius:0;font-size:14px;font-weight:600;letter-spacing:.01em}
.btn--sm{height:40px;padding:0 18px;font-size:13px}
.btn--brass,.btn--gold{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--brass:hover,.btn--gold:hover{background:var(--brass-2);border-color:var(--brass-2)}
.sec--ink .btn--gold,.h-doctor .btn--gold,.hero .btn--gold,.cta .btn--gold,.fullnav .btn--brass{background:var(--brass);border-color:var(--brass);color:#fff}
.sec--ink .btn--gold:hover,.h-doctor .btn--gold:hover,.hero .btn--gold:hover,.cta .btn--gold:hover{background:#fff;border-color:#fff;color:var(--ink)}
.hdr__book{background:transparent!important;color:inherit!important;border:1px solid currentColor!important;height:40px!important}
.hdr__book:hover{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
.hdr--clear:not(.is-scrolled):not(.is-open) .hdr__book:hover{background:#fff!important;border-color:#fff!important;color:var(--ink)!important}

/* header */
.hdr{height:var(--hdr);background:rgba(249,247,243,.9);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px)}
.hdr--clear.is-scrolled,.hdr.is-open{background:rgba(249,247,243,.92)}
.nav__link{font-size:14.5px;font-weight:500;letter-spacing:-.015em;padding:0 9px;opacity:.82}
.nav__link::after{left:9px;right:9px;bottom:26px;height:1px}
@media (max-width:1440px){.nav__link{padding:0 7px;font-size:14px}.nav__link::after{left:7px;right:7px}}
.nav__sub{min-width:196px;padding:12px 0;border:0;border-top:1px solid var(--brass);background:#fff;box-shadow:0 22px 44px rgba(27,23,20,.12)}
.nav__sub a{padding:8px 22px;font-size:14px;color:var(--text-2);position:relative}
.nav__sub a:hover,.nav__sub a[aria-current]{background:transparent;color:var(--ink)}
.nav__sub a::before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--brass);transition:width .25s var(--ease)}
.nav__sub a:hover::before,.nav__sub a[aria-current]::before{width:12px}
.nav__sub--2{column-count:2;column-gap:0;min-width:360px}
.nav__sub--2 li{break-inside:avoid}
.nav__sub .nav__sub-h{display:block;padding:10px 22px 4px;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--brass-2);break-after:avoid}

/* sub-page head */
.phead{background:var(--paper);border-bottom:1px solid var(--line)}
.phead__in{grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(40px,6vw,96px);align-items:center;padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(44px,5vw,72px)}
.phead__txt{padding-bottom:0}
.phead .eyebrow{margin-top:26px!important}
.phead__t{font-weight:500;font-size:clamp(34px,4.3vw,58px);line-height:1.2;letter-spacing:-.04em;margin-top:18px}
.phead__tag{margin-top:16px;font-family:var(--kserif);font-weight:400;font-size:clamp(17px,1.45vw,20px);line-height:1.6;color:var(--brass-2);letter-spacing:-.02em;max-width:34em}
.phead__lead{margin-top:22px;font-size:clamp(16.5px,1.25vw,18px);line-height:1.9;color:var(--text-2);max-width:640px}
.phead__fig{aspect-ratio:4/5;align-self:stretch;max-height:640px;background:var(--paper-3)}
.phead__fig::after{display:none}
.crumb{font-size:12.5px;gap:9px;color:var(--muted)}
.crumb i{width:10px;height:1px;border-radius:0;background:var(--line-2)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-top:34px;max-width:720px;border-top:1px solid var(--ink)}
.facts>div{display:block!important;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 20px 14px 0}
.facts dt{font-size:12px;letter-spacing:.02em;color:var(--muted);font-weight:500;margin-bottom:5px}
.facts dd{font-family:var(--kserif);font-size:16px;font-weight:500;line-height:1.5}
@media (max-width:860px){.phead__in{grid-template-columns:minmax(0,1fr)}.phead__fig{display:none}}
@media (max-width:640px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div{padding:12px 12px 12px 0}}

/* article */
.art{grid-template-columns:minmax(0,1fr) 232px;gap:clamp(48px,6vw,96px);padding-top:clamp(24px,3vw,40px)}
.art__main>section{padding:clamp(52px,6vw,88px) 0;border-top:1px solid var(--line)}
.sec-h{display:block;margin-bottom:28px}
.sec-h i{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:18px;letter-spacing:.04em;color:var(--brass);margin-bottom:12px}
.sec-h h2{font-weight:500;font-size:clamp(24px,2.5vw,34px);line-height:1.38;letter-spacing:-.035em;color:var(--ink)}
.sec-h h2 .ico-b,.sec-h h2 svg{display:none}
.prose{font-size:16.5px;line-height:1.95;color:var(--text-2);max-width:740px}
.prose h3{font-weight:500;font-size:21px;line-height:1.5;letter-spacing:-.025em;margin:44px 0 14px;color:var(--ink)}
.prose strong{font-weight:600;color:var(--ink)}
.prose ul li::before{width:10px;background:var(--brass)}
.prose a:not(.btn):not(.link){color:var(--ink);border-bottom:1px solid var(--brass-soft)}
.prose a:not(.btn):not(.link):hover{border-color:var(--brass)}
.toc{border-top:1px solid var(--ink);padding-top:18px}
.toc__t{font-size:16px;margin-bottom:12px}
.toc a{font-size:13px;padding:8px 0;color:var(--muted);border-bottom:1px solid var(--line)}
.toc a i{font-size:13.5px;color:var(--brass);min-width:22px}
.toc a:hover,.toc a.is-active{color:var(--ink);font-weight:500}
.toc-m{background:transparent;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:0}

/* expert / plain box */
.dual{border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line);border-radius:0}
.dual__pro{padding:24px 28px 18px}
.dual__tag{border:0;padding:0;border-radius:0;font-size:12px;letter-spacing:.08em;color:var(--brass-2);margin-bottom:10px}
.dual__tag::before{width:14px;height:1px;border-radius:0}
.dual__tag .ico{display:none}
.dual__plain{background:var(--teal-soft);border-top:0;padding:18px 28px 20px}
.dual__plain .ico{display:none}

/* 원장 한마디 */
.voice{border:0;border-left:1px solid var(--brass);background:transparent;padding:6px 0 6px 28px;margin:34px 0}
.voice .ico{display:none}
.voice-h{font-family:var(--serif)!important;font-style:italic;font-size:15px!important;letter-spacing:.02em;color:var(--brass-2)!important}
.voice p{font-family:var(--kserif);font-weight:400;font-size:clamp(18px,1.6vw,21px);line-height:1.75;color:var(--ink);letter-spacing:-.02em}

/* fold */
details.fold{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;border-radius:0}
details.fold+details.fold{border-top:0}
details.fold>summary .ico{display:none}

/* tables */
.tbl{background:transparent;font-size:14.5px}
.tbl th{background:transparent;color:var(--muted);font-weight:600;font-size:12.5px;border-bottom:1px solid var(--ink)}
.tbl tr:hover td{background:transparent}

/* faq */
.faq summary{font-weight:500;font-size:17.5px}
.faq summary i .ico,.faq summary i svg{display:none}
.faq summary i::before{content:"Q";font-family:var(--serif);font-style:italic;font-size:20px;color:var(--brass)}

/* related · author · notes */
.rel a{background:transparent;border:1px solid var(--line-2);border-radius:0;font-size:13.5px}
.rel a:hover{border-color:var(--ink);color:var(--ink)}
.rel-h .ico{display:none}
.author{background:transparent;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:28px 0;grid-template-columns:96px minmax(0,1fr)}
.author img{width:96px;height:96px}
.author__ic span{background:transparent!important;border:1px solid var(--line)!important}
.author__ic .ico{display:none}
.legal-note{border:0;border-top:1px solid var(--line);padding:18px 0 0;font-size:12.5px}
.legal-note .ico{display:none}
.pmeta .ico{display:none}

/* legacy blocks (옛 사이트 내용) — 본문과 같은 결로 */
.legacy{border-top:0;padding-top:8px;margin-top:40px}
.legacy__t small{display:none}
.legacy__t{font-size:21px;font-weight:500;letter-spacing:-.025em;color:var(--ink)}

/* checklist */
.who li{font-size:15.5px}
.who li::before{width:16px;height:16px;border-color:var(--brass-soft);background:radial-gradient(circle,var(--brass) 0 2.5px,transparent 3px);margin-top:6px}

/* video cards */
.yt a{border-radius:0}

/* home — principles / doctor / fields / cta / footer */
.prin3 i{font-size:44px;color:var(--brass)}
.prin3 b{font-weight:500}
.h-doctor__t{letter-spacing:-.035em}
.fcard{border-radius:0}
.fcard ul a{border-radius:0}
.cta{background:var(--ink)}
.cta__t{font-weight:500;letter-spacing:-.035em}
.cta__t em{color:var(--brass-soft)}
.cta .ico,.ftr .ico{display:none}
.quick a{box-shadow:0 10px 24px rgba(27,23,20,.18)}
.eyebrow,.sec-h i,.toc a i,.toc-m li a::before,.prin3 i,.faq summary i,.refs ol li::before,.hero__tab i,.hero__count,.cta__tel,.tel-big,.yr,.papers li>i,.prose ol li::before,.fold-t,.mega__t small{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:680px}
.facts dd{font-size:15.5px}
.h-fields--light{background-image:none}
.h-doctor::after,.cta::after,.ftr::after{opacity:.03}

/* ---------- fusion components (옛 사이트 내용을 본문 결에 맞춰 싣는 부품) ---------- */
.fx-sec .prose+.prose,.fx-sec .prose+*,.art__main section>.prose+.fx-fig,.art__main section>.prose+.fx-gallery,.art__main section>.prose+.fx-steps{margin-top:28px}
.fx-block{margin-top:36px}
.fx-block>h3,.fx-h{font-family:var(--kserif);font-weight:500;font-size:21px;line-height:1.5;letter-spacing:-.025em;color:var(--ink);margin:0 0 14px}
.fx-lead{font-family:var(--kserif);font-weight:400;font-size:clamp(18px,1.6vw,21px);line-height:1.7;letter-spacing:-.02em;color:var(--ink);max-width:36em;margin:0 0 18px}
.fx-small{font-size:12.5px;color:var(--muted);line-height:1.7;margin-top:12px}
.fx-fig{margin:30px 0;max-width:740px}
.fx-fig img{width:100%;height:auto;background:var(--paper-2)}
.fx-fig figcaption,.fx-gallery figcaption{margin-top:10px;font-size:13px;line-height:1.6;color:var(--muted)}
.fx-fig--narrow{max-width:460px}
.fx-fig--center{margin-left:auto;margin-right:auto}
.fx-fig--wide{max-width:none}
.fx-fig--white img{background:#fff;padding:18px;box-shadow:inset 0 0 0 1px var(--line)}
.fx-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0;max-width:880px}
.fx-gallery--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fx-gallery--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fx-gallery figure{margin:0}
.fx-gallery img{width:100%;aspect-ratio:var(--ar,4/5);object-fit:cover;background:var(--paper-2)}
.fx-gallery--free img{aspect-ratio:auto;object-fit:contain}
.fx-gallery figcaption b{display:block;font-family:var(--kserif);font-weight:500;font-size:15px;color:var(--ink);margin-bottom:2px}
@media (max-width:640px){.fx-gallery,.fx-gallery--4{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-gallery--2{grid-template-columns:minmax(0,1fr)}}
.fx-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px 16px;margin:30px 0;max-width:880px;counter-reset:fxs;list-style:none;padding:0}
.fx-steps>li{position:relative;padding:0!important;margin:0!important}
.fx-steps>li::before{display:none!important}
.fx-steps figure{margin:0 0 14px}
.fx-steps img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--paper-2)}
.fx-steps b{display:flex;align-items:baseline;gap:10px;font-family:var(--kserif);font-weight:500;font-size:16px;line-height:1.5;color:var(--ink)}
.fx-steps b::before{counter-increment:fxs;content:counter(fxs,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-weight:500;font-size:17px;color:var(--brass);font-variant-numeric:lining-nums;flex:none}
.fx-steps p{margin-top:6px;font-size:14.5px;line-height:1.75;color:var(--text-2)}
.fx-steps--list{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--ink)}
.fx-steps--list>li{display:grid;grid-template-columns:minmax(0,1fr);padding:16px 0!important;border-bottom:1px solid var(--line)}
.fx-note{margin:28px 0;padding:22px 26px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);max-width:740px}
.fx-note>b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px;color:var(--ink);margin-bottom:6px}
.fx-note p{font-size:15px;line-height:1.85;color:var(--text-2)}
.fx-note p+p{margin-top:.6em}
.fx-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin:30px 0;border-top:1px solid var(--ink)}
.fx-points>div{padding:24px 24px 26px 0;border-bottom:1px solid var(--line)}
.fx-points>div+div{padding-left:24px;border-left:1px solid var(--line)}
.fx-points i{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;color:var(--brass);font-variant-numeric:lining-nums;margin-bottom:10px}
.fx-points b{display:block;font-family:var(--kserif);font-weight:500;font-size:18px;line-height:1.5;letter-spacing:-.02em;color:var(--ink)}
.fx-points p{margin-top:8px;font-size:14.5px;line-height:1.8;color:var(--text-2)}
.sec--ink .fx-points{border-top-color:rgba(255,255,255,.4)}
.sec--ink .fx-points>div{border-color:rgba(255,255,255,.14)}
.sec--ink .fx-points b{color:#fff}
.sec--ink .fx-points p{color:rgba(255,255,255,.72)}
@media (max-width:760px){.fx-points>div+div{padding-left:0;border-left:0}}
.fx-talk{margin:8px 0 0;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.fx-talk--solo{grid-template-columns:minmax(0,1fr)}
.fx-talk figure{margin:0;position:sticky;top:calc(var(--hdr) + 24px)}
.fx-talk figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.fx-talk figure figcaption{margin-top:10px;font-size:12.5px;color:var(--muted)}
.fx-talk__q{font-family:var(--kserif);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.5;letter-spacing:-.03em;color:var(--ink);margin-bottom:22px;padding-left:0}
.fx-talk__q::before{content:"\201C";display:block;font-family:var(--serif);font-size:52px;line-height:.6;color:var(--brass);margin-bottom:10px}
.fx-talk__sig{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-2)}
.fx-talk .prose p{font-size:16px}
@media (max-width:760px){.fx-talk{grid-template-columns:minmax(0,1fr)}.fx-talk figure{position:static;max-width:280px}}
.fx-quote{margin:34px 0;padding:0 0 0 28px;border-left:1px solid var(--brass);font-family:var(--kserif);font-weight:400;font-size:clamp(18px,1.7vw,22px);line-height:1.7;color:var(--ink);letter-spacing:-.02em;max-width:36em}
.fx-yt{margin-top:24px}
.fx-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:26px 0}
.fx-related a{display:block;border-bottom:1px solid var(--line);padding-bottom:14px;transition:border-color .25s}
.fx-related a:hover{border-color:var(--ink)}
.fx-related img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:12px;background:var(--paper-2)}
.fx-related b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px;color:var(--ink)}
.fx-related span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px;line-height:1.6}
.fx-cmp{margin:28px 0}
.fx-band .sh{margin-bottom:clamp(28px,3.5vw,48px)}
/* v3 — responsive re-declarations (위 덮어쓰기가 원래 미디어쿼리보다 뒤에 있으므로 다시 선언) */
html{font-synthesis:none}
@media (max-width:1060px){.art{grid-template-columns:minmax(0,1fr);gap:0}.art__aside{display:none}.toc-m{display:block}}
@media (max-width:640px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts>div{padding:12px 12px 12px 0}
  .phead__t{font-size:clamp(30px,8.4vw,38px)}
  .sec-h h2{font-size:clamp(22px,6.2vw,26px)}
  .prose{font-size:16px;line-height:1.9}
  .art__main>section{padding:44px 0}
}
.art__main>section:has(>.author){border-top:0;padding-top:clamp(28px,3vw,44px)}
.fx-gallery img,.fx-steps img,.fx-related img,.fx-talk figure img,.fx-fig img{height:auto}
.fx-related__i{display:block;border-bottom:1px solid var(--line);padding-bottom:14px}
.gal--steps{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px}
.gal--steps figure{background:transparent!important;border:0!important;box-shadow:none!important}
.gal--steps figcaption{padding:12px 0 0!important;font-size:13.5px;line-height:1.6;color:var(--text-2)}
.gal--steps figcaption b{font-variant-numeric:lining-nums;color:var(--brass)!important;font-size:15px}
@media (max-width:760px){.gal--steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.figcaption b,figcaption b,.method__n{font-variant-numeric:lining-nums}
html{font-variant-numeric:lining-nums}
/* 상세 페이지 프레임 (2026-10-01, frames.py) — 참고 사이트 식 틀 */
.prose .fr-answer{background:var(--white);border-left:3px solid var(--brass);padding:20px 24px;margin:0 0 22px;font-family:var(--kserif);font-weight:500;font-size:17.5px;line-height:1.75;color:var(--text)}
.prose ul.fr-check{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin:6px 0 24px}
.prose ul.fr-check li{padding:14px 0 14px 34px;margin:0;border-bottom:1px solid var(--line);line-height:1.6}
.prose ul.fr-check li::before{left:2px;top:16px;width:18px;height:18px;background:none;border:1px solid var(--brass);border-radius:50%;box-shadow:inset 0 0 0 4px var(--white),inset 0 0 0 9px var(--brass)}
.prose ol.fr-steps{list-style:none;counter-reset:none;margin:20px 0 24px;padding:0;display:grid;gap:12px}
.prose ol.fr-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:22px 26px;margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.prose ol.fr-steps li::before{content:none}
.prose ol.fr-steps i{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--brass-2);line-height:1.4}
.prose ol.fr-steps b{display:block;font-family:var(--kserif);font-weight:500;font-size:18px;color:var(--text);margin-bottom:4px}
.prose ol.fr-steps p{margin:0;font-size:15px;color:var(--text-2)}
.prose ol.fr-tl{list-style:none;counter-reset:none;margin:22px 0 24px;padding:0 0 0 30px;position:relative}
.prose ol.fr-tl::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:var(--brass-soft)}
.prose ol.fr-tl li{position:relative;padding:0 0 22px;margin:0}
.prose ol.fr-tl li:last-child{padding-bottom:0}
.prose ol.fr-tl li::before{content:"";position:absolute;left:-27px;top:5px;width:13px;height:13px;border-radius:50%;border:1px solid var(--brass);background:var(--paper);box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 7px var(--brass)}
.prose ol.fr-tl b{display:block;font-size:13.5px;font-weight:700;color:var(--brass-2);letter-spacing:.02em;margin-bottom:4px}
.prose ol.fr-tl p{margin:0;font-size:15.5px}
.prose .fr-caution{position:relative;border:1px solid var(--brass-soft);background:var(--white);padding:28px 26px 22px;margin:14px 0 24px;font-size:16px;line-height:1.8;color:var(--text)}
.prose .fr-caution__lab{position:absolute;left:18px;top:-11px;padding:0 8px;background:var(--paper);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--brass-2)}
@media (max-width:760px){.prose ul.fr-check{grid-template-columns:minmax(0,1fr)}.prose ol.fr-steps li{grid-template-columns:36px minmax(0,1fr);padding:18px 18px}.prose .fr-answer{font-size:16.5px;padding:18px 20px}}
.prose dl.fr-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 24px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--white)}
.prose dl.fr-info>div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.prose dl.fr-info dt{font-size:12.5px;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}
.prose dl.fr-info dd{margin:0;font-family:var(--kserif);font-weight:500;font-size:16.5px;line-height:1.55;color:var(--text)}
@media (max-width:760px){.prose dl.fr-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 랜딩(홈) 히어로 위 헤더는 이전처럼 투명 — 스크롤하거나 메뉴를 열면 배경이 생긴다 */
.hdr--clear:not(.is-scrolled):not(.is-open){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
/* 상세페이지 모델 사진 (2026-10-02, photos.py) — 본문 사진과 '홍보용 모델 이미지' 표기 */
.mfig{margin:30px 0;max-width:740px}
.mfig img{display:block;width:100%;height:auto;background:var(--paper-2)}
.mfig--port{max-width:440px}
.is-model{position:relative}
/* 2026-10-07 "홍보용 모델 이미지" 사진 위 표기는 요청으로 뺐다(권장 표기였음) */
@media (max-width:760px){.mfig{margin:24px 0}.mfig--port{max-width:none}.mfig--port img{aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}}

/* ==========================================================================
   2026-10-06 모바일 긴 페이지 이동 장치 (수정요청서 MOB-01~04 · 원장 미리보기와 같은 동작)
   1060px 이하: 헤더 아래 섹션 이동 띠 + 오른쪽 아래 "목차" 버튼 → 아래에서 올라오는 목차 시트.
   그보다 넓으면 왼쪽 고정 목차(.art__aside)를 그대로 쓴다.
   ========================================================================== */
.toc-tabs,.toc-sheet,.quick__toc{display:none}
@media (max-width:1060px){
  .toc-tabs{display:block;position:sticky;z-index:70;top:var(--hdr);background:rgba(249,247,243,.97);border-bottom:1px solid var(--line);box-shadow:0 4px 10px rgba(27,23,20,.05)}
  .toc-tabs-in{display:flex;gap:6px;overflow-x:auto;padding:7px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .toc-tabs-in::-webkit-scrollbar{display:none}
  .toc-tab{flex:none;display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:13px;line-height:1.3;color:var(--text-2);white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
  .toc-tab:hover{border-color:var(--brass);color:var(--ink)}
  .toc-tab.on{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}
  body.has-toc-nav [id]{scroll-margin-top:50px}   /* 앵커로 이동해도 제목이 띠에 가리지 않게 */
  .has-toc-nav .quick__top{display:none}        /* 맨 위로는 목차 시트 맨 위에 있다 */
  .quick__toc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--ink);border:1px solid var(--line-2);box-shadow:0 8px 20px rgba(33,28,25,.2)}
  .quick__toc svg{width:18px;height:18px;fill:none}
  .quick__toc span{font-size:9.5px;font-weight:600;line-height:1.1;letter-spacing:-.02em}
  .toc-sheet{display:block;position:fixed;inset:0;z-index:96}
  .toc-sheet[hidden]{display:none}
  .toc-sheet-bg{position:absolute;inset:0;background:rgba(27,23,20,.42);opacity:0;transition:opacity .2s}
  .toc-sheet.on .toc-sheet-bg{opacity:1}
  .toc-sheet-box{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:70vh;background:var(--paper);border-top:1px solid var(--line);border-radius:10px 10px 0 0;box-shadow:0 -10px 30px rgba(27,23,20,.22);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(100%);transition:transform .22s ease}
  .toc-sheet.on .toc-sheet-box{transform:translateY(0)}
  .toc-sheet-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid var(--line)}
  .toc-sheet-h{font-size:14.5px;font-weight:700;line-height:1.4;color:var(--ink)}
  .toc-sheet-h small{font-weight:400;font-size:12px;color:var(--muted)}
  .toc-sheet-x{flex:none;font-size:13px;color:var(--text-2);background:var(--white);border:1px solid var(--line);border-radius:3px;padding:8px 14px;min-height:40px}
  .toc-sheet-nav{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 0 14px}
  .toc-up{display:block;margin:0 18px 10px;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--white);font-size:14px;font-weight:600;text-align:center;color:var(--ink)}
  .toc-sheet-nav ol{counter-reset:tsn;margin:0;padding:0}
  .toc-sheet-nav li{border-top:1px solid var(--line)}
  .toc-sheet-nav li a{display:flex;gap:10px;min-height:48px;align-items:center;padding:12px 18px;font-size:15px;line-height:1.5;color:var(--text-2)}
  .toc-sheet-nav li a::before{counter-increment:tsn;content:counter(tsn);flex:none;width:20px;font-size:12px;color:var(--muted);text-align:right}
  .toc-sheet-nav li a:hover{background:var(--white);color:var(--ink)}
  body.sheet-open{overflow:hidden}
}
@media (max-width:760px){.quick a{width:48px;height:48px}}   /* MOB-02: 둥근 버튼 지름 48px */
@media (prefers-reduced-motion:reduce){.toc-sheet-box,.toc-sheet-bg{transition:none}}
@media print{.toc-tabs,.toc-sheet,.quick__toc{display:none!important}}

/* 2026-10-06 ALL-03·04: 서브페이지 첫 화면 버튼(원장 소개 · 상담 신청) */
.phead__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.phead__btns .btn{gap:8px}
.phead__btns .ico{width:16px;height:16px}

/* 2026-10-06 MAIN-02: 메인 "어떤 고민으로 오셨나요?" — 카드 8장, 모두 같은 크기(PC 4열×2줄 · 태블릿 2열 · 모바일 1열) */
.h-cn{background:var(--paper)}
.h-cn .sh__d+.sh__d{margin-top:6px}
.cncards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;margin-top:clamp(28px,3vw,40px)}
.cncard{display:flex;flex-direction:column;gap:10px;padding:26px 22px 22px;background:var(--white);border:1px solid var(--line)}
.cncard h3{font-family:var(--kserif);font-size:clamp(17px,1.25vw,19px);font-weight:600;line-height:1.45;color:var(--ink)}
.cncard p{font-size:14.5px;line-height:1.75;color:var(--text-2)}
.cncard ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
.cncard a{display:inline-flex;align-items:center;min-height:38px;padding:6px 13px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font-size:13.5px;color:var(--ink);transition:border-color .2s,color .2s}
.cncard a:hover{border-color:var(--brass);color:var(--brass-2)}
@media (max-width:1024px){.cncards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cncards{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}}

/* 2026-10-06 병원 제공 제조사 자료의 제품 사진 (2026-10-07 "제조사 제공 이미지" 표기는 요청으로 뺐다) */
.pgal{display:grid;gap:12px;margin:24px 0}
.pgal--1{grid-template-columns:minmax(0,560px)}
.pgal--wide{grid-template-columns:minmax(0,1fr)}   /* 위 줄(2칸)과 같은 폭 */
.pgal--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pgal--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pgal figure{margin:0;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.pgal img{display:block;width:100%;height:auto;aspect-ratio:auto}
.pgal--3 img{aspect-ratio:4/5;object-fit:cover}
.pgal figcaption{padding:10px 12px;font-size:13.5px;line-height:1.55;color:var(--text-2);border-top:1px solid var(--line)}
.is-maker{position:relative}
@media (max-width:640px){.pgal--3{grid-template-columns:repeat(2,minmax(0,1fr))}.pgal--2{grid-template-columns:minmax(0,1fr)}}
.pgal--contain img{aspect-ratio:4/3;object-fit:contain;background:#f3f5f4;padding:6px}
.gal figure.is-maker img{object-fit:contain;background:#eef1f0}

/* 2026-10-07 제품 사진 한 장씩 — 섹션 흐름 안에 모델 사진(.mfig)과 같은 폭으로 */
.pfig{margin:24px 0;max-width:740px;background:var(--white);border:1px solid var(--line)}
.pfig img{display:block;width:100%;height:auto}
.pfig--port{max-width:420px}
.pfig figcaption{padding:10px 14px;font-size:13.5px;line-height:1.55;color:var(--text-2);border-top:1px solid var(--line)}
.prose .legacy{margin:34px 0 10px}

/* 2026-10-07 영상 슬라이드 — 한 편씩 크게(본문 폭 가득, 16:9), 제목은 아래, 좌우 버튼·밀기 */
.vslide{position:relative;max-width:960px;margin:6px 0 0}
.vslide__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.vslide__track::-webkit-scrollbar{display:none}
.vslide__track:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.vslide__item{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}
.vslide__play,.vslide__frame{display:block;position:relative;width:100%;aspect-ratio:16/9;background:var(--ink);border:0;overflow:hidden}
.vslide__play img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.vslide__play:hover img{transform:scale(1.02)}
.vslide__play i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(0,0,0,.25);display:grid;place-items:center}
.vslide__play i::after{content:"";border-left:20px solid var(--ink);border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.vslide__item figcaption{padding:14px 2px 0;font-size:16.5px;font-weight:600;line-height:1.55;color:var(--ink)}
.vslide__bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.vslide__count{margin-right:auto;font-family:var(--serif);font-size:15px;color:var(--text-2);font-variant-numeric:lining-nums}
.vslide__count b{color:var(--ink);font-weight:600}
.vslide__btn{width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:var(--white);color:var(--ink);display:grid;place-items:center;transition:border-color .2s,background .2s}
.vslide__btn svg{width:20px;height:20px}
.vslide__next svg{transform:scaleX(-1)}
.vslide__btn:hover:not(:disabled){border-color:var(--ink)}
.vslide__btn:disabled{opacity:.3;cursor:default}
@media (max-width:760px){.vslide__play i{width:60px;height:60px}.vslide__item figcaption{font-size:15px}}

/* 2026-10-07 참고문헌: 앞 2편만, 나머지는 더보기 */
.refs--fold.is-collapsed .refs__extra{display:none}
.refs__more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 18px;border:1px solid var(--line-2);border-radius:999px;background:var(--white);font-size:14px;color:var(--ink)}
.refs__more:hover{border-color:var(--ink)}
.refs__more::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.refs__more[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-1px)}
.refs--fold:not(.is-collapsed) .refs__more{margin-top:20px}

/* 2026-10-07 본문 사이 가로 사진(모델 · 제품)은 본문 폭 가득 — 위아래 글 상자와 폭을 맞춘다. 세로 사진은 그대로 */
.mfig--land{max-width:none}
.pfig:not(.pfig--port){max-width:none}

/* 2026-10-07 수술 단계 그림의 단계 설명 — 사진 아래 문구 대신 묶음 아래 번호 목록 */
.gal-steps-list{counter-reset:gs;margin:16px 0 8px;padding:0;list-style:none;display:grid;gap:8px}
.gal-steps-list li{counter-increment:gs;display:flex;gap:12px;font-size:15px;line-height:1.65;color:var(--text)}
.gal-steps-list li::before{content:counter(gs,decimal-leading-zero);flex:none;font-family:var(--serif);font-style:italic;color:var(--brass-2);font-variant-numeric:lining-nums}

/* 2026-10-07 사진 카드(참고: 제목 + 짧은 설명 + 둥근 상자 속 사진, 2열) */
.pcards-sec{margin:0 0 clamp(40px,5vw,64px)}
.pcards-h{margin:0 0 18px}
.pcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(26px,3vw,38px) clamp(20px,2.4vw,30px) clamp(20px,2.4vw,28px);background:linear-gradient(180deg,#f3ece2 0%,#efe6d9 100%);border:1px solid #e8dccb}
.pcard__t{font-family:var(--kserif);font-size:clamp(18px,1.5vw,21px);font-weight:500;line-height:1.5;color:var(--ink);margin:0}
.pcard__t b{font-weight:700}
.pcard__d{margin:12px 0 22px;font-size:14.5px;line-height:1.75;color:var(--text-2);max-width:34em}
.pcard__img{margin-top:auto;width:100%;aspect-ratio:4/3;background:#fff;border-radius:14px;overflow:hidden;display:grid;place-items:center;box-shadow:0 1px 0 rgba(27,23,20,.04)}
.pcard__img img{width:100%;height:100%;object-fit:contain;padding:10px}
@media (max-width:640px){.pcards{grid-template-columns:minmax(0,1fr)}}

/* 2026-10-07 본문 사진은 혼자 좁게 뜨지 않게 — 모두 본문 폭 가득 */
.art__main .legacy figure,.art__main .fx-fig,.art__main .fx-fig--narrow{max-width:none!important}
.art__main .legacy figure img,.art__main .fx-fig img{width:100%;height:auto}
.art__main .legacy figure.is-model img{aspect-ratio:3/2;object-fit:cover}
.pfig--port{max-width:none;background:var(--pbg,#151515);border:0}
.pfig--port img{width:100%;aspect-ratio:16/9;object-fit:contain}
.pcard__img{position:relative;display:block}
.pcard__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px}

/* 2026-10-07 세로 사진은 글을 옆에 — 사진 왼쪽, 글 오른쪽 (sidefig.py) */
.mrow{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:36px;align-items:center;margin:30px 0}
.mrow > figure{margin:0!important;max-width:none!important;width:100%}
.mrow > figure img{width:100%;height:auto;display:block}
.mrow > .pfig--port{background:none}
.mrow > .pfig--port img{aspect-ratio:auto;object-fit:cover;border-radius:12px}
.mrow__txt > :first-child{margin-top:0}
.mrow__txt > :last-child{margin-bottom:0}
@media (max-width:760px){
  .mrow{grid-template-columns:minmax(0,1fr);gap:18px}
  .mrow > .pfig--port{background:var(--pbg,#151515);border-radius:12px;overflow:hidden}
  .mrow > .pfig--port img{aspect-ratio:16/9;object-fit:contain;border-radius:0}
}
.mrow__txt .who{grid-template-columns:minmax(0,1fr)}
.mrow > figure.is-model img{aspect-ratio:4/5;object-fit:cover}

/* 2026-10-07 스킨부스터 제품 카드 3열 · 링크 카드 · 제품 영상 */
.prose .pcards{margin:28px 0}
.pcards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcards--3 .pcard{padding:clamp(20px,2.4vw,28px) clamp(14px,1.8vw,20px) clamp(14px,1.8vw,20px)}
.pcards--3 .pcard__t{font-size:clamp(16px,1.3vw,18px)}
.pcards--3 .pcard__t + .pcard__img{margin-top:16px}
.pcards--3 .pcard__d{margin:8px 0 16px;font-size:13.5px}
.pcard--link{color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
.pcard--link:hover{border-color:var(--brass);transform:translateY(-2px)}
.pcard__go{margin-top:14px;font-size:13px;font-weight:600;color:var(--brass);border-bottom:1px solid currentColor}
.pvideo{margin:30px 0}
.pvideo video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;border-radius:12px}
.pvideo figcaption{margin-top:12px;font-size:15px;font-weight:600;color:var(--ink)}
@media (max-width:760px){.pcards--3{grid-template-columns:minmax(0,1fr)}}

/* 2026-10-08 수술 설명 그림 — 단계 그림 2×2 (expl_ds) */
.xsteps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}
.xstep{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.xstep img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.xstep figcaption{display:flex;gap:10px;align-items:baseline;padding:12px 14px 14px;font-size:15px;font-weight:600;color:var(--ink);line-height:1.45}
.xstep figcaption b{flex:0 0 auto;color:var(--brass);font-family:var(--kserif);font-size:15px;font-weight:600;letter-spacing:.04em}
.xfig img{border-radius:12px}
@media (max-width:520px){.xsteps{gap:10px}.xstep figcaption{font-size:13.5px;padding:10px 11px 12px}}

/* 2026-10-08 더보기·자주 묻는 질문은 박스 형태로 (원장 답 — 실리프팅 v2 방식) */
.faq{border-top:0;display:flex;flex-direction:column;gap:10px}
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:0 20px;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:#d9c9ae;box-shadow:0 3px 14px rgba(43,36,32,.06)}
.faq summary{padding:18px 0}
.faq__a{padding:0 0 22px 44px;max-width:none}
.faq__a--long{padding-right:4px}
.faq__a--long .prose{max-width:none}
.faq__a--long>*+*{margin-top:16px}
details.fold{border:1px solid var(--line);border-radius:12px;background:var(--white)}
details.fold[open]{border-color:#d9c9ae}
@media (max-width:640px){.faq details{padding:0 14px}.faq__a{padding:0 0 18px 0}}

/* 2026-10-08 수술 단계 사진: 설명을 사진마다 바로 밑에 (번호 + 설명) */
figcaption.gstep{display:flex;gap:9px;align-items:baseline;margin-top:10px;padding:0 2px;font-size:14.5px;line-height:1.55;font-weight:500;color:var(--text);text-align:left;word-break:keep-all}
figcaption.gstep b{flex:none;font-family:var(--serif);font-style:italic;font-weight:400;font-size:15px;color:var(--brass-2)}
@media (max-width:640px){figcaption.gstep{font-size:13.5px;margin-top:8px}}

/* 2026-10-08 홈 고민별 카드 정렬 — 같은 줄 카드끼리 제목·설명·시술 버튼 시작 위치를 맞춘다 (subgrid) */
@supports (grid-template-rows:subgrid){
  .cncards{grid-auto-rows:auto;row-gap:14px}
  .cncard{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:10px;align-content:start}
  .cncard ul{margin-top:0;align-self:start;padding-top:8px}
}

/* 2026-10-08 「항목·내용」 정보 표 → 카드 (factcards.py) */
.icards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 26px}
.icard{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.icard__k{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--brass-2)}
.icard__v{margin:0;font-size:15.5px;font-weight:600;line-height:1.6;color:var(--ink);word-break:keep-all}
@media (max-width:1024px){.icards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.icards{gap:8px}.icard{padding:14px 14px 16px}.icard__v{font-size:14.5px}}

/* 2026-10-08 전후사진 (/ko/cases/) — 관리자 미리보기(ba-preview)와 같은 배치 */
.ba-note{max-width:820px;margin:0 0 22px;font-size:14.5px;line-height:1.75;color:var(--text-2)}
.ba-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ba-tabs button{min-height:40px;padding:8px 18px;border:1px solid var(--line-2);border-radius:999px;background:var(--white);font-size:14px;color:var(--ink);cursor:pointer}
.ba-tabs button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.ba-count{font-size:14px;color:var(--text-2)}.ba-count b{color:var(--ink)}
.ba-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px 20px;margin-top:16px}
.ba-card{cursor:pointer}.ba-card[hidden]{display:none}
.ba-card:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ba-pair--eye{grid-template-columns:1fr}
.ba-half{position:relative}
.ba-half img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#f2f2f2}
.ba-pair--wide .ba-half img{aspect-ratio:4/3}
.ba-pair--eye .ba-half img{aspect-ratio:4.5/1}
.ba-tag{position:absolute;left:8px;top:8px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#fff}
.ba-tag--b{background:#5a5a5a}.ba-tag--a{background:var(--brass)}
.ba-label{margin:10px 0 2px;font-size:15px;font-weight:600;text-align:center;color:var(--ink);word-break:keep-all}
.ba-lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.86)}
.ba-lb[hidden]{display:none}
.ba-lb__in{width:100%;max-width:1100px}
.ba-lb__pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ba-lb__pair figure{position:relative;margin:0}.ba-lb__pair img{display:block;width:100%}
.ba-lb.is-eye .ba-lb__pair{grid-template-columns:1fr;max-width:900px;margin:0 auto}
.ba-lb__cap{margin-top:12px;font-size:15px;text-align:center;color:#fff}
.ba-lb button{position:absolute;padding:8px 14px;border:0;background:none;font-size:34px;line-height:1;color:#fff;cursor:pointer}
.ba-lb__x{top:8px;right:8px}.ba-lb__pv{left:4px;top:50%;transform:translateY(-50%)}.ba-lb__nx{right:4px;top:50%;transform:translateY(-50%)}
@media (max-width:420px){.ba-grid{grid-template-columns:minmax(0,1fr)}}

/* 2026-10-08 수술 단계 사진: 줄을 다 채우지 못한 마지막 줄(예: 6장 → 4+2)은 가운데로 */
.gal--steps{display:flex;flex-wrap:wrap;justify-content:center}
.gal--steps>figure{flex:0 0 calc((100% - 42px)/4);min-width:0}
@media (max-width:760px){.gal--steps>figure{flex-basis:calc((100% - 14px)/2)}}

/* 2026-10-08 시술 장점 목록(.ecase__points): 글자만 이어져 디자인이 빠져 보임 → 체크 아이콘 카드 (4개 → 2열, 3·5개 → 3열, 마지막 줄 가운데) */
.ecase__text:empty{display:none}
.ecase__points{gap:10px;max-width:880px;margin-inline:auto}
.ecase__points li{flex:0 0 calc((100% - 10px)/2);align-items:center;gap:12px;padding:15px 18px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:15.5px;font-weight:500;line-height:1.5;color:var(--ink);text-align:left;word-break:keep-all}
.ecase__points:has(>li:nth-child(3):last-child) li,.ecase__points:has(>li:nth-child(5):last-child) li{flex-basis:calc((100% - 20px)/3)}
.ecase__points li::before{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brass);color:#fff;font-size:13px;font-weight:700;line-height:1}
@media (max-width:640px){.ecase__points li,.ecase__points:has(>li:nth-child(3):last-child) li,.ecase__points:has(>li:nth-child(5):last-child) li{flex-basis:100%;padding:13px 15px;font-size:14.5px}}

/* 2026-10-08 사진이 든 방법 카드(CASE …): 사진 왼쪽 · 글 오른쪽, 체크는 글 밑에 줄 긋고 세로로 (methodside.py) */
.method--side{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(22px,3.4vw,44px);align-items:center;padding:clamp(20px,2.4vw,30px);border-radius:16px}
.method--side:has(.method__fig figure+figure){grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.method--side .method__fig .ecase__imgs{margin:0;max-width:none;justify-content:center;gap:8px}
.method--side .method__fig figure{max-width:none;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.method--side .ecase__imgs img{border:0}
.method--side .method__n{display:block;margin-bottom:10px;font-size:16px;letter-spacing:.06em}
.method--side .method__t{font-size:clamp(20px,1.8vw,23px);font-weight:600;color:var(--ink);line-height:1.4}
.method--side .method__d{line-height:1.75}
.method__checks{display:flex;flex-direction:column;gap:9px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none}
.method__checks li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;line-height:1.5;color:var(--ink);word-break:keep-all}
.method__checks li::before{content:"\2713";flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brass-2);color:#fff;font-size:11px;font-weight:700;line-height:1}
@media (max-width:640px){.method--side,.method--side:has(.method__fig figure+figure){grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}.method--side .method__fig .ecase__imgs{flex-direction:row}.method--side .method__fig{max-width:420px;width:100%;margin-inline:auto}.method--side .method__fig figure{flex:1 1 0!important;min-width:0}}

/* 2026-10-08 전후사진 첫 화면: 사진 없이 글만 */
.phead--cases .phead__in{grid-template-columns:minmax(0,1fr)}

/* 2026-10-13 원장 요청: 홈 고민별 카드 5장 + 카드마다 색 */
@media (min-width:1181px){.cncards{grid-template-columns:repeat(5,minmax(0,1fr))}}
.cncard{background:var(--cb,var(--white));border:0;border-top:3px solid var(--c,var(--brass))}
.cncard:nth-child(1){--c:#a98452;--cb:#f3eadb}
.cncard:nth-child(2){--c:#46605a;--cb:#e4ede9}
.cncard:nth-child(3){--c:#b0705f;--cb:#f6e6e1}
.cncard:nth-child(4){--c:#56708a;--cb:#e4ebf2}
.cncard:nth-child(5){--c:#857640;--cb:#efebd9}
.cncard a{background:rgba(255,255,255,.78);border-color:rgba(0,0,0,.07)}
.cncard a:hover{background:var(--c);border-color:var(--c);color:#fff}
@media (max-width:1180px) and (min-width:1025px){.cncards{grid-template-columns:repeat(6,minmax(0,1fr))}.cncard{grid-column:span 2}.cncard:nth-child(4){grid-column:2/4}}
@media (max-width:1024px) and (min-width:561px){.cncards{grid-template-columns:repeat(2,minmax(0,1fr))}.cncard:nth-child(5){grid-column:1/-1}}

/* 2026-10-13 사용자 "이런 영문 부분을 키워줘 잘 보이게" — 영문 소제목(Signature·Face Plus)만 크게 */
.eyebrow[lang="en"]{font-size:clamp(23px,2vw,28px);font-weight:600;letter-spacing:.015em;gap:16px}
.eyebrow[lang="en"]::before{width:34px}

/* 2026-10-13 제품별 접는 상자 (tools/product_kit.py) — 원장 "박스로 접어서", 사용자 "있는자료 및 제품 사진등을 모두 잘 활용해서" */
.pboxes{margin:24px 0}
.pboxes details.fold.pbox{margin:0}
.pbox__line{margin:6px 0 0;font-size:14.5px;color:var(--text-2)}
.pbox .pgal{margin:14px 0 4px}
.pbox .pgal--contain img{background:#fff;padding:10px}
.pbox .pvideo{margin:18px 0 6px}
.pvideo--v{max-width:360px}
.pvideo--v video{aspect-ratio:9/16}

/* 2026-10-13 PC 전화 버튼 → 병원 번호 창 (site.js telpop) */
.telpop{position:fixed;z-index:300;display:grid;gap:4px;min-width:230px;padding:18px 20px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(27,23,20,.22)}
.telpop__t{font-size:13px;font-weight:600;color:var(--brass-2)}
.telpop__num{font-size:26px;font-weight:700;letter-spacing:.02em;color:var(--ink);line-height:1.3}
.telpop__d{font-size:13px;color:var(--muted)}
.telpop__copy{margin-top:8px;padding:9px 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font-size:13.5px;color:var(--ink);cursor:pointer}
.telpop__copy:hover{border-color:var(--brass);color:var(--brass-2)}
.telpop__x{position:absolute;top:8px;right:10px;width:28px;height:28px;border:0;background:none;font-size:20px;line-height:1;color:var(--muted);cursor:pointer}

/* 2026-10-13 사용자 "이런 불필요한 여백 모두 삭제" — 사진 옆 글이 사진보다 길 때 사진 밑이 비지 않게:
   사진을 왼쪽에 띄우고 글이 사진 옆을 지나 아래까지 이어서 흐르게 한다 (본문 .split · .mrow, 넓은 화면만) */
@media (min-width:861px){
  .art__main .split,.mrow{display:flow-root}
  .art__main .split>figure,.mrow>figure{float:left;width:46%;margin:6px 40px 16px 0!important}
  .art__main .split--rev>figure{float:right;margin:6px 0 16px 40px!important}
  .art__main .split>:not(figure),.mrow>:not(figure){display:block}
  .mrow>figure.is-model img{aspect-ratio:1/1}
  .mrow>figure.is-model{width:36%}
  .mrow>figure.pfig--port{width:26%}
}
@media (min-width:641px){
  .method--side{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
}
/* 2026-10-19 다국어: 중국어·일본어는 띄어쓰기가 없어 keep-all 이면 문장이 한 덩어리가 되어 화면 밖으로 밀린다 → 글자 단위 줄바꿈 */
html[lang^="zh"] *,html[lang="ja"] *{word-break:normal}
html[lang="ja"] body{line-break:strict}
/* 2026-10-19 다국어: 휴대폰에서 숨긴 표 머리글이 긴 번역어(줄바꿈 금지)로 화면 밖까지 늘어나 가로 스크롤이 생기던 것 */
@media (max-width:640px){html:not([lang="ko"]) .tbl:not(.tbl--kv) thead{left:0;top:0}html:not([lang="ko"]) .tbl:not(.tbl--kv) thead th{white-space:normal;padding:0}}   /* .tbl--kv 는 머리글이 보이는 표라 제외 (2026-10-20: 여백 0 으로 글자가 테두리에 붙었다) */
/* 2026-10-20 번역 페이지 글자·배치 다듬기 — /en/ 등은 i18n 처리기(fp_render.php)가 <html data-i18n="long|short"> 를 붙인다.
   long = 영어·러시아어·몽골어·인도네시아어·베트남어·태국어·아랍어처럼 한국어보다 글이 긴 언어, short = 중국어·일본어 */
/* 제목·소제목 줄 길이 고르게(마지막 줄에 한두 단어만 남지 않게) */
html[data-i18n] :is(h1,h2,h3,h4,.legacy__t,.decide__q,.method__t,.phead__tag,.story__main b,.prin3 b){text-wrap:balance}
/* 표: 한국어는 짧아 머리글·첫 칸을 한 줄로 묶었지만, 번역어는 길어 표가 화면 밖으로 밀린다 */
html[data-i18n] .tbl th,html[data-i18n] .tbl td:first-child{white-space:normal;min-width:7em}
/* 중국어·일본어: 크롬이 줄 첫머리 전각 괄호(「（)의 간격을 줄이면서 줄바꿈 계산이 어긋나 제목이 한 줄로 넘쳤다 */
html[data-i18n="short"] body{text-spacing-trim:space-all}
/* 페이지 머리말: 글이 길어지면 사진(최대 640px) 아래가 비었다 → 사진을 글 높이에 맞춘다 */
html[data-i18n] .phead__fig{max-height:none}
/* 긴 언어: 큰 제목을 조금 작게 */
html[data-i18n="long"] .phead__t{font-size:clamp(28px,2.9vw,40px);letter-spacing:-.025em}
html[data-i18n="long"] .display--l{font-size:clamp(24px,2.3vw,32px)}
html[data-i18n="long"] .cta__t{font-size:clamp(22px,2.5vw,34px)}
html[data-i18n="long"] .prin3 b{font-size:clamp(18px,1.5vw,21px)}
html[data-i18n="long"] .ecase__t{font-size:clamp(18px,1.8vw,23px)}
@media (max-width:640px){
  html[data-i18n="long"] .phead__t{font-size:clamp(26px,7.2vw,32px)}
  html[data-i18n="long"] .hero__t{font-size:27px}
  html[data-i18n="long"] .h-doctor__t{font-size:22px}
  html[data-i18n="long"] .cta__t{font-size:22px}
  html[data-i18n="long"] .sec-h h2{font-size:20.5px}
  html[data-i18n="long"] .ecase__t{font-size:17.5px;padding-inline:4px}
  html[data-i18n="long"] .legacy__t{font-size:18px}
  html[data-i18n="long"] .quoteblock p{font-size:19px}
  html[data-i18n="long"] .display--l{font-size:24px}
  html[data-i18n="long"] :is(.prose h3,.fx-block>h3,.fx-h,.decide__q){font-size:18.5px}
  html[data-i18n="long"] .col-body h2{font-size:19.5px}
}
/* 메인 첫 화면(슬라이드): 높이를 화면에 고정해 두어(슬라이드는 겹쳐 놓임), 긴 번역 글이 아래 탭·버튼과 겹쳤다
   → 슬라이드 묶음을 흐름 안에 두어 가장 긴 슬라이드만큼 늘어나게(최소 화면 높이). 휴대폰은 번역 탭이 여러 줄이라 아래 여백도 더 */
html[data-i18n] .hero{height:auto;min-height:max(100svh,600px)}
html[data-i18n] .hero--slider .hero__swiper{position:relative;inset:auto;min-height:inherit}
html[data-i18n] .hero--slider .swiper-wrapper{min-height:inherit}
html[data-i18n] .hero--slider .swiper-slide{height:auto}
html[data-i18n] .hero--slider .hero__in{height:100%}
@media (max-width:640px){html[data-i18n] .hero--slider .hero__in{padding-bottom:160px}}
/* 메인 고민 카드의 시술 칩: 두 줄이 되면 알약 모양이 찌그러진다 → 한 줄일 땐 그대로, 여러 줄이면 둥근 사각 */
html[data-i18n] .cncard a{border-radius:19px;line-height:1.4}
/* 이야기 목록: 왼쪽 작은 제목 칸이 좁아 긴 번역어가 두 줄로 꺾였다 */
html[data-i18n="long"] .talks a{grid-template-columns:170px minmax(0,1fr) auto}
/* 휴대폰: 본문 2단 일부(.split, 빌드가 style 로 1.3:1 비율을 넣은 것)가 한 단으로 안 바뀌어, 글이 좁은 칸에 길게 늘어지고 사진 밑이 비었다(번역문은 더 심함) */
@media (max-width:860px){html[data-i18n] .split[style]{grid-template-columns:minmax(0,1fr)!important}}
/* 메인 '상담 신청과 오시는 길': 긴 번역 제목·설명이 화면 가운데를 넘어 오른쪽 표 위까지 이어졌다 → 왼쪽 칸 폭 안에서 줄바꿈 (2026-10-20 사용자 요청) */
@media (min-width:901px){html[data-i18n] .h-contact .sh{max-width:calc((100% - clamp(36px,5vw,72px)) * .45)}}
/* 메인: 나란한 칸끼리 같은 유형의 글(번호·제목·설명·버튼)이 같은 높이에서 시작하도록 — 번역어는 제목 줄 수가 칸마다 달라 아래 글이 들쭉날쭉했다.
   칸을 부모 격자의 줄(subgrid)에 맞춰, 같은 줄의 높이를 가장 긴 칸에 맞춘다 (2026-10-20 사용자 요청) */
html[data-i18n] .fx-points>div{display:grid;grid-row:span 3;grid-template-rows:subgrid}
html[data-i18n] .cvgrid>div{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
html[data-i18n] .tcard{display:grid;grid-row:span 2;grid-template-rows:subgrid}
html[data-i18n] .fcards--photo{grid-auto-rows:1fr auto auto auto}
html[data-i18n] .fcards--photo .fcard{display:grid;grid-row:span 4;grid-template-rows:subgrid}
html[data-i18n] .fcards--photo .fcard__ico{align-self:end}
html[data-i18n] .fcards--photo .fcard h3{line-height:1.3}
html[data-i18n] .fcards--photo .fcard :is(p,ul){min-height:0}
@media (min-width:901px){
  html[data-i18n] .story2:not(:has(.news>li:nth-child(4))){row-gap:0}
  html[data-i18n] .story2:not(:has(.news>li:nth-child(4)))>div{display:grid;grid-row:span 5;grid-template-rows:subgrid}
  html[data-i18n] .story2:not(:has(.news>li:nth-child(4))) .news{display:grid;grid-row:span 3;grid-template-rows:subgrid}
  html[data-i18n] .story2:not(:has(.news>li:nth-child(4))) .link{justify-self:start;align-self:start}
}
/* 메인 원장 소개: 번역문이 길어 오른쪽 글(제목 5줄·약력)이 사진의 두 배 넘게 길어지고, 사진이 그 가운데 떠 있었다
   → 사진 옆에는 제목·소개·이름만 두어 사진 높이 가운데에 맞추고, 약력 4칸과 버튼은 그 아래 전체 폭으로. 글자도 조금 작게 (2026-10-20 사용자 요청) */
@media (min-width:901px){
  html[data-i18n="long"] .h-doctor__grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);grid-template-rows:1fr auto auto auto 1fr auto auto;row-gap:0;align-items:start}
  html[data-i18n="long"] .h-doctor__grid>div{display:contents}
  html[data-i18n="long"] .h-doctor__img{grid-column:1;grid-row:1/6}
  html[data-i18n="long"] .h-doctor__grid>div>*{grid-column:2}
  html[data-i18n="long"] .h-doctor__t{grid-row:2;font-size:clamp(24px,2.2vw,32px);margin-top:0}
  html[data-i18n="long"] .h-doctor__lead{grid-row:3;max-width:none;font-size:15px}
  html[data-i18n="long"] .h-doctor__name{grid-row:4}
  html[data-i18n="long"] .h-doctor .cvgrid{grid-column:1/-1;grid-row:6;margin-top:56px}
  html[data-i18n="long"] .h-doctor .cvgrid~div{grid-column:1/-1;grid-row:7}
  html[data-i18n="long"] .h-doctor .cvgrid li{grid-template-columns:76px minmax(0,1fr);font-size:13.5px}
  html[data-i18n="long"] .h-doctor .cvgrid li.noyr{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:1100px){html[data-i18n="long"] .h-doctor .cvgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* 번역 페이지 전체: 나란한 카드끼리 같은 유형의 글(분류·제목·설명·날짜·입력칸) 시작 위치 맞춤 — 번역 제목·이름이 칸마다 줄 수가 달라 아래 글이 들쭉날쭉했다.
   카드를 부모 격자의 줄(subgrid)에 맞춘다. 줄 수는 카드 안 항목 수와 같아야 한다 (2026-10-20 사용자 요청 "다른 언어 페이지도 같이") */
html[data-i18n] .colcard{display:grid;grid-row:span 5;grid-template-rows:subgrid}
html[data-i18n] .colcard :is(.colcard__topic,.link){justify-self:start}
html[data-i18n] .fmini a{display:grid;grid-row:span 2;grid-template-rows:subgrid}
html[data-i18n] .plist a{display:grid;grid-row:span 2;grid-template-rows:subgrid}
html[data-i18n] .plist b{align-self:start}
html[data-i18n] .icard{display:grid;grid-row:span 2;grid-template-rows:subgrid}
html[data-i18n] .fx-related a{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
html[data-i18n] .facts>div{display:grid!important;grid-row:span 2;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:0;align-items:start}
html[data-i18n] .pcard{display:grid;grid-template-rows:subgrid;row-gap:0;justify-items:center;align-items:start}
html[data-i18n] .pcard:has(>.pcard__go){grid-row:span 4}
html[data-i18n] .pcard:has(>.pcard__d):not(:has(>.pcard__go)){grid-row:span 3}
html[data-i18n] .pcard:not(:has(>.pcard__d)){grid-row:span 2}
@media (min-width:641px){html[data-i18n] .form__row>div{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}}
/* 사진-글 2단: 번역 글이 사진보다 길면 사진이 글 가운데쯤 떠 있었다 → 사진은 글 첫 줄에 맞춰 위에 둔다(사진이 더 길면 지금처럼 글이 가운데) */
html[data-i18n] .split>.split__img,html[data-i18n] .method--side>.method__fig{align-self:start}
/* 제목 글자 크기: 번역문이 길어 한국어보다 두세 줄 더 꺾이던 곳 */
html[data-i18n="long"] .ecase__t{font-size:clamp(17px,1.5vw,20px)}
html[data-i18n="long"] .pcard__t{font-size:clamp(16px,1.3vw,18px)}
@media (min-width:1181px){html[data-i18n="long"] .cncard h3{font-size:16.5px}}
@media (min-width:861px) and (max-width:1180px){html[data-i18n="long"] .phead__t{font-size:clamp(24px,2.6vw,30px)}}
html[data-i18n="short"] .phead__t{font-size:clamp(28px,3.3vw,46px)}
/* 일본어 제목: 글자 단위로 아무 데서나 꺾여 낱말 중간(製品/か)이 갈라졌다 → 어절 단위 줄바꿈(Chrome 119+, 못 쓰는 브라우저는 지금과 같음) */
html[lang="ja"] :is(h1,h2,h3,.phead__t,.phead__tag,.display){word-break:auto-phrase}
/* 선택 도우미(.decide)의 시술 이름: 한국어용 한 줄 고정이라 긴 번역 이름이 칸 밖으로 나가 가로 스크롤이 생겼다(몽골어 리프팅 1024px) */
html[data-i18n] .decide__opts b{white-space:normal}
