/* ==========================================================================
   Atelier Plastic Surgery — site.css
   Navy · Champagne gold · Ivory paper. Serif display, Pretendard body.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

:root{
  --ink:#12172a; --ink-2:#1b2139; --ink-3:#252c48;
  --paper:#f7f4ee; --paper-2:#efe9dd; --paper-3:#e8e1d3; --white:#ffffff;
  --gold:#c2a267; --gold-2:#a3874f; --gold-soft:#e6d8b8; --gold-faint:rgba(194,162,103,.16);
  --text:#1f2333; --text-2:#4d515e; --muted:#7f8391; --line:#e1dbcf; --line-2:#cfc6b4; --line-dark:rgba(255,255,255,.14);
  --serif:'Cormorant Garamond','Noto Serif KR',Georgia,serif;
  --kserif:'Noto Serif KR','Cormorant Garamond',Georgia,serif;
  --sans:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  --wrap:1240px; --wrap-n:880px;
  --hdr:80px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
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}
html:lang(ja) body,html:lang(zh) body{word-break:normal;line-break:strict}
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(--gold-soft);color:var(--ink)}

/* ---------- type ---------- */
.serif{font-family:var(--kserif)}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);font-weight:600;display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.eyebrow--plain::before{display:none}
.eyebrow--light{color:var(--gold)}
.eyebrow--sig{text-transform:none;letter-spacing:.06em;font-size:13.5px}
.display{font-family:var(--kserif);font-weight:500;letter-spacing:-.02em;line-height:1.28}
.display--xl{font-size:clamp(34px,5vw,64px)}
.display--l{font-size:clamp(30px,3.6vw,46px)}
.display--m{font-size:clamp(24px,2.6vw,34px)}
.display--s{font-size:clamp(20px,2vw,26px)}
.lead{font-size:clamp(17px,1.35vw,19.5px);line-height:1.9;color:var(--text-2)}
.latin{font-family:var(--serif);font-style:italic;font-weight:500}
.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,9vw,128px) 0}
.sec--tight{padding:clamp(56px,6vw,88px) 0}
.sec--ink{background:var(--ink);color:#e9e6de}
.sec--ink .eyebrow{color:var(--gold)}
.sec--paper2{background:var(--paper-2)}
.sec--white{background:var(--white)}
.sh{margin-bottom:clamp(36px,4vw,56px)}
.sh .eyebrow{margin-bottom:18px}
.sh__t{font-family:var(--kserif);font-weight:500;font-size:clamp(26px,3vw,38px);line-height:1.3;letter-spacing:-.02em}
.sh__d{margin-top:16px;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 22px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 30px;border-radius:999px;font-size:14.5px;font-weight:600;letter-spacing:.02em;transition:all .35s var(--ease);white-space:nowrap}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--gold:hover{background:var(--gold-2);color:#fff}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--ink-3)}
.btn--ghost{border:1px solid var(--gold);color:var(--gold)}
.btn--ghost:hover{background:var(--gold);color:var(--ink)}
.btn--ghost-dark{border:1px solid var(--ink);color:var(--ink)}
.btn--ghost-dark:hover{background:var(--ink);color:#fff}
.btn--sm{height:44px;padding:0 22px;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:.04em;color:var(--ink);border-bottom:1px solid var(--gold);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:var(--ink);color:#fff;transition:background .4s var(--ease),transform .4s var(--ease),box-shadow .4s}
.hdr--clear{background:linear-gradient(to bottom,rgba(10,13,26,.6),rgba(10,13,26,0))}
.hdr--clear.is-scrolled{background:var(--ink)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{max-width:1400px;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;color:#fff}
.logo img{display:block;height:26px;width:auto}
.logo--stack img{height:72px}
@media (max-width:640px){.hdr .logo img,.mnav .logo img{height:21px}}
.nav{display:flex;align-items:center;height:100%}
.nav__item{position:relative;height:100%;display:flex;align-items:center}
.nav__link{display:flex;align-items:center;height:100%;padding:0 18px;font-size:15px;font-weight:500;color:rgba(255,255,255,.82);letter-spacing:-.01em;position:relative;transition:color .3s}
.nav__link::after{content:"";position:absolute;left:18px;right:18px;bottom:22px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav__item:hover .nav__link,.nav__item.is-active .nav__link{color:#fff}
.nav__item:hover .nav__link::after,.nav__item.is-active .nav__link::after{transform:scaleX(1)}
.nav__item{position:static}
.mega{position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--text);border-top:1px solid var(--line);box-shadow:0 40px 60px rgba(10,13,26,.25);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.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:300px minmax(0,1fr);gap:56px;padding:40px 32px 44px}
.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(--gold-2);letter-spacing:.04em}
.mega__intro b{font-family:var(--kserif);font-weight:500;font-size:20px;line-height:1.4;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:4px;transition:color .2s}
.mega__link i{font-style:normal;font-size:10.5px;letter-spacing:.16em;padding:3px 7px;background:var(--gold);color:var(--ink);font-weight:700}
.mega__link svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.mega__link:hover,.mega__link.is-current{color:var(--gold-2)}
.mega__link:hover svg{transform:translateX(4px)}
.mega__intro figure{margin-top:auto;padding-top:16px;aspect-ratio:16/9;overflow:hidden;border-radius:2px}
.mega__intro figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.mega__cols{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:12px 36px;align-content:start}
.mega__t{font-size:12px;font-weight:700;color:var(--gold-2);letter-spacing:.08em;padding:0 12px 10px;margin-bottom:6px;border-bottom:1px solid var(--gold-soft);white-space:nowrap}
.mega__item{display:block;padding:9px 12px;border-radius:4px;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:#faf8f3}
.mega__item:hover b,.mega__item.is-current b{color:var(--gold-2)}
.mega-shade{position:fixed;inset:0;z-index:80;background:rgba(10,13,26,.45);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:36px}.mega__intro figure{display:none}}
.hdr__cta{display:flex;align-items:center;gap:16px}
.hdr__tel{font-family:var(--serif);font-size:19px;letter-spacing:.02em;color:rgba(255,255,255,.85)}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.burger span{width:24px;height:1.5px;background:#fff;transition:all .3s var(--ease)}
@media (max-width:1180px){.nav__link{padding:0 13px;font-size:14px}.hdr__tel{display:none}html:not([lang="ko"]) .nav__link{padding:0 9px}}
@media (max-width:1024px){.nav{display:none}.burger{display:flex}.hdr__cta .btn{display:none}}
/* mobile nav */
.mnav{position:fixed;inset:0;z-index:100;background:var(--ink);color:#fff;transform:translateX(100%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;overflow-y:auto;padding:0 0 60px}
.mnav.is-open{transform:translateX(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-dark)}
.mnav__close{width:44px;height:44px;display:grid;place-items:center;font-size:26px}
.mnav__group{border-bottom:1px solid var(--line-dark)}
.mnav__head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 22px;font-family:var(--kserif);font-size:19px;font-weight:500;text-align:left}
.mnav__head svg{width:18px;height:18px;transition:transform .3s}
.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-size:12px;color:var(--gold);letter-spacing:.06em;margin:16px 0 8px}
.mnav__body a{display:block;padding:9px 0;font-size:15.5px;color:rgba(255,255,255,.85)}
.mnav__body a b{display:block;font-weight:500}
.mnav__body a span{display:block;font-size:12.5px;color:rgba(255,255,255,.5);margin-top:1px}
.mnav__intro{font-family:var(--kserif);font-size:15px;line-height:1.5;color:var(--gold-soft);padding:6px 0 10px;border-bottom:1px solid var(--line-dark)}
.mnav__guide{display:flex !important;align-items:center;gap:8px;padding:12px 0 !important;font-weight:600;color:#fff !important}
.mnav__guide i{font-style:normal;font-size:10px;letter-spacing:.16em;padding:3px 7px;background:var(--gold);color:var(--ink);font-weight:700}
.mnav__foot{padding:28px 22px;display:flex;flex-direction:column;gap:14px}
.mnav__foot .btn{width:100%}
.mnav__brand{align-self:center;width:112px;margin-top:26px;opacity:.55}
.mnav__brand img{display:block;width:100%;height:auto}

/* ---------- hero (home) ---------- */
.hero{position:relative;height:100svh;min-height:640px;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;transform:scale(1.04);animation:heroZoom 18s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,13,26,.88) 0%,rgba(10,13,26,.35) 45%,rgba(10,13,26,.25) 100%)}
.hero__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;justify-content:safe flex-end;padding-top:calc(var(--hdr) + 24px);padding-bottom:clamp(64px,9vh,120px)}
.hero__eyebrow{margin-bottom:26px}
.hero__t{font-family:var(--kserif);font-weight:500;font-size:clamp(34px,min(5.6vw,8vh),72px);line-height:1.22;letter-spacing:-.025em;max-width:24ch}
.hero__t em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold)}
.hero__d{margin-top:26px;max-width:640px;font-size:clamp(15.5px,1.2vw,18px);line-height:1.9;color:rgba(255,255,255,.78)}
.hero__cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}
.hero__in>*{flex-shrink:0}
.hero__scroll{position:absolute;right:40px;bottom:40px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.hero__scroll i{width:1px;height:56px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--gold);animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{to{top:100%}}
.hero__mute{position:absolute;left:40px;bottom:40px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;color:#fff;opacity:.8}
.hero__mute svg{width:18px;height:18px}
@media (min-width:641px) and (max-height:820px){.hero__eyebrow{margin-bottom:16px}.hero__d{margin-top:18px;line-height:1.75}.hero__cta{margin-top:28px}}
@media (max-width:640px) and (max-height:760px){.hero__t{font-size:28px}.hero__eyebrow{margin-bottom:14px}.hero__d{margin-top:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hero__cta{margin-top:22px}}
@media (max-width:640px){.hero__cta{flex-wrap:nowrap;gap:8px}.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}}
@media (max-width:640px){.hero{min-height:560px}.hero__scroll{display:none}.hero__mute{left:22px;bottom:22px}}

/* ---------- page banner ---------- */
.pb{position:relative;background:var(--ink);color:#fff;min-height:clamp(420px,52vh,600px);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:.55}
.pb__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,23,42,.96) 0%,rgba(18,23,42,.55) 55%,rgba(18,23,42,.3) 100%)}
.pb--plain .pb__shade{background:radial-gradient(1200px 500px at 80% -10%,rgba(194,162,103,.16),transparent 60%)}
.pb__in{position:relative;z-index:2;width:100%;padding-bottom:clamp(44px,6vw,72px)}
.pb__copy{font-family:var(--kserif);font-weight:500;font-size:clamp(30px,4.4vw,58px);line-height:1.25;letter-spacing:-.025em;max-width:22ch}
.pb__copy>span{display:block}
.pb__copy>span+span{color:var(--gold-soft)}
.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:rgba(255,255,255,.62);margin-bottom:26px;letter-spacing:.02em}
.crumb a:hover{color:#fff}
.crumb span{color:inherit}
.crumb i{width:3px;height:3px;border-radius:50%;background:var(--gold);display:inline-block}
.crumb b{font-weight:500;color:#fff}

/* ---------- article head (H1 + definition) ---------- */
.ahead{padding:clamp(56px,7vw,96px) 0 clamp(24px,3vw,40px)}
.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:28px;padding:30px 34px;background:var(--white);border-left:2px solid var(--gold);font-size:clamp(17px,1.35vw,19.5px);line-height:1.85;color:var(--text)}
.def b{color:var(--gold-2);font-weight:600}

/* ---------- article layout ---------- */
.art{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start;padding-bottom:clamp(64px,8vw,112px)}
.art__aside{position:sticky;top:calc(var(--hdr) + 32px)}
.toc{border-top:1px solid var(--ink);padding-top:18px}
.toc__t{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:14px}
.toc a{display:flex;gap:12px;align-items:baseline;padding:8px 0;font-size:14px;color:var(--text-2);border-bottom:1px solid var(--line);transition:color .2s}
.toc a i{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--gold-2);min-width:20px}
.toc a:hover,.toc a.is-active{color:var(--ink);font-weight:600}
.toc__cta{margin-top:24px;padding:22px;background:var(--ink);color:#fff;border-radius:4px}
.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,.7);line-height:1.6}
.toc__cta .btn{margin-top:16px;width:100%}
.art__main>section{padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line)}
.art__main>section:first-child{border-top:0;padding-top:12px}
.sec-h{display:flex;align-items:baseline;gap:18px;margin-bottom:28px}
.sec-h i{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-2);font-weight:500}
.sec-h h2{font-family:var(--kserif);font-weight:500;font-size:clamp(22px,2.3vw,30px);letter-spacing:-.02em;line-height:1.3}
.prose{max-width:720px;color:var(--text-2)}
.prose p{margin-bottom:1.1em}
.prose p:last-child{margin-bottom:0}
.prose h3{font-family:var(--kserif);font-weight:500;font-size:21px;color:var(--text);margin:36px 0 12px}
.prose ul{padding-left:0}
.prose li{position:relative;padding-left:20px;margin-bottom:8px}
.prose li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--gold)}
@media (max-width:1024px){.art{grid-template-columns:minmax(0,1fr);gap:0}.art__aside{position:static}.toc{display:none}}

/* who */
.who{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px}
.who li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--text-2)}
.who li::before{content:"";flex:0 0 auto;width:22px;height:22px;border:1px solid var(--gold);border-radius:50%;background:radial-gradient(circle,var(--gold) 0 3px,transparent 3.5px);margin-top:4px}
@media (max-width:640px){.who{grid-template-columns:minmax(0,1fr)}}

/* methods */
.methods{display:grid;gap:18px}
.method{background:var(--white);padding:30px 32px;border:1px solid var(--line);display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;transition:border-color .3s}
.method:hover{border-color:var(--gold)}
.method__n{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--gold-2);line-height:1}
.method__t{font-family:var(--kserif);font-weight:500;font-size:20px;margin-bottom:8px;letter-spacing:-.01em}
.method__d{color:var(--text-2);font-size:15.5px}
.method__fit{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gold-2);font-weight:600;letter-spacing:.02em}
.method__fit::before{content:"";width:14px;height:1px;background:var(--gold)}
@media (max-width:640px){.method{grid-template-columns:minmax(0,1fr);gap:10px;padding:24px}}

/* facts */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line-2);background:var(--white)}
.facts>div{padding:22px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts>div:nth-child(3n){border-right:0}
.facts>div:nth-last-child(-n+3){border-bottom:0}
.facts dt{font-size:12px;letter-spacing:.14em;color:var(--muted);font-weight:600;margin-bottom:6px}
.facts dd{font-family:var(--kserif);font-size:18px;font-weight:500;color:var(--text)}
.facts dt,.facts dd{overflow-wrap:anywhere;hyphens:auto}
@media (max-width:768px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div{padding:18px 16px}.facts>div:nth-child(3n){border-right:1px solid var(--line)}.facts>div:nth-child(2n){border-right:0}.facts>div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.facts>div:nth-last-child(-n+2){border-bottom:0}}

/* approach */
.approach{display:grid;gap:0;border-top:1px solid var(--ink)}
.approach>li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}
.approach>li>i{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--gold-2);line-height:1.1}
.approach b{display:block;font-family:var(--kserif);font-weight:500;font-size:20px;margin-bottom:8px;letter-spacing:-.01em}
.approach p{color:var(--text-2);font-size:15.5px}
.approach .prose li{display:list-item;grid-template-columns:none;padding:0 0 0 20px;border:0;margin-bottom:6px;font-size:15px}
@media (max-width:640px){.approach>li{grid-template-columns:44px 1fr}}

/* 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 28px}
.tl li::before{content:"";position:absolute;left:-32px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1px solid var(--gold);box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 6px var(--gold)}
.tl b{display:block;font-size:12.5px;letter-spacing:.14em;color:var(--gold-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:28px 32px;position:relative}
.caution::before{content:"부작용 · 주의사항";position:absolute;top:-10px;left:24px;background:#fbf9f4;padding:0 10px;font-size:12px;letter-spacing:.12em;color:var(--gold-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)}

/* research */
.rs{display:grid;gap:0;border-top:1px solid var(--ink)}
.rs li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}
.rs__k{display:inline-flex;flex-direction:column;gap:6px}
.rs__k b{display:inline-block;font-size:11px;letter-spacing:.14em;padding:5px 9px;border:1px solid var(--gold);color:var(--gold-2);font-weight:700;text-align:center}
.rs__k small{font-size:11.5px;color:var(--muted);text-align:center}
.rs__t{font-family:var(--kserif);font-size:17.5px;font-weight:500;line-height:1.5;color:var(--text)}
.rs__t.is-latin{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:500}
.rs__v{margin-top:6px;font-size:14px;color:var(--text-2)}
.rs__v a{color:var(--gold-2);border-bottom:1px solid var(--gold-soft);margin-left:8px;font-family:var(--sans);font-style:normal;font-size:13px}
.rs__n{margin-top:8px;font-size:14px;color:var(--muted);padding-left:14px;border-left:2px solid var(--gold-soft)}
.rs__more{margin-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:14px;color:var(--text-2)}
@media (max-width:640px){.rs li{grid-template-columns:minmax(0,1fr);gap:10px}.rs__k{flex-direction:row}}

/* 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:36px minmax(0,1fr) 28px;gap:16px;align-items:baseline;padding:22px 0;font-family:var(--kserif);font-size:18px;font-weight:500;letter-spacing:-.01em;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-2)}
.faq summary::after{content:"+";font-family:var(--serif);font-size:26px;color:var(--gold-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(--gold-2)}
.faq__a{padding:0 0 26px 52px;color:var(--text-2);font-size:15.5px;max-width:720px}
@media (max-width:640px){.faq summary{grid-template-columns:28px 1fr 24px;font-size:16.5px}.faq__a{padding-left:44px}}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--white);border:1px solid var(--line);padding:28px 28px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 20px 40px rgba(18,23,42,.08)}
.card small{font-size:11.5px;letter-spacing:.14em;color:var(--gold-2);font-weight:700}
.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}
@media (max-width:1024px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards{grid-template-columns:minmax(0,1fr)}}

/* tables */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;min-width:640px;background:var(--white);font-size:15px}
.tbl th{font-size:12px;letter-spacing:.14em;color:var(--muted);font-weight:700;text-align:left;padding:14px 16px;border-bottom:1px solid var(--ink);white-space:nowrap}
.tbl td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-2)}
.tbl td:first-child{font-family:var(--kserif);font-weight:500;font-size:16.5px;color:var(--text);white-space:nowrap}
.tbl td:first-child a{border-bottom:1px solid var(--gold-soft)}
.tbl tr:hover td{background:#fcfbf8}

/* decision (guide) */
.decide{display:grid;gap:18px}
.decide__item{background:var(--white);border:1px solid var(--line);padding:32px 34px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px}
.decide__q{font-family:var(--kserif);font-weight:500;font-size:22px;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}
.decide__opts a:hover{border-color:var(--gold);background:#fdfcf9}
.decide__opts b{font-family:var(--kserif);font-weight:500;font-size:16.5px;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:26px}}

/* group listing */
.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:26px 26px 24px;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:18.5px;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center}
.plist b::after{content:"→";font-family:var(--serif);color:var(--gold-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)}
.plist__g{margin:44px 0 16px;display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:.14em;color:var(--gold-2);font-weight:700}
.plist__g::after{content:"";flex:1;height:1px;background:var(--gold-soft)}
.plist__g:first-child{margin-top:0}
@media (max-width:1024px){.plist{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.plist{grid-template-columns:minmax(0,1fr)}}

/* cta band */
.cta{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 400px at 15% 120%,rgba(194,162,103,.22),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(64px,8vw,104px)}
.cta__t{font-family:var(--kserif);font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.3;letter-spacing:-.02em}
.cta__t em{font-family:var(--serif);font-style:italic;color:var(--gold)}
.cta__mark{position:absolute;right:-3%;bottom:-16%;width:min(46vw,520px);color:var(--gold);opacity:.08;pointer-events:none}
.cta__mark svg{display:block;width:100%;height:auto}
.cta__d{margin-top:18px;color:rgba(255,255,255,.7);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:.02em;line-height:1;color:#fff}
.cta__tel small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--gold);margin-bottom:12px;font-weight:600}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
@media (max-width:860px){.cta__in{grid-template-columns:minmax(0,1fr)}}

/* footer */
.ftr{background:#0d1122;color:rgba(255,255,255,.72);font-size:14px;border-top:1px solid var(--line-dark)}
.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:clamp(56px,6vw,80px) 0 48px}
.ftr .logo{margin-bottom:18px}
.ftr__ko{margin-bottom:22px;opacity:.55}
.ftr__ko img{display:block;height:17px;width:auto}
.ftr__info p.ftr__sig{margin:-6px 0 22px;font-family:var(--kserif);font-size:17px;line-height:1.5;color:var(--gold)}
.ftr__t{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:18px}
.ftr__info p{margin-bottom:8px;line-height:1.7}
.ftr__info a{border-bottom:1px solid rgba(255,255,255,.2)}
.ftr__hours dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}
.ftr__hours dt{color:rgba(255,255,255,.5)}
.ftr__links a{display:block;padding:5px 0;transition:color .2s}
.ftr__links a:hover{color:#fff}
.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(--gold);color:var(--gold)}
.ftr__social svg{width:16px;height:16px;fill:currentColor}
.ftr__bot{border-top:1px solid var(--line-dark);padding:24px 0 32px;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__lang{display:flex;gap:6px 16px;flex-wrap:wrap}
.ftr__lang a{display:inline-flex;align-items:center;gap:6px}
.ftr__lang a.is-current{color:var(--gold)}
@media (max-width:1024px){.ftr__top{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ftr__top{grid-template-columns:minmax(0,1fr);gap:32px}}

/* floating quick actions */
.quick{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;gap:10px}
.quick a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px rgba(18,23,42,.25);transition:transform .3s var(--ease)}
.quick a:hover{transform:translateY(-3px)}
.quick__kakao{background:#f7e317;color:#191919 !important}
.quick__tel{background:var(--ink)}
.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(18,23,42,.22)}
  .quick svg{width:19px;height:19px}
  .quick.is-idle{transform:translateY(150%);opacity:0;pointer-events:none}
}
@media (max-width:640px){.quick{right:16px;bottom:16px}.quick a{width:50px;height:50px}}

/* ---------- home sections ---------- */
.h-intro{background:var(--paper)}
.h-intro__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.h-intro__quote{font-family:var(--kserif);font-weight:500;font-size:clamp(26px,3vw,40px);line-height:1.4;letter-spacing:-.02em}
.h-intro__quote em{font-family:var(--serif);font-style:italic;color:var(--gold-2)}
.h-intro__body{color:var(--text-2)}
.principles{margin-top:40px;border-top:1px solid var(--ink)}
.principles li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.principles i{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--gold-2)}
.principles b{display:block;font-family:var(--kserif);font-weight:500;font-size:18.5px;margin-bottom:4px}
.principles p{font-size:14.5px;color:var(--text-2)}
@media (max-width:900px){.h-intro__grid{grid-template-columns:minmax(0,1fr);gap:40px}}

.h-doctor{background:var(--ink);color:#fff;overflow:hidden}
.h-doctor__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,96px);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;filter:saturate(.9)}
.h-doctor__img::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(194,162,103,.35);transform:translate(16px,16px);pointer-events:none}
.h-doctor__t{font-family:var(--kserif);font-weight:500;font-size:clamp(30px,3.8vw,50px);line-height:1.25;letter-spacing:-.025em}
.h-doctor__name{margin-top:26px;display:flex;align-items:baseline;gap:14px}
.h-doctor__name b{font-family:var(--kserif);font-size:22px;font-weight:500}
.h-doctor__name span{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:17px}
.h-doctor__d{margin-top:22px;color:rgba(255,255,255,.72);max-width:520px}
.h-doctor__cv{margin-top:30px;border-top:1px solid var(--line-dark)}
.h-doctor__cv li{padding:11px 0;border-bottom:1px solid var(--line-dark);font-size:14.5px;color:rgba(255,255,255,.78);display:flex;gap:16px}
.h-doctor__cv li::before{content:"—";color:var(--gold)}
.h-doctor .link{margin-top:32px}
@media (max-width:900px){.h-doctor__grid{grid-template-columns:minmax(0,1fr)}.h-doctor__img{max-width:520px}}

.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.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:30px 26px}
.field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform 1.2s var(--ease),opacity .6s}
.field::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,13,26,.95) 0%,rgba(10,13,26,.35) 55%,rgba(10,13,26,.1) 100%)}
.field:hover img{transform:scale(1.06);opacity:.85}
.field>*{position:relative}
.field small{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold);letter-spacing:.04em}
.field b{font-family:var(--kserif);font-weight:500;font-size:24px;margin-top:8px;letter-spacing:-.02em}
.field p{margin-top:8px;font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.6}
.field ul{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;gap:6px 14px}
.field ul li{font-size:12.5px;color:rgba(255,255,255,.7)}
.field .link{margin-top:18px;font-size:12.5px}
@media (max-width:1024px){.fields{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.fields{grid-template-columns:minmax(0,1fr)}.field{aspect-ratio:auto;min-height:320px}}

.sig{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.sig__item{background:var(--white);border:1px solid var(--line);padding:34px 34px 30px;display:flex;flex-direction:column;gap:12px;transition:border-color .3s,transform .35s var(--ease)}
.sig__item:hover{border-color:var(--gold);transform:translateY(-3px)}
.sig__n{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold-2);letter-spacing:.06em}
.sig__t{font-family:var(--kserif);font-weight:500;font-size:24px;letter-spacing:-.02em;line-height:1.3}
.sig__d{color:var(--text-2);font-size:15px;flex:1}
.sig__ev{margin-top:10px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:13px;color:var(--muted);line-height:1.6}
.sig__ev b{display:block;color:var(--text);font-weight:600;font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:.01em}
@media (max-width:760px){.sig{grid-template-columns:minmax(0,1fr)}}

.h-research{background:var(--ink-2);color:#fff}
.h-research__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.h-research__t{font-family:var(--kserif);font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.25;letter-spacing:-.025em}
.h-research__d{margin-top:20px;color:rgba(255,255,255,.72);max-width:480px}
.h-research__badges{margin-top:30px;display:flex;gap:28px;flex-wrap:wrap}
.h-research__badges div{border-left:1px solid var(--gold);padding-left:16px}
.h-research__badges b{display:block;font-family:var(--serif);font-size:30px;font-weight:500;line-height:1;color:#fff}
.h-research__badges span{font-size:12.5px;letter-spacing:.08em;color:rgba(255,255,255,.6)}
.papers{border-top:1px solid var(--line-dark)}
.papers li{padding:22px 0;border-bottom:1px solid var(--line-dark);display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px}
.papers i{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px}
.papers b{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:20px;line-height:1.4;color:#fff}
.papers span{display:block;margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.62)}
.papers p{margin-top:8px;font-size:14px;color:rgba(255,255,255,.78)}
@media (max-width:900px){.h-research__grid{grid-template-columns:minmax(0,1fr)}}

.care{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.care__item{position:relative;min-height:440px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:40px 40px 36px;background:var(--ink)}
.care__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform 1.2s var(--ease)}
.care__item:hover img{transform:scale(1.05)}
.care__item::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,13,26,.95),rgba(10,13,26,.2) 60%,transparent)}
.care__item>*{position:relative}
.care__item b{font-family:var(--kserif);font-weight:500;font-size:28px;letter-spacing:-.02em;line-height:1.3}
.care__item p{margin-top:12px;color:rgba(255,255,255,.75);font-size:15px;max-width:460px}
.care__item .link{margin-top:22px}
@media (max-width:760px){.care{grid-template-columns:minmax(0,1fr)}.care__item{min-height:360px;padding:28px}}

.strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:260px;gap:12px}
.strip figure{overflow:hidden;background:var(--paper-2)}
.strip figure:first-child{grid-row:span 2}
.strip img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.strip figure:hover img{transform:scale(1.05)}
@media (max-width:760px){.strip{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.strip figure:first-child{grid-column:span 2}}

.media{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
.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}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85;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(10,13,26,.9),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}
.news{border-top:1px solid var(--ink)}
.news li{border-bottom:1px solid var(--line)}
.news a{display:block;padding:18px 0}
.news small{font-size:11.5px;letter-spacing:.14em;color:var(--gold-2);font-weight:700}
.news b{display:block;font-family:var(--kserif);font-weight:500;font-size:17.5px;margin-top:6px;line-height:1.45}
.news span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px}
@media (max-width:900px){.media{grid-template-columns:minmax(0,1fr)}}

.h-contact{background:var(--paper-2)}
.h-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.h-contact__img{aspect-ratio:4/3;overflow:hidden}
.h-contact__img img{width:100%;height:100%;object-fit:cover}
.info{display:grid;gap:22px;margin-top:30px}
.info dt{font-size:11.5px;letter-spacing:.2em;color:var(--gold-2);font-weight:700;margin-bottom:6px}
.info dd{font-size:16px;color:var(--text)}
.info dd small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
@media (max-width:900px){.h-contact__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- bespoke pages ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);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(18,23,42,.72);color:#fff;font-size:12px;letter-spacing:.06em}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}.split--rev>:first-child{order:0}}
.quoteblock{padding-block:clamp(48px,6vw,80px);text-align:center}
.quoteblock p{font-family:var(--kserif);font-weight:500;font-size:clamp(22px,2.8vw,34px);line-height:1.5;letter-spacing:-.02em;max-width:22ch;margin:0 auto}
.quoteblock__mark{width:36px;margin:0 auto 22px;color:var(--gold)}
.quoteblock__mark svg{display:block;width:100%;height:auto}
.quoteblock small{display:block;margin-top:18px;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gold-2);letter-spacing:.04em}
.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:28px 24px 30px;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:30px;color:var(--gold-2);display:block;line-height:1;margin-bottom:18px}
.steps b{display:block;font-family:var(--kserif);font-weight:500;font-size:18.5px;margin-bottom:8px;letter-spacing:-.01em}
.steps p{font-size:14px;color:var(--text-2)}
@media (max-width:1024px){.steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.steps{grid-template-columns:minmax(0,1fr)}}
.cv{display:grid;grid-template-columns:repeat(2,1fr);gap:48px}
.cv__t{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.cv li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:11px 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(--gold-2);font-size:15px;letter-spacing:.02em}
.cv li.is-1col{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.cv{grid-template-columns:minmax(0,1fr)}}
.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)}
.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(18,23,42,.8),transparent);color:#fff;font-size:13px;letter-spacing:.04em}
@media (max-width:760px){.gal{grid-template-columns:repeat(2,1fr)}}
.eq{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eq>div{background:var(--white);border:1px solid var(--line);padding:22px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center}
.eq img{width:96px;height:110px;object-fit:contain}
.eq b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px;margin-bottom:4px}
.eq p{font-size:13.5px;color:var(--text-2)}
@media (max-width:1024px){.eq{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.eq{grid-template-columns:minmax(0,1fr)}}
.sched{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.sched div{background:var(--white);border:1px solid var(--line);padding:28px 30px}
.sched h3{font-family:var(--kserif);font-weight:500;font-size:20px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.sched li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--text-2)}
.sched li b{color:var(--gold-2);font-weight:700;font-size:13px;letter-spacing:.06em}
@media (max-width:760px){.sched{grid-template-columns:minmax(0,1fr)}}

/* academic page */
.acad h2{font-family:var(--kserif);font-weight:500;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em;margin-bottom:22px;display:flex;align-items:baseline;gap:16px}
.acad h2 i{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-2)}
.acad h3{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin:34px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.pubs{counter-reset:pub}
.pubs li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-2);line-height:1.7}
.pubs li::before{counter-increment:pub;content:counter(pub);font-family:var(--serif);font-style:italic;color:var(--gold-2);font-size:17px}
.pubs b{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--text);font-size:17.5px;letter-spacing:.005em}
.pubs b.ko{font-family:var(--kserif);font-style:normal;font-size:16.5px}
.pubs a{color:var(--gold-2);border-bottom:1px solid var(--gold-soft);font-size:13px;margin-left:8px;white-space:nowrap}
.pubs .note{display:block;font-size:13.5px;color:var(--muted);margin-top:4px;padding-left:12px;border-left:2px solid var(--gold-soft)}
/* 논문 첫 장 썸네일 — cover 가 있는 항목만 3열, 없는 항목은 본문이 2열을 걸쳐 당겨진다 */
.pubs--cov li{grid-template-columns:36px 150px minmax(0,1fr)}
.pubs--cov li>div{grid-column:3}
.pubs--cov li.nc>div{grid-column:2/-1}
.pubs .pubs__cov{display:block;margin:2px 0 0;padding:0;border-bottom:0;white-space:normal}
.pubs__cov img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#fff;transition:border-color .2s var(--ease)}
.pubs__cov:hover img{border-color:var(--gold-2)}
.talks li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-2)}
.talks li b{font-size:11px;letter-spacing:.12em;padding:4px 8px;border:1px solid var(--gold);color:var(--gold-2);font-weight:700;text-align:center;align-self:start;white-space:nowrap}
.talks li b.chair{background:var(--gold);color:var(--ink)}
.talks li strong{display:block;font-weight:500;color:var(--text)}
.talks li span{font-size:13.5px;color:var(--muted)}
.talks li span.ko{color:var(--text-2)}
.acad details{border:1px solid var(--line);background:var(--white);margin-top:16px}
.acad details summary{list-style:none;cursor:pointer;padding:16px 22px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.acad details summary::-webkit-details-marker{display:none}
.acad details summary::after{content:"+";font-family:var(--serif);font-size:24px;color:var(--gold-2)}
.acad details[open] summary::after{content:"−"}
.acad details .talks{padding:0 22px 12px}
.orcid{display:flex;align-items:center;gap:18px;padding:28px 32px;border:1px solid var(--line-2);background:var(--white);margin-top:40px;flex-wrap:wrap}
.orcid svg{width:36px;height:36px;flex:0 0 auto}
.orcid p{flex:1;font-size:15px;color:var(--text-2);min-width:240px}
.orcid a.id{font-family:var(--serif);font-size:18px;letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--gold)}
.positions li{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.positions li span{color:var(--muted);font-size:14px;text-align:right;font-family:var(--serif);letter-spacing:.02em}

/* 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:.12em;color:var(--text-2);font-weight:700;margin-bottom:8px}
.form label i{color:var(--gold-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:0;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(--gold)}
.form__consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text-2)}
.form__consent input{width:18px;height:18px;margin-top:4px;flex:0 0 auto}
.form__msg{padding:16px 20px;border:1px solid var(--gold);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(40px,6vw,80px);align-items:start}
.contact-aside{background:var(--white);border:1px solid var(--line);padding:32px}
.contact-aside h3{font-family:var(--kserif);font-weight:500;font-size:20px;margin-bottom:16px}
.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)}}
.map{aspect-ratio:16/8;background:var(--paper-2);border:1px solid var(--line)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.02)}
.transit{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.transit div{background:var(--white);border:1px solid var(--line);padding:26px 28px}
.transit b{display:block;font-size:12px;letter-spacing:.18em;color:var(--gold-2);font-weight:700;margin-bottom:10px}
.transit p{font-size:15px;color:var(--text-2)}
@media (max-width:760px){.transit{grid-template-columns:minmax(0,1fr)}}

/* case gallery */
.casegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case{background:var(--white);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.case__img{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--paper-2),var(--paper-3));display:grid;place-items:center;color:var(--gold-2)}
.case__img svg{width:32px;height:32px}
.case__img span{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:11.5px;letter-spacing:.14em;color:var(--muted)}
.case__body{padding:20px 22px 22px}
.case small{font-size:11.5px;letter-spacing:.14em;color:var(--gold-2);font-weight:700}
.case b{display:block;font-family:var(--kserif);font-weight:500;font-size:17px;margin-top:6px;line-height:1.45}
/* press: article cards with thumbnails (reuses .casegrid/.case and the .filter script) */
.press .case__img{aspect-ratio:16/10;overflow:hidden}
.press .case__img img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform 1.2s var(--ease)}
.press:hover .case__img img{transform:scale(1.04)}
.press__noimg{padding:0 20px;font-family:var(--kserif);font-size:20px;text-align:center;color:var(--gold-2)}
.press__hit{flex:1;display:flex;flex-direction:column}
.press .case__body{padding-bottom:14px}
.press small{letter-spacing:.04em}
.press .case__body p{margin-top:8px;font-size:14px;line-height:1.6;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.press__foot{padding:0 22px 22px}
.press__foot .link{font-size:13px}
.press__also{margin-bottom:12px;font-size:12.5px;line-height:1.7;color:var(--muted)}
.press__also a{color:var(--text-2);text-decoration:underline;text-underline-offset:3px}
.filter button i{margin-left:4px;font-style:normal;font-size:12px;opacity:.6}
.press-series{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 28px;margin-bottom:30px;padding:26px 30px;background:var(--ink);color:#fff}
.press-series small{font-size:11.5px;letter-spacing:.14em;font-weight:700;color:var(--gold-soft)}
.press-series b{display:block;margin-top:6px;font-family:var(--kserif);font-weight:500;font-size:22px;line-height:1.4}
.press-series p{margin-top:6px;font-size:14.5px;color:rgba(255,255,255,.72)}
.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.filter button{height:40px;padding:0 18px;border:1px solid var(--line-2);border-radius:999px;font-size:13.5px;color:var(--text-2);transition:all .25s}
.filter button.is-active,.filter button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:760px){
  /* 모바일: 필터가 여러 줄로 늘어나지 않도록 한 줄 가로 스크롤 */
  .filter{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:-20px;padding-inline:20px;scroll-snap-type:x proximity}
  .filter::-webkit-scrollbar{display:none}
  .filter button{flex:none;height:38px;padding:0 14px;scroll-snap-align:start}
}
@media (max-width:1024px){.casegrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.casegrid{grid-template-columns:minmax(0,1fr)}}
.notice-list{border-top:1px solid var(--ink)}
.notice-list li{border-bottom:1px solid var(--line)}
.notice-list a,.notice-list article{display:grid;grid-template-columns:110px minmax(0,1fr) 120px;gap:20px;padding:22px 0;align-items:baseline}
.notice-list small{font-size:11.5px;letter-spacing:.14em;color:var(--gold-2);font-weight:700}
.notice-list b{font-family:var(--kserif);font-weight:500;font-size:18px;line-height:1.45}
.notice-list p{font-size:14px;color:var(--text-2);margin-top:6px}
.notice-list span{font-family:var(--serif);color:var(--muted);font-size:14px;text-align:right;letter-spacing:.02em}
@media (max-width:640px){.notice-list a,.notice-list article{grid-template-columns:minmax(0,1fr);gap:6px}.notice-list span{text-align:left}}
.ytgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.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)}}
.column-list article{padding:30px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
.column-list h3{font-family:var(--kserif);font-weight:500;font-size:22px;letter-spacing:-.015em;line-height:1.4}
.column-list p{margin-top:10px;color:var(--text-2);font-size:15px;max-width:720px}
.column-list .meta{margin-top:12px;font-size:13px;color:var(--muted)}
@media (max-width:640px){.column-list article{grid-template-columns:minmax(0,1fr)}}

/* video block */
.vid{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden}
.vid video{width:100%;height:100%;object-fit:cover}
.vid__play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(10,13,26,.25);transition:opacity .4s}
.vid__play i{width:84px;height:84px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(6px)}
.vid__play i::after{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.vid.is-playing .vid__play{opacity:0;pointer-events:none}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}.rv-d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero__media video,.hero__media img{animation:none}}

/* misc */
.notice-bar{background:#fbf9f4;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}
.notice-bar::before{content:"※";color:var(--gold-2);flex:0 0 auto}
.related-h{font-size:12px;letter-spacing:.2em;color:var(--muted);font-weight:700;margin-bottom:16px}
.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(--gold);color:var(--ink);padding:10px 16px;z-index:200}
.skip:focus{width:auto;height:auto;clip-path:none;top:16px;inset-inline-start:16px}

/* balanced headings */
.hero__t,.pb__copy,.sh__t,.display,.h-intro__quote,.h-doctor__t,.h-research__t,.cta__t,.ahead__t,.quoteblock p{text-wrap:balance}

/* ---------- hero video slider ---------- */
.hero--slider .hero__swiper{position:absolute;inset:0;z-index:1}
.hero--slider .swiper-slide{overflow:hidden}
.hero--slider .hero__media video{animation:none;transform:scale(1.06)}
/* 히어로 영상 확대 애니메이션 제거 — transform 애니메이션이 영상 프레임 드롭을 유발함(측정: 100프레임 중 16개 유실). 정지 상태 scale(1.06)은 위 규칙에서 유지. */
.hero--slider .hero__in{padding-bottom:clamp(160px,22vh,210px)}
.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:.12s}
.hero--slider .swiper-slide-active .hero__in>:nth-child(3){transition-delay:.24s}
.hero--slider .swiper-slide-active .hero__in>:nth-child(4){transition-delay:.36s}
.hero--slider .hero__scroll{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:40px}
.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(--gold);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(--gold)}
.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:52px;height:52px;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(--gold);border-color:var(--gold);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:132px}
  .hero__ui-in{padding-bottom:22px;padding-right:calc(22px + 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;hyphens:auto;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:3px}
.vslider__media video{width:100%;height:100%;object-fit:cover;display:block}
.vslider__media.is-playing .vid__play{opacity:0;pointer-events:none}
.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(--gold-2);letter-spacing:.04em;white-space:nowrap}
.vslider__cap b{font-family:var(--kserif);font-weight:500;font-size:21px;letter-spacing:-.015em;line-height:1.35}
.vslider__cap p{grid-column:2;font-size:14.5px;color:var(--text-2);max-width:720px}
.vslider__ui{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px;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(--gold-2)}
.vslider__tab span{font-size:14px;font-weight:600;letter-spacing:-.01em}
.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(--gold)}
.vslider__arrows{display:flex;gap:10px;flex:0 0 auto}
.vslider__arrow{width:48px;height:48px;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}
@media (max-width:640px){.vslider__cap{grid-template-columns:minmax(0,1fr)}.vslider__cap p{grid-column:1}.vslider__ui{flex-direction:column;align-items:stretch}.vslider__tabs{gap:6px}.vslider__tab{padding:8px 12px}.vslider__tab span{font-size:13px}.vslider__arrows{justify-content:flex-start}}
/* instagram photo slider (research · doctor) — photos come from /api/instagram-photos.php, filled by site.js */
.igs[hidden]{display:none}
.igs__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,3vw,44px)}
.igs__head .sh{margin-bottom:0}
.igs__swiper{overflow:hidden}
.igs .igs__slide{width:auto}   /* beat swiper-bundle.css .swiper-slide{width:100%}, which loads after site.css */
.igs__slide figure{margin:0}
.igs__slide img{height:clamp(260px,30vw,420px);width:auto;max-width:none;background:var(--paper-2);border-radius:3px}
.igs__slide figcaption{margin-top:12px;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold-2);letter-spacing:.04em}
.igs.is-single .vslider__arrows{display:none}
@media (max-width:640px){.igs__head{flex-direction:column;align-items:stretch;gap:20px}.igs__slide img{height:clamp(240px,80vw,380px)}}

/* ---------- clinic calendar ---------- */
.ccal{background:var(--white);border:1px solid var(--line);padding:clamp(22px,3vw,36px)}
.ccal__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:22px}
.ccal__desc{margin-top:10px;font-size:14.5px;color:var(--text-2);max-width:560px}
.ccal__nav{display:flex;align-items:center;gap:8px}
@media (max-width:640px){.ccal__nav{width:100%;flex-wrap:nowrap}.ccal__nav .ccal__title{flex:1 1 auto;min-width:0}.ccal__todaybtn{margin-left:0;padding:0 12px;white-space:nowrap}}
.ccal__title{font-family:var(--kserif);font-weight:500;font-size:18px;min-width:180px;text-align:center;letter-spacing:-.01em}
.ccal__btn{width:40px;height:40px;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:all .2s}
.ccal__btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.ccal__btn:disabled{opacity:.3;pointer-events:none}
.ccal__btn svg{width:18px;height:18px}
.ccal__todaybtn{height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;font-size:13px;font-weight:600;color:var(--text-2);margin-left:6px;transition:all .2s}
.ccal__todaybtn:hover{border-color:var(--ink);color:var(--ink)}
.ccal__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:32px}
.ccal__mtitle{font-family:var(--kserif);font-weight:500;font-size:17px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.ccal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ccal__dow{text-align:center;font-size:11.5px;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:6px 0 8px}
.ccal__dow.is-sun{color:#b5533c}.ccal__dow.is-sat{color:var(--gold-2)}
.ccal__cell{aspect-ratio:1/1.05;border:1px solid var(--line);border-radius:3px;padding:6px 5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;background:#fff;position:relative;font-variant-numeric:tabular-nums}
.ccal__cell.is-empty{border:0;background:transparent}
.ccal__cell b{font-size:14.5px;font-weight:500;color:var(--text);line-height:1}
.ccal__cell span{font-size:10px;line-height:1.2;text-align:center;color:var(--muted);letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere}
.ccal__cell.is-closed{background:repeating-linear-gradient(135deg,#f3efe6 0 4px,#ece6d9 4px 5px)}
.ccal__cell.is-closed b{color:var(--muted)}
.ccal__cell.is-sunday b,.ccal__cell.is-holiday b{color:#b5533c}
.ccal__cell.is-holiday{background:#fbeeea;border-color:#f0d3cb}
.ccal__cell.is-holiday span{color:#b5533c;font-weight:600}
.ccal__cell.is-thursday span{color:var(--text-2)}
.ccal__cell.is-thu-open{background:#eef4ec;border-color:#cfe0cb}
.ccal__cell.is-thu-open span{color:#3f7a4a;font-weight:700}
.ccal__cell.is-friday span{color:var(--gold-2)}
.ccal__cell.is-saturday b{color:var(--gold-2)}
.ccal__cell.is-today{box-shadow:inset 0 0 0 2px var(--gold)}
.ccal__cell.is-today::after{content:"오늘";position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.08em;background:var(--gold);color:var(--ink);padding:1px 6px;border-radius:999px;font-weight:700}
.ccal__legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--text-2)}
.ccal__legend li{display:flex;align-items:center;gap:8px}
.ccal__legend i{width:16px;height:16px;border-radius:3px;border:1px solid var(--line);flex:0 0 auto}
.ccal__legend i.is-holiday{background:#fbeeea;border-color:#f0d3cb}
.ccal__legend i.is-sunday,.ccal__legend i.is-thursday{background:repeating-linear-gradient(135deg,#f3efe6 0 4px,#ece6d9 4px 5px)}
.ccal__legend i.is-thu-open{background:#eef4ec;border-color:#cfe0cb}
.ccal__legend i.is-friday{background:#fff;border-color:var(--gold)}
.ccal__legend i.is-saturday{background:#fff;border-color:var(--gold-soft)}
.ccal__note{margin-top:14px;font-size:12.5px;color:var(--muted)}
@media (max-width:899px){.ccal__mtitle{display:none}}
@media (max-width:640px){.ccal__cell{aspect-ratio:auto;min-height:58px;padding:5px 2px}.ccal__cell span{font-size:10.5px}.ccal__title{min-width:130px;font-size:16px}.ccal__cell.is-today::after{display:none}.ccal__cell.is-today b{color:var(--gold-2);font-weight:700}}

/* language switcher */
.lang{position:relative}
.lang__btn{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.25);border-radius:18px;color:rgba(255,255,255,.85);font-size:12px;letter-spacing:.08em;transition:border-color .25s}
.lang__btn:hover{border-color:var(--gold)}
.lang img,.mnav__lang img,.ftr__lang img{width:20px;height:15px;object-fit:cover;border-radius:2px;flex:none}
.lang__menu{display:none;position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:210px;max-height:min(70vh,520px);overflow-y:auto;padding:8px 0;margin:0;list-style:none;background:var(--ink-2);border:1px solid var(--line-dark);box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:95}
.lang::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.lang:hover .lang__menu,.lang:focus-within .lang__menu{display:block}
.lang__menu a{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13.5px;color:rgba(255,255,255,.85);white-space:nowrap;transition:background .2s}
.lang__menu a:hover{background:rgba(255,255,255,.06);color:#fff}
.lang__menu a.is-current{color:var(--gold)}
.cert-note{margin-top:30px;font-size:13.5px;color:var(--muted)}
.ftr__cert{opacity:.85}
.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:200px;padding:8px 0;margin:0;list-style:none;background:var(--ink-2);border:1px solid var(--line-dark);box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:95}
.book:hover .book__menu,.book:focus-within .book__menu{display:block}
.book__menu a{display:block;padding:8px 16px;font-size:13.5px;color:rgba(255,255,255,.85);white-space:nowrap;transition:background .2s}
.book__menu a:hover{background:rgba(255,255,255,.06);color:#fff}
@media (max-width:1024px){.book__menu{display:none!important}}
@media (max-width:1024px){.lang{display:none}}
.mnav__lang{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:16px 22px;border-bottom:1px solid var(--line-dark)}
.mnav__lang a{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:14px;color:rgba(255,255,255,.8)}
.mnav__lang a.is-current{color:var(--gold)}
.i18n-note{position:fixed;top:var(--hdr);left:0;right:0;z-index:80;background:var(--gold-soft);color:var(--ink);font-size:13px;line-height:1.5;padding:8px 22px;text-align:center}
/* RTL (Arabic): flex/grid flip with dir; fix the physically positioned bits */
[dir=rtl] .mnav__head,[dir=rtl] .hero__tab{text-align:right}
[dir=rtl] .hero__scroll{right:auto;left:40px}
[dir=rtl] .hero__mute{left:auto;right:40px}
[dir=rtl] .hdr__tel,[dir=rtl] .cta__tel,[dir=rtl] .ftr__info a[href^="tel"]{direction:ltr;unicode-bidi:isolate;display:inline-block}
[dir=rtl] .eyebrow,[dir=rtl] .ftr__t,[dir=rtl] .lang__btn,[dir=rtl] .hero__scroll{letter-spacing:0}
/* wide menu labels (CJK, Cyrillic, Thai …): never wrap; hide the header phone earlier */
.nav__link,.hdr__tel{white-space:nowrap}
@media (max-width:1500px){html:not([lang="ko"]):not([lang="en"]) .hdr__tel{display:none}}
/* RTL: keep the hero slide track LTR (Swiper's rtl mode shifts the track); text inside stays RTL */
[dir=rtl] .hero__swiper,[dir=rtl] .swiper-wrapper{direction:ltr}
[dir=rtl] .hero__in{direction:rtl}

/* doctor page: artworks as a row (desktop) / swipe gallery (mobile) */
.artgal__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.artgal__track img{width:100%;aspect-ratio:11/20;object-fit:cover;background:var(--paper-2)}
.artgal figcaption{margin-top:12px;font-size:12.5px;color:var(--muted);letter-spacing:.04em}

/* illustrations & photos: natural size (never upscaled), wide composites span the row */
.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)}
.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)}
/* 학술활동 갤러리(.figs--wide) — 타일 규격 통일: 모든 사진을 4:3 상자에 꽉 채워 크기를 완전히 맞춘다.
   비율이 다른 만큼은 잘리며, 어디를 남길지는 content 의 fill(left/center/right)로 정한다.
   캡션이 남는 높이를 흡수해 바닥선을 맞춘다. 다른 페이지의 .figs 는 그대로 둔다. */
.figs--wide .figs__i>a{flex:none;aspect-ratio:4/3}
.figs--wide .figs__i img{width:100%;height:100%;object-fit:cover;object-position:center}
.figs--wide .figs__i figcaption{flex:1}
.figs--wide .figs__i[hidden]{display:none}   /* .figs__i 가 display:flex 라 [hidden] 을 명시해야 숨는다 */
.figs__pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(24px,3vw,34px)}
.figs__pager button{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);background:transparent;color:var(--text-2);font-family:var(--serif);font-size:15px;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.figs__pager button:hover{border-color:var(--gold-2);color:var(--gold-2)}
.figs__pager button[aria-current=true]{background:var(--ink);border-color:var(--ink);color:#fff}

/* case showcase (eye surgery, from the previous site): quoted headline, before/after photo, illustration + text */
.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(--gold-2);text-align:center;text-wrap:balance}
.ecase{margin-top:18px;padding:clamp(34px,4.5vw,52px) clamp(16px,3vw,36px)}
.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(21px,2.3vw,28px);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(--gold)}
.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(125,120,116,0),#7d7874 55%);color:#fff;font-size:13px;letter-spacing:.02em}
[dir=rtl] .ecase__photo figcaption span{padding:7px 72px 7px 18px;background:linear-gradient(270deg,rgba(125,120,116,0),#7d7874 55%)}
.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:#7d7874;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(--gold-2);font-weight:700}
.ecase__link{text-align:center}
.ecase__imgs{display:flex;gap:10px}
.ecase__imgs figure{margin:0;min-width:0;display:flex;flex-direction:column}
.ecase__imgs img{width:100%;height:auto}
.ecase__note{margin-top:22px;font-size:13px;color:var(--gold-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}}

/* photo groups become horizontal swipe galleries on phones */
@media (max-width:760px){
  .strip,.gal,.yt,.artgal__track,.figs{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .strip::-webkit-scrollbar,.gal::-webkit-scrollbar,.yt::-webkit-scrollbar,.artgal__track::-webkit-scrollbar,.figs::-webkit-scrollbar{display:none}
  .strip>*,.gal>*,.yt>*,.figs>*{flex:0 0 84%;min-width:0;scroll-snap-align:start}
  .figs>:only-child{flex-basis:100%}
  .strip figure,.strip figure:first-child{grid-row:auto;grid-column:auto;aspect-ratio:4/3}
  .artgal__track img{flex:0 0 62%;min-width:0;scroll-snap-align:start}
}

/* swipe gallery arrows (phones only; the script hides the one that has nowhere to go) */
.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(18,23,42,.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)}
  [dir=rtl] .swipe__prev svg{transform:scaleX(-1)}
  [dir=rtl] .swipe__next svg{transform:none}
}

/* guide comparison table becomes one card per procedure on phones */
@media (max-width:760px){
  .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,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{background:var(--white);border:1px solid var(--line);padding:18px 18px 8px;margin-bottom:12px}
  .tbl td{border:0;padding:0 0 10px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;white-space:normal}
  .tbl td::before{content:attr(data-label);font-size:12px;letter-spacing:.04em;color:var(--muted);font-weight:600;line-height:1.75}
  .tbl td:first-child{display:block;font-size:18px;white-space:normal;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
  .tbl td:first-child::before{content:none}
  .tbl tr:hover td{background:none}
}

/* Russian menu labels are long: switch to the mobile menu a little earlier */
@media (max-width:1100px){html[lang="ru"] .nav{display:none}html[lang="ru"] .burger{display:flex}html[lang="ru"] .hdr__cta .btn{display:none}}

/* location: walking routes from each subway station */
.stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.station{border:1px solid var(--line);background:var(--paper);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:.04em;color:var(--gold-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(--gold-2);font-weight:600}
.stations__note{margin:14px 0 28px;font-size:13px;color:var(--muted)}
@media (max-width:760px){.stations{grid-template-columns:minmax(0,1fr)}.station{padding:20px}}

@media (max-width:760px){
  /* 모바일 접근성: 터치 영역 확보와 최소 글자 크기 */
  .ftr__links a,.ftr__legal a{padding-block:9px}
  .ftr__t{font-size:12px}
  .rs__v a,.pubs a{display:inline-block;padding:7px 0}
  /* 좁은 화면에서는 썸네일 열을 없애고 본문 위에 놓는다 — 3열로 두면 논문 제목에 180px 밖에 안 남는다 */
  .pubs--cov li{grid-template-columns:36px minmax(0,1fr)}
  .pubs--cov li>div{grid-column:2}
  .pubs .pubs__cov{grid-column:2;width:150px;max-width:100%;margin-bottom:10px}
  .card small,.rs__k small,.press__foot .link{font-size:12px}
  .case__body small,.ftr__info small,.notice-list small,.column-list .meta{font-size:12px}
  .rs__k b{font-size:12px}
  .ftr__info a[href^="tel"],.cta__tel{display:inline-block;padding-block:6px}
  .ftr__info .logo{display:inline-block;padding-block:6px}
  .ftr__lang a,.crumb a{padding-block:9px}
  .press__foot .link,.press__also a{display:inline-block;padding-block:5px}
  .hero__tab span,dl.info dt,.press-series small,.press__noimg,.news small{font-size:12px}
  dl.info dd a[href^="tel"]{display:inline-block;padding-block:8px}
}

/* 2026-09-20 원장 소개 showcase 이미지를 여러 장으로 나눈 뒤(모바일 적층은 위 923행 규칙이 이미 처리): 조각 사이 여백을 넉넉히.
   인용 블록(.quoteblock)은 모바일에서도 본문보다 확실히 크게 — typo-standard.css 의 `html[lang=ko] main :where(p…)`(0,1,2)가
   p 를 본문 크기로 되돌리므로 그보다 높은 특이도(0,2,2)로 둔다. */
@media (max-width:640px){
  .ecase__imgs{gap:20px}
  html[lang] main .quoteblock p{font-size:24px;line-height:1.5}
}

/* ---------- member (login / join / find / mypage) ---------- */
.hdr__auth{display:flex;align-items:center;gap:14px;font-size:13.5px;letter-spacing:.02em}
.hdr__auth a{color:rgba(255,255,255,.85);white-space:nowrap}
.hdr__auth a:hover{color:var(--gold)}
.hdr__auth a[hidden]{display:none}
@media (max-width:1024px){.hdr__auth{display:none}}
.mnav__auth{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.mnav__auth a{flex:1;text-align:center;padding:12px 0;border:1px solid var(--line-dark);border-radius:4px;color:#fff;font-size:14px}
.mnav__auth a[hidden]{display:none}
.member-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
@media (max-width:900px){.member-grid{grid-template-columns:minmax(0,1fr)}}
.member{background:var(--white);border:1px solid var(--line-2);padding:clamp(24px,4vw,44px)}
.member__form{max-width:560px}
.member__inline{display:flex;gap:8px}
.member__inline input{min-width:0;flex:1}
.member__inline .btn{flex:0 0 auto;height:52px;white-space:nowrap}
.member__otp{margin-top:8px}
.member__hint{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.member__hint.is-ok{color:#0f7b4e}
.member__radio{display:flex;gap:18px;font-size:14.5px;color:var(--text-2);height:52px;align-items:center}
.member__radio input{width:16px;height:16px;margin-right:6px}
.member__links{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;margin-top:6px}
.member__links a{color:var(--text-2);text-decoration:underline;text-underline-offset:4px}
.member__links a.btn{text-decoration:none;color:inherit}
.member__tabs{display:flex;border-bottom:1px solid var(--line-2);margin-bottom:26px}
.member__tabs button{flex:1;padding:14px 0;font:inherit;font-size:15px;font-weight:600;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.member__tabs button.is-active{color:var(--ink);border-bottom-color:var(--gold)}
.member__result{padding:18px 20px;background:var(--paper-2);font-size:15px;line-height:1.9}
.member__result b{display:block;font-size:13px;letter-spacing:.1em;color:var(--gold-2);margin-bottom:4px}
.member__result .btn{margin-top:12px}
.form__msg.is-ok{border-color:#9dcdb4;background:#f1faf5}
.form__msg.is-err{border-color:#e2a7a7;background:#fdf3f3}
.member__hello{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:17px;padding-bottom:22px;border-bottom:1px solid var(--line-2)}
.member__hello b{font-size:20px;font-family:var(--kserif);font-weight:500}
.member__meta{font-size:13px;color:var(--muted);flex:1}
.member__h{font-family:var(--kserif);font-weight:500;font-size:22px;margin:40px 0 10px}
.member__p{font-size:14.5px;line-height:1.8;color:var(--text-2);margin-bottom:16px}
.member__withdraw{margin-top:44px;border-top:1px solid var(--line-2);padding-top:18px}
.member__withdraw summary{cursor:pointer;font-size:14px;color:var(--muted)}
.member__withdraw form{margin-top:16px}
.myinq{display:grid;gap:14px;margin-bottom:18px}
.myinq__empty{padding:22px;text-align:center;color:var(--muted);font-size:14.5px;background:var(--paper-2)}
.myinq__item{border:1px solid var(--line-2);padding:18px 20px}
.myinq__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:10px}
.myinq__tag{padding:2px 8px;background:var(--paper-2);color:var(--text-2);border-radius:2px}
.myinq__status{margin-left:auto;padding:2px 10px;border:1px solid var(--line-2);border-radius:999px}
.myinq__status.is-ok{color:#0f7b4e;border-color:#9dcdb4;background:#f1faf5}
.myinq__q{font-size:15px;line-height:1.8;white-space:normal}
.myinq__a{margin-top:14px;padding:14px 16px;background:var(--paper-2);border-left:2px solid var(--gold);font-size:14.5px;line-height:1.8}
.myinq__ahead{display:flex;gap:10px;font-size:13px;color:var(--muted);margin-bottom:6px}
.myinq__ahead b{color:var(--gold-2)}
.myinq__wait{margin-top:12px;font-size:13.5px;color:var(--muted)}

/* ---------- notice list (DB) + post detail ---------- */
.notice-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.notice-filter button{padding:10px 20px;border:1px solid var(--line-2);background:var(--white);font:inherit;font-size:14px;color:var(--text-2);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.notice-filter button i{font-style:normal;font-size:12px;color:var(--muted);margin-left:4px}
.notice-filter button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.notice-filter button.is-active i{color:var(--gold-soft)}
.notice-pin{color:var(--gold-2);font-weight:700}
.notice-more{margin-top:26px;text-align:center}
.post{background:var(--white);border:1px solid var(--line-2);padding:clamp(24px,4vw,56px)}
.post__head{padding-bottom:22px;border-bottom:1px solid var(--line-2);margin-bottom:clamp(24px,3vw,40px)}
.post__kind{display:inline-block;font-size:12px;letter-spacing:.12em;color:var(--gold-2);font-weight:700;margin-bottom:12px}
.post__t{font-family:var(--kserif);font-weight:500;font-size:clamp(22px,2.6vw,34px);line-height:1.4;letter-spacing:-.02em}
.post__meta{display:flex;gap:16px;margin-top:14px;font-size:13.5px;color:var(--muted)}
.post__body{font-size:16px;line-height:1.9;color:var(--text);overflow-wrap:break-word}
.post__body p{margin:0 0 1em}
.post__body img{max-width:100%;height:auto;margin:14px 0}
.post__body a{color:var(--gold-2);text-decoration:underline;text-underline-offset:3px}
.post__body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px}
.post__body td,.post__body th{border:1px solid var(--line-2);padding:8px 10px}
.post__body iframe{max-width:100%}
.post__body h1,.post__body h2,.post__body h3{font-family:var(--kserif);font-weight:500;line-height:1.4;margin:1.4em 0 .6em}
.post__foot{margin-top:clamp(28px,4vw,48px);padding-top:22px;border-top:1px solid var(--line-2)}

/* ---------- before & after: member gate + case viewer ---------- */
.case-gate{background:var(--paper-2);border:1px solid var(--line-2);padding:22px 26px;margin-bottom:26px}
.case-gate b{display:block;font-family:var(--kserif);font-size:19px;font-weight:500;margin-bottom:8px}
.case-gate p{font-size:14.5px;line-height:1.8;color:var(--text-2)}
.case-gate__btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.case__count{position:absolute;right:12px;bottom:12px;background:rgba(18,23,42,.72);color:#fff;font-size:12px;padding:3px 9px;border-radius:999px}
.filter button i{font-style:normal;font-size:12px;opacity:.6;margin-left:4px}
.caseview{position:fixed;inset:0;z-index:120;background:rgba(10,13,26,.72);display:grid;place-items:center;padding:20px}
.caseview[hidden]{display:none}
.caseview__box{position:relative;background:var(--white);width:min(920px,100%);max-height:88vh;display:flex;flex-direction:column}
.caseview__close{position:absolute;top:6px;right:10px;z-index:2;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--text-2)}
.caseview__in{overflow:auto;padding:clamp(22px,3vw,40px);-webkit-overflow-scrolling:touch}
.caseview__load{padding:40px 0;text-align:center;color:var(--muted);font-size:14.5px}
.caseview__head{padding-right:40px;border-bottom:1px solid var(--line-2);padding-bottom:16px;margin-bottom:20px}
.caseview__head small{font-size:12.5px;letter-spacing:.1em;color:var(--gold-2)}
.caseview__head h2{font-family:var(--kserif);font-weight:500;font-size:clamp(20px,2.4vw,28px);line-height:1.4;margin-top:8px}
.caseview__imgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:24px}
.caseview__imgs figure{margin:0}
.caseview__imgs img{width:100%;height:auto;display:block;background:var(--paper-2)}
.caseview__imgs figcaption{font-size:12.5px;color:var(--muted);margin-top:6px}
.caseview__body{font-size:15.5px;line-height:1.9;color:var(--text);overflow-wrap:break-word}
.caseview__body img{max-width:100%;height:auto;margin:10px 0}
.caseview__body p{margin:0 0 1em}
.caseview__body table{max-width:100%}
/* ---------- form: checkbox & radio keep their native look ---------- */
.form input[type=checkbox],.form input[type=radio],.member__radio input,.form__consent input{
  -webkit-appearance:auto;appearance:auto;width:18px;height:18px;min-width:18px;min-height:18px;
  padding:0;border:0;background:none;border-radius:0;flex:0 0 auto;cursor:pointer;accent-color:var(--gold-2)}
.form input[type=checkbox]:focus,.form input[type=radio]:focus{outline:2px solid var(--gold);outline-offset:2px}
.form__consent{cursor:pointer}
.form__consent input{margin-top:3px}
.member__radio label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.member__radio input{margin:0}

/* ---------- case card: blurred preview, sharp for members ---------- */
.case__blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.case__img .case__lock{position:absolute;inset:0;display:none;place-items:center;color:#fff;z-index:2;
  background:linear-gradient(180deg,rgba(18,23,42,.18),rgba(18,23,42,.34))}
.case__img.is-locked .case__lock{display:grid}
.case__img .case__lock svg{width:34px;height:34px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.case__count{z-index:3}
.form__consent{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
/* ---------- consent / radio rows: beat the generic .form label rule ---------- */
.form label.form__consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:0;
  font-size:14.5px;font-weight:400;letter-spacing:0;line-height:1.7;color:var(--text-2);cursor:pointer}
.form label.form__consent span{font-size:14.5px;font-weight:400;letter-spacing:0;line-height:1.7}
.form label.form__consent a{color:var(--gold-2);text-decoration:underline;text-underline-offset:3px}
.form label.form__consent i{color:var(--gold-2);font-style:normal;margin-left:2px}
.form label.form__consent input[type=checkbox]{margin-top:3px}
.form .member__radio{display:flex;gap:22px;flex-wrap:wrap;align-items:center;height:auto;min-height:52px}
.form .member__radio label{display:inline-flex;align-items:center;gap:7px;margin-bottom:0;
  font-size:14.5px;font-weight:400;letter-spacing:0;color:var(--text-2);cursor:pointer}
.form .member__radio input[type=radio]{margin:0}

/* ---------- notice cards (press style) ---------- */
.notice-pinbadge{position:absolute;top:10px;left:10px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:999px;z-index:2}
.notice-filter button i{font-style:normal;font-size:12px;opacity:.6;margin-left:5px}
.notice-more{margin-top:28px;text-align:center}
.press__noimg{padding:0 20px;font-family:var(--kserif);font-size:20px;text-align:center;color:var(--gold-2)}

/* ---------- before & after card: two shots side by side ---------- */
.case--ba .ba{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line-2)}
.case--ba .ba--one{grid-template-columns:1fr}
.ba__i{position:relative;margin:0;aspect-ratio:4/5;background:linear-gradient(135deg,var(--paper-2),var(--paper-3));overflow:hidden;display:grid;place-items:center}
.ba__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba__i figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:6px 0;text-align:center;
  font-size:11px;letter-spacing:.14em;font-weight:700;color:#fff;background:linear-gradient(180deg,transparent,rgba(18,23,42,.62))}
.ba__none{color:var(--gold-2);opacity:.5}
.ba__none svg{width:30px;height:30px}
.case--ba .case__lock{position:absolute;inset:0;z-index:3;display:grid;place-items:center;color:#fff;pointer-events:none;
  background:linear-gradient(180deg,rgba(18,23,42,.14),rgba(18,23,42,.30))}
.case--ba .case__lock svg{width:32px;height:32px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.casegrid .case--ba .case__body{padding:16px 18px 18px}
@media (max-width:480px){.ba__i{aspect-ratio:3/4}}

/* ---------- thumbnail placeholder: brand symbol ---------- */
.thumb-logo{display:grid;place-items:center;gap:10px;width:100%;height:100%;
  background:linear-gradient(135deg,var(--paper-2),var(--paper-3));color:var(--gold-2)}
.thumb-logo img{width:56px;height:auto;opacity:.5;filter:none}
.thumb-logo i{font-style:normal;font-size:11.5px;letter-spacing:.16em;font-weight:700;color:var(--gold-2);opacity:.75}
@media (max-width:640px){.thumb-logo img{width:44px}}
/* ---------- [hidden] must win over component display rules ---------- */
[hidden]{display:none!important}

/* 학술활동 상단 사진 — 언론보도 카드처럼 전체폭 3열(모바일은 기존 가로 스와이프 유지) */
@media (min-width:761px){.figs--wide .figs{grid-template-columns:repeat(3,minmax(0,1fr))}}
