@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap");
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --pink:#D4B2C2; --peri:#C5D0EE; --pink-d:#B98AA0; --peri-d:#8EA0D6;
  --ink:#222; --ink-2:#444; --text:#6B6B6B; --mute:#9A9A9A;
  --line:#E8E8E8; --soft:#F9F7F8; --warm:#FBF7F8;
  --grad:linear-gradient(110deg,#D4B2C2 0%,#CBBCD4 45%,#C5D0EE 100%);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:"Noto Sans KR",-apple-system,sans-serif;color:var(--text);background:#fff;
  font-size:15.5px;line-height:1.8;font-weight:400;-webkit-font-smoothing:antialiased;padding-bottom:70px}
a{color:inherit;text-decoration:none}
em{font-style:normal;color:var(--pink-d);font-weight:700}
strong{font-weight:700;color:var(--ink)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* 헤더 */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.hd .lg{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.04em}
.hd .lg b{color:var(--pink-d)}
.hd .tel{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.02em}

/* 히어로 */
.hero{background:var(--grad);padding:44px 0 44px;position:relative;overflow:hidden;isolation:isolate}
.hero::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  background:rgba(255,255,255,.28);right:-140px;top:-120px}
.hero .wrap{position:relative;z-index:2}
.hero .eb{display:inline-block;background:rgba(255,255,255,.55);color:#5C4B54;
  border-radius:999px;padding:7px 15px;font-size:11.5px;font-weight:700;letter-spacing:.1em}
.hero h1{margin-top:18px;font-size:30px;font-weight:400;color:#514149;letter-spacing:-.045em;line-height:1.46}
.hero h1 span{position:relative;font-weight:900;color:#5E3B4B;white-space:nowrap}
.hero h1 span::after{content:"";position:absolute;left:-1px;right:-1px;bottom:.04em;height:.14em;
  border-radius:99px;background:rgba(255,255,255,.72);z-index:-1}
.hero p{margin-top:16px;font-size:15.5px;line-height:1.78;color:#4E4249}
.hero .btns{margin-top:24px;display:grid;gap:9px}
.hero .ph{margin-top:26px;border-radius:16px;min-height:240px;background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.9)}
.btn{display:block;text-align:center;border-radius:999px;padding:16px 20px;
  font-size:16px;font-weight:700;letter-spacing:-.03em}
.btn.solid{background:#3A2E34;color:#fff}
.btn.line{background:rgba(255,255,255,.85);color:#3A2E34}

/* 섹션 */
section{padding:52px 0;scroll-margin-top:58px}
section.soft{background:var(--soft)}
section.warm{background:var(--warm)}
.en{font-size:12px;font-weight:700;color:var(--peri-d);letter-spacing:.16em;margin-bottom:9px}
h2{font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-.045em;line-height:1.42}
h2 b{font-weight:900}
.lead{margin-top:13px;font-size:15.5px;line-height:1.82}
.ph{background:#F1EDEF;border:1px dashed #D8CAD1;border-radius:14px;display:grid;place-items:center;
  text-align:center;color:#B39FAA;min-height:190px;padding:20px}
.ph .t{font-size:13px;font-weight:700;color:#9E8794}
.ph .d{font-size:11.5px;margin-top:4px;line-height:1.55}

/* 뉴스 인용 */
.news{margin-top:22px;display:grid;gap:13px}
.art{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 18px;
  border-left:4px solid var(--pink)}
.art .src{font-size:11.5px;font-weight:700;color:var(--pink-d);letter-spacing:.02em}
.art h3{margin-top:7px;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.04em;line-height:1.48}
.art .fig{margin-top:12px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.art .fig b{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:-.05em;line-height:1}
.art .fig span{font-size:13.5px;color:var(--text);line-height:1.5}
.art p{margin-top:10px;font-size:13.5px;line-height:1.7;color:var(--mute)}
.art .link{display:inline-flex;align-items:center;gap:5px;margin-top:12px;
  font-size:12px;font-weight:700;color:var(--peri-d);letter-spacing:-.02em;
  border-bottom:1px solid rgba(142,160,214,.45);padding-bottom:1px}
.art .link span{font-size:11px}
.balance{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;font-size:13.5px;line-height:1.75;color:var(--text)}
.balance b{color:var(--ink)}
.pull{margin-top:22px;background:var(--grad);border-radius:16px;padding:26px 22px;color:#3A2E34}
.pull p{font-size:17px;font-weight:700;letter-spacing:-.04em;line-height:1.6}
.pull small{display:block;margin-top:10px;font-size:12.5px;font-weight:400;color:#5C4B54;line-height:1.6}

/* 대상 */
.who{margin-top:20px;display:grid;gap:9px}
.who li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:15px 16px 15px 44px;position:relative;font-size:15px;font-weight:500;color:var(--ink);
  letter-spacing:-.03em;line-height:1.6}
.who li::before{content:"";position:absolute;left:16px;top:20px;width:14px;height:14px;border-radius:50%;
  background:var(--grad)}
.who li b{color:var(--pink-d);font-weight:700}

/* 프로그램 */
.prog{margin-top:20px;display:grid;gap:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card .in{flex:1}
.card .ph{border:0;border-radius:0;min-height:160px}
.card .in{padding:18px 18px 20px}
.card .tag{display:inline-block;background:var(--soft);color:var(--pink-d);border-radius:5px;
  padding:4px 9px;font-size:11px;font-weight:700;letter-spacing:.02em}
.card h3{margin-top:9px;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.04em}
.card p{margin-top:7px;font-size:14px;line-height:1.7}

/* 시술 */
.proc{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.proc div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 14px;text-align:center}
.proc .t{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.03em}
.proc .d{font-size:12.5px;color:var(--mute);margin-top:4px;line-height:1.5}

/* 사례 */
.cases{margin-top:20px;display:grid;gap:13px}
.cs{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cs .pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.cs .pair .ph{border:0;border-radius:0;min-height:150px}
.cs .in{padding:16px 18px 18px}
.cs .n{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cs .n b{font-size:27px;font-weight:900;color:var(--pink-d);letter-spacing:-.05em;line-height:1}
.cs .n span{font-size:14px;font-weight:700;color:var(--ink)}
.cs .m{font-size:12.5px;color:var(--mute);margin-top:6px}

/* 순서 */
.steps{margin-top:20px;display:grid;gap:0}
.st{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}
.st:last-child{border-bottom:0}
.st .s{background:var(--grad);color:#3A2E34;border-radius:8px;height:28px;
  display:grid;place-items:center;font-size:12px;font-weight:900}
.st h4{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.03em}
.st p{font-size:13.5px;line-height:1.65;margin-top:3px}

/* 폼 */
.form{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 20px}
.form .fl{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:14px 0 6px}
.form .fl:first-of-type{margin-top:0}
.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:10px;
  padding:13px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff}
.form textarea{min-height:78px;resize:vertical}
.form .agree{margin-top:16px;display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.6;color:var(--text)}
.form .agree input{width:17px;height:17px;flex:none;margin-top:2px}
.form .sub{margin-top:16px;width:100%;border:0;background:#3A2E34;color:#fff;border-radius:999px;
  padding:17px;font-size:16.5px;font-weight:700;font-family:inherit;letter-spacing:-.03em}
.form .pv{margin-top:10px;font-size:11.5px;color:var(--mute);line-height:1.6;text-align:center}

/* 오시는 길 */
.loc{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px}
.loc h3{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.04em}
.loc .ad{margin-top:9px;font-size:15px;line-height:1.7}
.loc .hr{margin-top:14px;border-top:1px solid var(--line);padding-top:13px;font-size:14px;line-height:1.75}
.loc .hr b{color:var(--ink)}

/* 밴드 */
.band{background:var(--grad);text-align:center;padding:48px 0;color:#3A2E34}
.band h2{color:#3A2E34;font-size:24px}
.band p{margin-top:12px;font-size:15px;line-height:1.75;color:#4E4249}
.band .b{margin-top:22px;display:inline-block;background:#3A2E34;color:#fff;border-radius:999px;
  padding:16px 34px;font-size:16.5px;font-weight:700;letter-spacing:-.03em}

/* 고지 */
.legal{background:var(--soft);padding:30px 0;font-size:11.5px;line-height:1.8;color:var(--mute)}
.legal b{display:block;color:var(--text);font-size:12.5px;margin-bottom:6px}
footer{background:#2C2528;color:rgba(255,255,255,.55);padding:26px 0 32px;font-size:11.5px;line-height:1.85}
footer b{color:#fff}

/* 고정 CTA */
.fix{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.25fr;
  gap:1px;background:var(--line);box-shadow:0 -3px 14px rgba(60,40,50,.12);
  padding-bottom:env(safe-area-inset-bottom)}
.fix a{background:#fff;color:var(--ink);text-align:center;padding:18px 8px;font-size:15px;font-weight:700;letter-spacing:-.03em}
.fix a.main{background:#3A2E34;color:#fff}

/* 데스크탑 */
@media(min-width:900px){
  body{font-size:16.5px;padding-bottom:0}
  .wrap{padding:0 28px}
  section{padding:88px 0}
  h2{font-size:34px}
  .en{font-size:13px}
  .hero{padding:80px 0 76px}
  .hero .inner{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center}
  .hero h1{font-size:46px}
  .hero p{font-size:17px}
  .hero .btns{grid-template-columns:auto auto;justify-content:start;gap:10px}
  .btn{padding:16px 32px}
  .hero .ph{margin-top:0;min-height:340px;border-radius:18px}
  .news{grid-template-columns:repeat(3,1fr)}
  .art{padding:26px 24px}
  .pull p{font-size:22px}
  .who{grid-template-columns:1fr 1fr;gap:11px}
  .prog{grid-template-columns:repeat(4,1fr);align-items:stretch}
  .who + .btn{display:inline-block;width:auto;padding:16px 40px}
  .proc{grid-template-columns:repeat(4,1fr)}
  .cases{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);gap:0 22px}
  .st{border-bottom:0;border-top:2px solid var(--pink)}
  .form{padding:34px 32px}
  .form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .band h2{font-size:34px}
  .fix{display:none}
}

/* ── 원장 소개 ───────────────────────────────────────── */
.dr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:26px;align-items:center;
 background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:22px}
.dr-ph img{display:block;width:100%;height:auto;border-radius:14px}
.dr-nm{font-size:19px;color:var(--ink);letter-spacing:-.02em;margin-bottom:12px}
.dr-nm b{font-weight:800;font-size:23px}
.dr-li{margin:0;padding:0;list-style:none}
.dr-li li{position:relative;padding:5px 0 5px 13px;font-size:13.5px;color:var(--text);line-height:1.6}
.dr-li li::before{content:'';position:absolute;left:0;top:13px;width:4px;height:4px;
 border-radius:50%;background:var(--pink)}
@media(max-width:700px){
  .dr{grid-template-columns:1fr;gap:18px;padding:18px}
  .dr-ph{max-width:300px;margin:0 auto}
}

/* ── 대표 사례 (인바디 근거) ──────────────────────────── */
.cs2{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:22px}
.cs2-h{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
 padding-bottom:16px;border-bottom:1px solid var(--line)}
.cs2-n b{font-size:44px;font-weight:800;letter-spacing:-.04em;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs2-n span{font-size:17px;font-weight:700;color:var(--pink);margin-left:2px}
.cs2-m{font-size:13.5px;color:var(--text);line-height:1.65}
.cs2-m b{color:var(--ink);font-weight:700}
.cs2-m span{color:var(--mute);font-size:12.5px}
.ib{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.ib figure{margin:0}
.ib figcaption{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--mute);margin-bottom:6px}
.ib figcaption span{font-weight:600;letter-spacing:0;margin-left:5px}
.ib img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.dt{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}
.dt>div{background:var(--soft);border-radius:12px;padding:12px 14px}
.dt span{display:block;font-size:11.5px;color:var(--mute);margin-bottom:3px}
.dt b{display:block;font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.dt i{display:inline-block;margin-top:4px;font-style:normal;font-size:12px;font-weight:800;color:var(--pink)}
.cs2-c{margin:16px 0 0;font-size:13.5px;color:var(--text);line-height:1.75}
.cs2-c strong{color:var(--ink);font-weight:700}
@media(max-width:620px){
  .cs2{padding:18px}
  .ib{grid-template-columns:1fr}
  .dt{grid-template-columns:1fr}
  .cs2-n b{font-size:38px}
}

/* ── 평균 안내 — 과장으로 읽히지 않게 균형을 잡는 칸 ──── */
.avg{margin-top:20px;background:var(--warm);border:1px solid var(--line);
 border-radius:14px;padding:18px 20px}
.avg-t{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:7px;letter-spacing:-.02em}
.avg p{margin:0;font-size:13px;color:var(--text);line-height:1.8}
.avg b{color:var(--ink);font-weight:700}

/* ── 히어로 숫자 띠 ──────────────────────────────────── */
.hm{display:flex;gap:26px;flex-wrap:wrap;margin:20px 0 24px}
.hm>div{min-width:86px}
.hm b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hm span{display:block;font-size:12px;color:var(--mute);margin-top:2px}
.hero .ph.np{background:none;border:0;padding:0}
.hero .ph.np img{display:block;width:100%;height:auto;border-radius:16px}

/* ── 작동 원리 ──────────────────────────────────────── */
.mech{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.mech>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.mech i{display:block;font-style:normal;font-size:11px;font-weight:800;color:var(--pink);
 letter-spacing:.1em;margin-bottom:8px}
.mech b{display:block;font-size:15px;color:var(--ink);letter-spacing:-.02em;margin-bottom:6px}
.mech p{margin:0;font-size:12.5px;color:var(--text);line-height:1.7}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.cmp>div{border-radius:14px;padding:18px 20px}
.cmp span{display:inline-block;font-size:12px;font-weight:800;letter-spacing:-.01em;
 padding:3px 10px;border-radius:99px;margin-bottom:10px}
.cmp ul{margin:0;padding-left:16px}
.cmp li{font-size:13px;line-height:1.85;color:var(--text)}
.cmp b{color:var(--ink);font-weight:700}
.cmp .bad{background:#F4F4F5;border:1px solid var(--line)}
.cmp .bad span{background:#E4E4E7;color:#71717A}
.cmp .good{background:var(--warm);border:1px solid var(--pink)}
.cmp .good span{background:var(--pink);color:#fff}
.fig{margin:18px 0 0}
.fig img{display:block;width:100%;max-width:560px;margin:0 auto;height:auto;border-radius:14px}
@media(max-width:820px){.mech{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mech{grid-template-columns:1fr}.cmp{grid-template-columns:1fr}}

/* ── 탕/환 비교 ─────────────────────────────────────── */
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.tw{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.tw-h{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.tw-h b{font-size:19px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.tw-h span{font-size:11.5px;font-weight:700;color:#fff;background:var(--pink);
 padding:3px 9px;border-radius:99px}
.tw img{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:12px}
.tw ul{margin:0;padding-left:16px}
.tw li{font-size:13px;line-height:1.8;color:var(--text)}
.tw b{color:var(--ink);font-weight:700}
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.figs figure{margin:0}
.figs img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.note-s{margin:16px 0 0;font-size:12.5px;color:var(--mute);line-height:1.75}
.note-s strong{color:var(--text);font-weight:700}
@media(max-width:760px){.two{grid-template-columns:1fr}.figs{grid-template-columns:1fr 1fr}}

/* ── 가격표 ─────────────────────────────────────────── */
.ph3{margin:30px 0 8px;font-size:16px;font-weight:800;letter-spacing:-.025em;color:var(--ink)}
.ph3 span{margin-left:8px;font-size:11.5px;font-weight:700;color:var(--pink);
 background:var(--warm);padding:3px 9px;border-radius:99px;vertical-align:middle}
.pdesc{margin:0 0 12px;font-size:13px;color:var(--text);line-height:1.8}
.pdesc b{color:var(--ink);font-weight:700}
.tbw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:#fff}
.pt{width:100%;min-width:520px;border-collapse:collapse}
.pt th,.pt td{padding:13px 14px;text-align:center;border-bottom:1px solid var(--line);font-size:13px}
.pt thead th{background:var(--soft);font-size:12.5px;font-weight:800;color:var(--ink);white-space:nowrap}
.pt thead small{display:block;font-size:10.5px;font-weight:700;color:var(--pink);margin-top:2px}
.pt tbody th{text-align:left;font-weight:700;color:var(--ink);white-space:nowrap;background:#FCFBFC}
.pt tbody th small{display:block;font-size:11px;font-weight:500;color:var(--mute);margin-top:2px}
.pt tbody tr:last-child th,.pt tbody tr:last-child td{border-bottom:0}
.pt s{display:block;font-size:11.5px;color:var(--mute)}
.pt b{display:block;font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.pt i{display:block;font-style:normal;font-size:11px;color:var(--pink);font-weight:700;margin-top:2px}

/* ── FAQ ───────────────────────────────────────────── */
.faq{margin-top:22px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;list-style:none;padding:17px 46px 17px 20px;position:relative;
 font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';position:absolute;right:20px;top:23px;width:8px;height:8px;
 border-right:2px solid var(--pink);border-bottom:2px solid var(--pink);
 transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq summary:hover{background:var(--soft)}
.faq p{margin:0;padding:0 20px 19px;font-size:13.5px;line-height:1.9;color:var(--text)}
.faq p b{color:var(--ink);font-weight:700}

/* ── 문진표 ─────────────────────────────────────────── */
.qf{margin-top:24px}
.qf fieldset{border:1px solid var(--line);border-radius:16px;padding:22px;margin:0 0 16px;background:#fff}
.qf legend{display:flex;align-items:center;gap:8px;padding:0 10px;
 font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.025em}
.qf legend i{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--pink);
 width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.qf .fl{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin:14px 0 6px}
.qf .fl:first-of-type{margin-top:0}
.qf .fl em{font-style:normal;color:var(--pink)}
.qf .fl small{font-weight:500;color:var(--mute);margin-left:5px}
.qf input[type=text],.qf input:not([type]),.qf input[type=tel]{width:100%;box-sizing:border-box;
 border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:14px;
 font-family:inherit;color:var(--ink);background:#fff;margin-bottom:4px}
.qf input:focus{outline:0;border-color:var(--pink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.ops{display:flex;flex-wrap:wrap;gap:6px}
.op{display:inline-flex;align-items:center;cursor:pointer}
.op input{position:absolute;opacity:0;width:0;height:0}
.op span{display:inline-block;font-size:12.5px;color:var(--text);background:var(--soft);
 border:1px solid var(--line);border-radius:99px;padding:7px 13px;transition:.15s;line-height:1.3}
.op input:checked+span{background:var(--pink);border-color:var(--pink);color:#fff;font-weight:700}
.op input:focus-visible+span{outline:2px solid var(--peri);outline-offset:2px}
@media(max-width:620px){
  .row2,.row3{grid-template-columns:1fr;gap:10px}
  .qf fieldset{padding:16px}
}

/* ── 제출 완료 ──────────────────────────────────────── */
.done{background:#fff;border:1px solid var(--pink);border-radius:18px;padding:34px 26px;
 text-align:center;margin-top:24px}
.done-ic{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--grad);
 color:#fff;font-size:26px;line-height:52px;font-weight:800}
.done h3{margin:0 0 8px;font-size:21px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.done>p{margin:0 0 22px;font-size:14px;line-height:1.8;color:var(--text)}
.done-box{background:var(--warm);border:1px solid var(--line);border-radius:14px;padding:22px 20px}
.done-box>b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:8px;letter-spacing:-.02em}
.done-box p{margin:0 0 16px;font-size:13.5px;line-height:1.9;color:var(--text)}
.cp{display:inline-block;background:#fff;border:1px dashed var(--pink);border-radius:8px;
 padding:3px 10px;font-weight:800;color:var(--ink);cursor:pointer;font-size:13px}
.cp:hover{background:var(--pink);color:#fff}
.btn.kk{background:#FEE500;color:#3C1E1E;border:0;font-weight:800}
.btn.kk:hover{background:#F5DC00}

/* ══ 가독성 교정 ═══════════════════════════════════════
   그라데이션 글씨를 그라데이션 배경 위에 얹어 놓아 숫자가 통째로 묻혀 있었습니다.
   배경이 연한 곳에서만 그라데이션 글씨를 쓰고, 색 배경 위에서는 단색으로 갑니다. */

/* 히어로 숫자 띠 — 흰 카드를 깔고 진한 글씨로 */
.hero .hm{gap:10px}
.hero .hm>div{flex:1 1 0;min-width:96px;background:rgba(255,255,255,.82);
 border:1px solid rgba(255,255,255,.9);border-radius:12px;padding:12px 14px;
 backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.hero .hm b{background:none;-webkit-background-clip:border-box;background-clip:border-box;
 color:#8E5A73;font-size:22px}
.hero .hm span{color:#6B5560;font-weight:600}

/* 인용 띠 — 색 배경 위 글씨를 진하게. 작은 설명은 흰 카드로 분리 */
.pull p{color:#2A2230}
.pull small{display:block;margin-top:12px;background:rgba(255,255,255,.88);
 border-radius:10px;padding:12px 14px;color:#4A4050;line-height:1.8}
.pull small strong{color:#2A2230}

/* 대표 사례 숫자 — 연한 핑크 그라데이션이라 흐렸습니다. 단색 진한 색으로 */
.cs2-n b{background:none;-webkit-background-clip:border-box;background-clip:border-box;
 color:#A34A6B}
.cs2-n span{color:#A34A6B}

/* 이미지 카드 공통 — 빈 회색 박스 대신 실제 이미지 */
.ph.np{background:none;border:0;padding:0;min-height:0;display:block}
.ph.np img{display:block;width:100%;height:auto;object-fit:cover}
.prog .ph.np img{aspect-ratio:4/3;border-radius:12px 12px 0 0}

/* 시술 이미지 카드 */
.pc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.pc figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pc img{display:block;width:100%;height:auto}
.pc figcaption{padding:14px 16px 16px}
.pc figcaption>b{display:block;font-size:15px;font-weight:800;color:var(--ink);
 letter-spacing:-.02em;margin-bottom:5px}
.pc figcaption>span{display:block;font-size:12.5px;color:var(--text);line-height:1.7}
.pc figcaption b{color:var(--ink);font-weight:700}
@media(max-width:760px){.pc{grid-template-columns:1fr}}

/* 탕/환 아래 작은 이미지 4장 — 눌러서 크게 볼 수 있게 */
.figs a{display:block}
.figs img{transition:transform .2s}
.figs img:hover{transform:scale(1.02)}

/* ══ 문진표 안내 카드 (랜딩) ═══════════════════════════ */
.cta-q{background:var(--warm)}
.qbox{background:#fff;border:1px solid var(--pink);border-radius:20px;padding:34px 30px;text-align:center}
.qbox .en{margin-bottom:6px}
.qbox h2{margin-bottom:8px}
.qbox .lead{margin-bottom:20px}
.qwhy{display:inline-block;text-align:left;margin:0 0 24px;padding:18px 22px;
 background:var(--soft);border-radius:14px;list-style:none}
.qwhy li{position:relative;padding:6px 0 6px 20px;font-size:13.5px;color:var(--text);line-height:1.7}
.qwhy li::before{content:'✓';position:absolute;left:0;color:var(--pink);font-weight:800}
.qwhy b{color:var(--ink);font-weight:700}
.qbox .btns{justify-content:center}
.btn.big{padding:16px 30px;font-size:15.5px}
.qnote{margin:18px 0 0;font-size:12px;color:var(--mute)}
.qnote b{color:var(--text);font-weight:700}
@media(max-width:560px){.qbox{padding:24px 18px}.qwhy{display:block;padding:16px}}

/* ══ 문진표 페이지 ════════════════════════════════════ */
.qpage{background:var(--soft)}
.qtop{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);
 padding:13px 20px;display:flex;align-items:center;gap:14px;
 padding-top:calc(13px + env(safe-area-inset-top,0px))}
.qback{font-size:13.5px;font-weight:700;color:var(--text);text-decoration:none}
.qback:hover{color:var(--pink)}
.qbrand{margin-left:auto;font-size:13px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.qstep{padding:38px 0 60px}
.wrap.narrow{max-width:680px;margin:0 auto;padding:0 20px}
.pp{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:22px 0 20px}
.ppt{width:100%;border-collapse:collapse}
.ppt th,.ppt td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);
 font-size:13.5px;line-height:1.75;vertical-align:top}
.ppt tr:last-child th,.ppt tr:last-child td{border-bottom:0}
.ppt th{width:104px;background:var(--soft);font-weight:800;color:var(--ink);font-size:13px;white-space:nowrap}
.ppt td{color:var(--text)}
.ppt b{color:var(--ink);font-weight:700}
.agree.big{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);
 border-radius:12px;padding:15px 16px;margin-bottom:10px;cursor:pointer}
.agree.big input{margin-top:3px;width:18px;height:18px;accent-color:#C48BA5;flex:0 0 auto}
.agree.big span{font-size:13.5px;color:var(--text);line-height:1.7}
.agree.big strong{color:var(--ink)}
.qnote2{margin:10px 0 0;font-size:12.5px;color:var(--mute);text-align:center}
#gonext:disabled{opacity:.4;cursor:not-allowed}
.qhome{display:inline-block;margin-top:20px;font-size:13.5px;color:var(--mute);text-decoration:none}
.qhome:hover{color:var(--pink)}
@media(max-width:560px){
  .ppt th{width:auto;display:block;border-bottom:0;padding-bottom:4px}
  .ppt td{display:block;padding-top:0}
  .qstep{padding:26px 0 50px}
}

/* 제출 버튼 — .form 안에서만 먹던 것을 문진표 페이지에도 적용합니다.
   비활성 상태가 opacity 만 낮춰 놔 글씨가 배경에 묻혔습니다. */
.qf .sub, #gonext{margin-top:18px;width:100%;border:0;background:#3A2E34;color:#fff;
 border-radius:999px;padding:17px;font-size:16.5px;font-weight:700;font-family:inherit;
 letter-spacing:-.03em;cursor:pointer;transition:background .15s,opacity .15s}
.qf .sub:hover, #gonext:hover:not(:disabled){background:#241B20}
#gonext:disabled{opacity:1;background:#E4E0E2;color:#9A9298;cursor:not-allowed}
.qf .pv{margin-top:10px;font-size:11.5px;color:var(--mute);line-height:1.6;text-align:center}
.qf .sub:disabled{opacity:1;background:#C9BFC4;cursor:wait}

/* ══ 이미지 정리 후 보강 ═══════════════════════════════
   원장님 소재는 캠페인별로 따로 만든 것이라 한 페이지에 모으면 색·폰트가
   제각각입니다. 내용만 살려 랜딩 팔레트로 다시 그립니다. */

/* 히어로 우측 카드 — 파란 이미지 대신 */
.hcard{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);
 border-radius:20px;padding:26px 24px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 box-shadow:0 12px 40px rgba(120,90,110,.14)}
.hcard-t{font-size:13px;font-weight:800;color:#8E5A73;letter-spacing:-.02em;
 padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.hcard-l{margin:0;padding:0;list-style:none}
.hcard-l li{display:flex;align-items:flex-start;gap:11px;padding:12px 0;
 border-bottom:1px solid var(--line2)}
.hcard-l li:last-child{border-bottom:0}
.hcard-l i{flex:0 0 auto;width:8px;height:8px;margin-top:6px;border-radius:50%;
 background:var(--grad)}
.hcard-l b{display:block;font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.hcard-l span{display:block;font-size:12.5px;color:var(--mute);margin-top:2px}
.hcard-f{margin-top:12px;padding-top:14px;border-top:1px solid var(--line);
 font-size:12px;font-weight:700;color:var(--mute);text-align:center;letter-spacing:-.01em}

/* 프로그램 카드 상단 칩 */
.pchip{background:var(--warm);border-bottom:1px solid var(--line);
 padding:14px 16px;font-size:12.5px;font-weight:700;color:#8E5A73;letter-spacing:-.02em}

/* 특장점 · 성분 두 칸 */
.sbx{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.sb{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:22px}
.sb h4{margin:0 0 14px;font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.025em}
.sbl{margin:0;padding:0;list-style:none;counter-reset:n}
.sbl li{counter-increment:n;position:relative;padding:9px 0 9px 34px;font-size:13.5px;
 color:var(--text);line-height:1.6;border-bottom:1px solid var(--line2)}
.sbl li:last-child{border-bottom:0}
.sbl li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:8px;
 width:24px;height:24px;border-radius:7px;background:var(--pink);color:#fff;
 font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.sbl b{color:var(--ink);font-weight:700}
.sbh{margin:0}
.sbh>div{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line2)}
.sbh>div:last-child{border-bottom:0}
.sbh dt{flex:0 0 4.4rem;font-size:14px;font-weight:800;color:#8E5A73;letter-spacing:-.02em}
.sbh dd{margin:0;font-size:13px;color:var(--text)}
.sbn{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--line);
 font-size:12px;color:var(--mute);line-height:1.7}
@media(max-width:700px){.sbx{grid-template-columns:1fr}}

/* S바디환 4단계 */
.sh3{margin:34px 0 4px;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.sh3 b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sh3d{margin:0 0 16px;font-size:13.5px;color:var(--text)}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.s4{border:1px solid var(--line);border-radius:14px;padding:18px 16px;background:#fff;
 border-top:3px solid var(--pink)}
.s4 span{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;
 color:#fff;background:var(--pink);padding:3px 9px;border-radius:99px}
.s4>b{display:block;margin:10px 0 12px;font-size:16px;font-weight:800;
 color:var(--ink);letter-spacing:-.03em}
.s4 ul{margin:0;padding:0;list-style:none}
.s4 li{font-size:12.5px;color:var(--text);line-height:1.6;padding:5px 0;
 border-bottom:1px solid var(--line2)}
.s4 li:last-child{border-bottom:0}
.s4 li b{color:var(--ink);font-weight:800}
/* 단계마다 색을 달리해 맛과 맞춥니다 */
.s4a{border-top-color:#E8C33C} .s4a span{background:#E8C33C}
.s4b{border-top-color:#E884A0} .s4b span{background:#E884A0}
.s4c{border-top-color:#8FBF6A} .s4c span{background:#8FBF6A}
.s4d{border-top-color:#9B7FC4} .s4d span{background:#9B7FC4}
@media(max-width:900px){.steps4{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps4{grid-template-columns:1fr}}

/* ══ 커머스형 재설계 ═══════════════════════════════════
   사진을 모아 붙이던 것을 걷어내고 제품을 직접 그렸습니다(SVG).
   참고 사이트처럼 제품을 앞세우고 카피는 짧게 끊습니다. */

/* 히어로 — 카피 호흡 */
.hbeat{font-size:16px;line-height:2;color:var(--text);margin:0 0 14px}
.hbeat b{color:var(--ink);font-weight:800}
.hsol{display:inline-block;font-size:16.5px;font-weight:700;color:var(--ink);
 background:rgba(255,255,255,.78);border-radius:10px;padding:10px 16px;margin:0 0 20px;
 line-height:1.6}
.hsol b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 히어로 제품 */
.hprod{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.hprod-in{position:relative;display:flex;align-items:flex-end;gap:18px;
 background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);
 border-radius:24px;padding:30px 34px;
 box-shadow:0 18px 50px rgba(120,90,110,.16);
 backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pv{width:132px;height:auto;filter:drop-shadow(0 10px 18px rgba(150,80,110,.24))}
.hsticks{display:flex;gap:7px;align-items:flex-end}
.sv{width:34px;height:auto;filter:drop-shadow(0 7px 12px rgba(90,70,110,.2))}
.hsticks .sv:nth-child(2){margin-bottom:9px}
.hsticks .sv:nth-child(3){margin-bottom:4px}
.hsticks .sv:nth-child(4){margin-bottom:13px}
.hprod-cap{font-size:12.5px;color:#6B5560;font-weight:600}
.hprod-cap b{color:#8E5A73;font-weight:800}
@media(max-width:860px){.hprod-in{padding:22px}.pv{width:104px}.sv{width:27px}}

/* 원장 이야기 — 참고 사이트의 1인칭 흐름 */
.story{background:var(--warm);padding:64px 0}
.wrap.narrow2{max-width:620px;margin:0 auto;padding:0 20px;text-align:center}
.st1{font-size:19px;line-height:1.85;color:var(--ink);margin:0 0 26px;letter-spacing:-.02em}
.st1 b{font-weight:800}
.st2{font-size:16px;line-height:2.05;color:var(--text);margin:0 0 22px;letter-spacing:-.01em}
.st2 b{color:var(--ink);font-weight:700}
.st3{font-size:21px;line-height:1.7;font-weight:800;color:var(--ink);margin:30px 0;
 letter-spacing:-.035em}
.st3 b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stsign{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:36px;
 padding-top:26px;border-top:1px solid var(--line)}
.stsign img{width:62px;height:62px;border-radius:50%;object-fit:cover;object-position:50% 22%;
 border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.09)}
.stsign div{text-align:left;font-size:14.5px;color:var(--ink);line-height:1.6}
.stsign b{font-weight:800}
.stsign span{font-size:12px;color:var(--mute)}
@media(max-width:560px){.st1{font-size:17px}.st2{font-size:15px}.st3{font-size:19px}}

/* 제품 카드 (커머스) */
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.pcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;
 overflow:hidden;display:flex;flex-direction:column}
.pcard.main{border-color:var(--pink);box-shadow:0 10px 34px rgba(212,178,194,.28)}
.pbadge{position:absolute;top:14px;right:14px;z-index:2;font-size:11px;font-weight:800;
 color:#fff;background:var(--grad);padding:5px 11px;border-radius:99px;letter-spacing:-.01em}
.pvis{display:flex;align-items:flex-end;justify-content:center;gap:10px;
 background:linear-gradient(170deg,#FBF7F9,#F4EEF3);padding:30px 20px 26px;min-height:190px}
.pvis .pv{width:110px}
.pvis.sticks .sv{width:40px}
.pvis.sticks .sv:nth-child(2){margin-bottom:10px}
.pvis.sticks .sv:nth-child(3){margin-bottom:4px}
.pvis.sticks .sv:nth-child(4){margin-bottom:14px}
.pbody{padding:22px;display:flex;flex-direction:column;flex:1}
.pbody h3{margin:0 0 9px;font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.035em}
.pbody h3 em{font-style:normal;font-size:11.5px;font-weight:700;color:#fff;background:var(--pink);
 padding:3px 9px;border-radius:99px;vertical-align:middle;margin-left:6px}
.pdesc2{margin:0 0 14px;font-size:13.5px;line-height:1.8;color:var(--text)}
.pdesc2 b{color:var(--ink);font-weight:700}
.pfeat{margin:0 0 18px;padding:0;list-style:none}
.pfeat li{position:relative;padding:6px 0 6px 20px;font-size:13px;color:var(--text);line-height:1.6}
.pfeat li::before{content:'✓';position:absolute;left:0;color:var(--pink);font-weight:800}
.pfeat b{color:var(--ink);font-weight:700}
.pprice{margin-top:auto;padding:14px 16px;background:var(--soft);border-radius:12px;margin-bottom:14px}
.pprice span{font-size:11.5px;font-weight:700;color:var(--mute);margin-right:8px}
.pprice b{font-size:23px;font-weight:800;color:var(--ink);letter-spacing:-.04em}
.pprice em{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--pink);font-weight:700}
.btn.full{display:block;text-align:center;width:100%;box-sizing:border-box}
@media(max-width:760px){.pcards{grid-template-columns:1fr}}

/* 4단계 카드에 스틱 얹기 */
.s4{position:relative;padding-top:64px}
.s4 .sv{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:30px}

/* 성분 */
.herbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.hb{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 16px;text-align:center}
.hbi{display:block;width:40px;height:40px;margin:0 auto 12px;border-radius:12px}
.hbi.a{background:linear-gradient(140deg,#D8CE8E,#B5A855)}
.hbi.b{background:linear-gradient(140deg,#EDE6D2,#C9BE9A)}
.hbi.c{background:linear-gradient(140deg,#CBB9DE,#9E86BC)}
.hbi.d{background:linear-gradient(140deg,#C4A386,#96715A)}
.hb b{display:block;font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin-bottom:4px}
.hb span{display:block;font-size:12px;color:var(--text);line-height:1.55}
@media(max-width:700px){.herbs{grid-template-columns:1fr 1fr}}

/* ══ 생성 제품 사진으로 교체 ═══════════════════════════
   SVG 로 그리던 것을 실제 제품 사진(직접 생성)으로 바꿨습니다.
   랜딩 팔레트에 맞춰 만든 것이라 색이 따로 놀지 않습니다. */
.hprod-img{display:block;width:100%;max-width:430px;height:auto;border-radius:22px;
 box-shadow:0 18px 50px rgba(120,90,110,.2)}
.hprod{gap:12px}
.pvis{padding:0;min-height:0;background:none}
.pvis img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.hbimg{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
 border-radius:12px;margin-bottom:12px}
.hb{padding:14px 14px 18px}
/* 4단계 — 스틱 SVG 를 뺐으니 위 여백 원복 */
.s4{padding-top:18px}

/* ══ 2026-09-28 개편 — 원장 강조 · 한약 원리 · 가격 카드 ═══════ */
:root{--line2:#F0ECEE;--deep:#3A2E34;--rose:#8E5A73}

/* 원장 프로필 — 큰 사진 + 핵심 숫자 + 약력 3묶음 */
.drx{background:linear-gradient(180deg,var(--warm) 0%,#fff 100%);padding:40px 0 56px}
.drx-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
.drx-ph{position:relative;border-radius:24px;overflow:hidden;background:#EDEBEA;
 box-shadow:0 24px 60px rgba(90,60,75,.18)}
.drx-ph img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.drx-tag{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(58,46,52,.88);color:#fff;
 border-radius:14px;padding:13px 16px;font-size:14px;font-weight:500;letter-spacing:-.02em;text-align:center;
 backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.drx-tag b{color:#F3D3E1;font-weight:800}
.drx-nm{font-size:20px;color:var(--ink);letter-spacing:-.03em}
.drx-nm b{font-size:38px;font-weight:900;letter-spacing:-.05em;margin-right:4px}
.drx-nm span{display:inline-block;margin-left:6px;font-size:12px;font-weight:700;color:var(--rose);
 border:1px solid var(--pink);border-radius:99px;padding:2px 10px;vertical-align:middle}
.drx-q{margin:14px 0 20px;font-size:18px;line-height:1.7;color:var(--ink-2);letter-spacing:-.035em;
 padding-left:14px;border-left:3px solid var(--pink)}
.drx-q b{color:var(--rose);font-weight:800}
.drx-kp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.drx-kp>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 12px;text-align:center}
.drx-kp b{display:block;font-size:22px;font-weight:900;color:var(--rose);letter-spacing:-.04em;line-height:1.2}
.drx-kp span{display:block;margin-top:4px;font-size:11.5px;color:var(--text);line-height:1.4}
.drx-gr{display:grid;gap:14px}
.drx-gr>div{display:grid;grid-template-columns:86px 1fr;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.drx-gr h4{font-size:13px;font-weight:800;color:var(--ink);letter-spacing:-.02em;padding-top:2px}
.drx-gr ul{list-style:none}
.drx-gr li{font-size:13.5px;line-height:1.75;color:var(--text)}
.drx-gr li b{color:var(--ink);font-weight:700}
@media(max-width:820px){
  .drx{padding:28px 0 44px}
  .drx-in{grid-template-columns:1fr;gap:24px}
  .drx-ph{max-width:420px;width:100%;margin:0 auto}
  .drx-nm b{font-size:32px}
  .drx-q{font-size:16.5px}
  .drx-kp b{font-size:19px}
  .drx-gr>div{grid-template-columns:1fr;gap:4px}
}

/* 한약 작용 흐름 */
.flow{margin-top:26px;display:grid;grid-template-columns:150px 28px 1fr 28px 170px;align-items:stretch}
.fl-s{background:var(--deep);color:#fff;border-radius:18px;padding:20px 16px;display:flex;flex-direction:column;
 justify-content:center;text-align:center}
.fl-s span{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:#E9C9D7}
.fl-s b{display:block;margin-top:6px;font-size:17px;font-weight:800;letter-spacing:-.03em;line-height:1.45}
.fl-s p{margin-top:6px;font-size:12px;color:rgba(255,255,255,.72);line-height:1.5}
.fl-s.end{background:var(--grad);color:var(--deep)}
.fl-s.end span{color:var(--rose)}
.fl-s.end p{color:#5C4B54;font-weight:600}
.fl-a{position:relative}
.fl-a::before{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;background:var(--pink)}
.fl-a::after{content:"";position:absolute;right:5px;top:calc(50% - 5px);width:9px;height:9px;
 border-top:2px solid var(--pink);border-right:2px solid var(--pink);transform:rotate(45deg)}
.fl-m{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fl-m>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 16px 14px;
 display:flex;flex-direction:column}
.fl-m i{font-style:normal;font-size:11px;font-weight:800;color:var(--pink-d);letter-spacing:.1em}
.fl-m b{display:block;margin-top:3px;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.fl-m p{margin-top:5px;font-size:13px;line-height:1.7;color:var(--text);flex:1}
.fl-m p b{display:inline;font-size:inherit;margin:0;font-weight:700}
.fl-m em{align-self:flex-start;margin-top:10px;font-size:11.5px;font-weight:700;color:var(--rose);
 background:var(--warm);border:1px solid #EBDDE4;border-radius:99px;padding:2px 10px}
@media(max-width:900px){
  .flow{grid-template-columns:1fr;gap:0}
  .fl-a{height:30px}
  .fl-a::before{left:50%;right:auto;top:4px;bottom:4px;width:2px;height:auto}
  .fl-a::after{right:auto;left:calc(50% - 4.5px);top:auto;bottom:5px;transform:rotate(135deg)}
  .fl-s{padding:16px}
  .fl-s b br{display:none}
}
@media(max-width:560px){.fl-m{grid-template-columns:1fr}}

/* 군신좌사 */
.jun{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.jn{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 14px 18px}
.jn-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.jn-h i{flex:none;width:30px;height:30px;border-radius:9px;background:var(--deep);color:#fff;
 font-style:normal;font-size:15px;font-weight:700;display:grid;place-items:center;font-family:serif}
.jn-h b{font-size:12.5px;font-weight:800;color:var(--rose);letter-spacing:-.02em;line-height:1.35}
.jn strong{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.03em}
.jn p{margin-top:5px;font-size:12.5px;line-height:1.7;color:var(--text)}
.jn p b{color:var(--ink);font-weight:700}
.why-dr{margin-top:18px;background:#fff;border:1px solid var(--pink);border-left:5px solid var(--rose);
 border-radius:14px;padding:20px 22px;font-size:14px;line-height:1.85;color:var(--text)}
.why-dr>b{display:block;font-size:16.5px;font-weight:800;color:var(--ink);letter-spacing:-.03em;margin-bottom:6px}
@media(max-width:900px){.jun{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.jun{grid-template-columns:1fr}.jn .hbimg{aspect-ratio:16/9}}

/* 가격 카드 — 표 가로 스크롤을 없애고 카드로 */
.pgrp{margin-top:34px}
.pgrp-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.pgrp-n{flex:none;width:32px;height:32px;border-radius:10px;background:var(--deep);color:#fff;
 display:grid;place-items:center;font-size:14px;font-weight:900}
.pgrp-h>div>b{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.035em}
.pgrp-h em{display:inline-block;margin-left:8px;font-size:11.5px;font-weight:800;color:#fff;
 background:var(--rose);padding:3px 10px;border-radius:99px;vertical-align:3px}
.pgrp-h em.gy{background:var(--line);color:var(--text)}
.pgrp-h p{margin-top:3px;font-size:13.5px;line-height:1.6;color:var(--text)}
.pgrp-h p b{color:var(--ink);font-weight:700}
.pcs{display:grid;gap:14px}
.pcs.two{grid-template-columns:1fr 1fr}
.pcs.three{grid-template-columns:repeat(3,1fr)}
.pc2{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.pc2.hot{border:2px solid var(--pink-d);box-shadow:0 12px 32px rgba(185,138,160,.22)}
.pc2-h{padding:16px 18px 14px;border-bottom:1px solid var(--line)}
.pc2.hot .pc2-h{background:var(--warm)}
.pc2-h b{display:block;font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.035em}
.pc2-h span{display:block;margin-top:1px;font-size:12.5px;color:var(--mute)}
.op2{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;
 border-bottom:1px solid var(--line2)}
.op2:last-child{border-bottom:0}
.op2-l{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.5}
.op2-l i{display:inline-block;margin-left:6px;font-style:normal;font-size:11.5px;font-weight:800;color:#C0456F}
.op2-l u{display:block;text-decoration:none;font-size:11px;font-weight:700;color:var(--rose)}
.op2-p{text-align:right;line-height:1.25}
.op2-p s{display:block;font-size:12px;color:var(--mute)}
.op2-p b{font-size:25px;font-weight:900;color:var(--ink);letter-spacing:-.045em}
.op2-p b small{font-size:13px;font-weight:700;margin-left:1px;letter-spacing:-.02em}
.op2-p em{display:block;margin-top:2px;font-size:12px;font-weight:700;color:var(--rose)}
.op2.best{background:#FBF4F7}
.op2.best .op2-p b{color:#A34A6B}
.pinc{margin-top:12px;background:#fff;border:1px dashed #DCC9D2;border-radius:12px}
.pinc summary{cursor:pointer;list-style:none;padding:12px 16px;font-size:13.5px;font-weight:700;color:var(--rose)}
.pinc summary::-webkit-details-marker{display:none}
.pinc summary::before{content:"+ "}
.pinc[open] summary::before{content:"− "}
.pinc p{padding:0 16px 14px;font-size:13.5px;line-height:1.85;color:var(--text)}
.pinc b{color:var(--ink)}
@media(max-width:860px){.pcs.three{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pcs.two,.pcs.three{grid-template-columns:1fr}.op2-p b{font-size:23px}}

/* 시술 칸 안 글씨에 테두리가 겹쳐 그려지던 것 정리 */
.proc .t,.proc .d{background:none;border:0;padding:0;border-radius:0;text-align:center}
