
:root{
  --navy:#14465D; --navy-d:#0E3346; --navy-l:#1E5C78;
  --teal:#18A5B6; --teal-d:#0F8A99; --tint:#EEF6F8;
  --amber:#F59E34; --warn:#B4443A;
  --ink:#343434; --ink-2:#5B6A70; --ink-3:#8A979C;
  --ground:#ECEEEB; --paper:#FFFFFF; --line:#DCE3E2;
  --sans:"Gothic A1", -apple-system, "Malgun Gothic", sans-serif;
  --serif:"Noto Serif KR", serif;
}
*{box-sizing:border-box}
body{margin:0; background:var(--paper); font-family:var(--sans); color:var(--ink); font-size:16px; line-height:1.75;}
img{display:block; max-width:100%}

 .page.on{display:block}

.top{position:sticky; top:0; z-index:80; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); backdrop-filter:saturate(1.4) blur(6px);}
.top .in{max-width:1180px; margin:0 auto; padding:0 26px; height:66px; display:flex; align-items:center; gap:28px;}
.brand{font-family:var(--serif); font-weight:700; font-size:20px; color:var(--navy); letter-spacing:-.02em; white-space:nowrap;}
.brand small{display:block; font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:.22em; color:var(--teal-d); margin-top:-3px;}
.gnb{display:flex; gap:26px; margin-left:6px; flex:1;}
.gnb a{color:var(--ink); text-decoration:none; font-size:15px; font-weight:500; padding:6px 0; border-bottom:2px solid transparent;}
.gnb a:hover, .gnb a.cur{color:var(--navy); border-bottom-color:var(--teal);}
.book{background:var(--navy); color:#fff; text-decoration:none; font-size:14px; font-weight:600; padding:10px 20px; border-radius:4px; white-space:nowrap;}
.book:hover{background:var(--navy-l);}
.burger{display:none; width:26px; height:18px; position:relative; flex:none; margin-left:auto}
.burger i{position:absolute; left:0; right:0; height:2px; background:var(--navy); border-radius:2px}
.burger i:nth-child(1){top:0} .burger i:nth-child(2){top:8px} .burger i:nth-child(3){top:16px}

.hero{position:relative; background:var(--navy-d); overflow:hidden;}
.hero img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:.40;}
.hero .veil{position:absolute; inset:0; background:linear-gradient(100deg, rgba(10,38,52,.95) 0%, rgba(10,38,52,.80) 46%, rgba(10,38,52,.32) 100%);}
.hero .in{position:relative; max-width:1180px; margin:0 auto; padding:104px 26px 92px;}
.eyebrow{font-size:12px; letter-spacing:.24em; font-weight:700; color:#6FD3E0; margin:0 0 22px;}
.hero h1{font-family:var(--serif); font-weight:700; color:#fff; margin:0 0 22px; font-size:clamp(29px,4.5vw,50px); line-height:1.38; letter-spacing:-.02em; text-wrap:balance;}
.hero p{color:#C6DCE4; font-size:clamp(15px,1.5vw,18px); margin:0 0 34px; max-width:40ch; line-height:1.8;}
.cta{display:flex; gap:10px; flex-wrap:wrap;}
.cta a{text-decoration:none; font-weight:700; font-size:15px; padding:15px 26px; border-radius:5px;}
.cta .p{background:#fff; color:var(--navy);} .cta .p:hover{background:var(--tint);}
.cta .s{background:rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.42);} .cta .s:hover{background:rgba(255,255,255,.2);}
.hours{position:relative; background:var(--navy); border-top:1px solid rgba(255,255,255,.13);}
.hours .in{max-width:1180px; margin:0 auto; padding:15px 26px; display:flex; gap:12px 34px; flex-wrap:wrap; color:#B9D3DC; font-size:13.5px;}
.hours b{color:#fff; font-weight:600;} .hours .hl{color:var(--amber); font-weight:700;}

.sec{padding:90px 0;}
.sec .in{max-width:1180px; margin:0 auto; padding:0 26px;}
.narrow{max-width:820px;}
.klabel{font-size:11.5px; letter-spacing:.2em; font-weight:700; color:var(--teal-d); margin:0 0 16px;}
h2.big{font-family:var(--serif); font-weight:700; color:var(--navy); margin:0 0 20px; font-size:clamp(24px,3.2vw,36px); line-height:1.45; letter-spacing:-.02em; text-wrap:balance;}
.sec p{font-size:16.5px; line-height:1.85; color:var(--ink); margin:0 0 18px; max-width:60ch;}
.sec p.lead{font-size:18px; color:var(--ink-2);}
.g-ground{background:var(--ground);} .g-tint{background:var(--tint);}
.g-navy{background:var(--navy); color:#fff;}
.g-navy h2.big{color:#fff;} .g-navy p{color:#BFD8E1;} .g-navy .klabel{color:#6FD3E0;}

/* KEYWORD 원 */
.kw{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin:34px 0 0;}
.kw div{width:132px; height:132px; border-radius:50%; border:1.5px solid rgba(255,255,255,.42);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; text-align:center;}
.kw div b{font-family:var(--serif); font-size:21px; color:#fff; font-weight:700;}
.kw div span{font-size:12px; color:#8FC2D2; letter-spacing:.04em;}

/* 번호 Q 섹션 */
.qs{border-top:1px solid var(--line);}
.q{display:grid; gap:8px 34px; padding:44px 0; border-bottom:1px solid var(--line); align-items:start;}
@media(min-width:820px){.q{grid-template-columns:170px minmax(0,1fr);}}
.q .n{display:flex; align-items:baseline; gap:12px;}
.q .n em{font-style:normal; font-family:var(--serif); font-size:34px; font-weight:700; color:var(--ground); line-height:1; letter-spacing:-.02em;}
.q .n span{font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--teal-d); writing-mode:horizontal-tb;}
.q h3{font-family:var(--serif); font-size:clamp(19px,2.3vw,25px); font-weight:700; color:var(--navy); margin:0 0 14px; line-height:1.5; letter-spacing:-.01em;}
.q p{margin:0 0 12px; max-width:58ch;}
.q p:last-child{margin-bottom:0}
.q .hi{color:var(--warn); font-weight:600;}
.q .box{background:var(--tint); border-radius:8px; padding:18px 22px; margin-top:16px;}
.q .box p{margin:0; font-size:15.5px; color:var(--navy);}
.q .box .cap{font-size:12px; letter-spacing:.12em; font-weight:700; color:var(--teal-d); display:block; margin-bottom:6px;}


.q .ans{font-size:clamp(16.5px,1.9vw,19px); font-weight:700; color:var(--navy); line-height:1.6;
  border-left:3px solid var(--teal); padding-left:15px; margin:0 0 18px; max-width:52ch;}


/* ---- 질환별 ---- */
.dis{border-top:2px solid var(--navy);}
.disease{padding:44px 0; border-bottom:1px solid var(--line); display:grid; gap:24px 44px; align-items:start;}
@media(min-width:900px){.disease{grid-template-columns:300px minmax(0,1fr);}}
.disease .hd h3{font-family:var(--serif); font-size:clamp(21px,2.4vw,26px); color:var(--navy); margin:0 0 4px; font-weight:700; letter-spacing:-.01em; line-height:1.4;}
.disease .hd .alt{font-size:13px; color:var(--ink-3); margin:0;}
.symp{list-style:none; padding:0; margin:16px 0 0; display:flex; flex-direction:column; gap:9px;
  background:var(--tint); border-radius:8px; padding:16px 18px;}
.symp .cap{font-size:11.5px; letter-spacing:.12em; font-weight:800; color:var(--teal-d); margin-bottom:2px;}
.symp li{font-size:14.5px; color:var(--ink); padding-left:20px; position:relative; line-height:1.6;}
.symp li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--teal); font-weight:800; font-size:13px;}
.mech{display:flex; flex-direction:column;}
.mech .st{padding:0 0 20px;}
.mech .st + .st{padding-top:20px; border-top:1px dashed var(--line);}
.mech .st > b{display:block; font-size:11.5px; letter-spacing:.14em; color:var(--teal-d); margin-bottom:8px; font-weight:800;}
.mech .st p{margin:0; font-size:16px; line-height:1.85; max-width:56ch;}
.mech .st p + p{margin-top:10px;}
.mech .st.bad > b{color:var(--warn);}
.mech .st .hi{color:var(--warn); font-weight:600;}

/* ---- 다이어트 유형 ---- */
.types{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:26px;}
@media(min-width:780px){.types{grid-template-columns:1fr 1fr;}}
.ty{background:var(--paper); padding:26px 26px 28px;}
.ty .n{font-size:11.5px; letter-spacing:.14em; font-weight:800; color:var(--teal-d); display:block; margin-bottom:9px;}
.ty h4{font-family:var(--serif); font-size:19px; color:var(--navy); margin:0 0 12px; font-weight:700; line-height:1.45;}
.ty dl{margin:0; display:flex; flex-direction:column; gap:11px;}
.ty dt{font-size:11.5px; font-weight:800; color:var(--ink-3); letter-spacing:.1em;}
.ty dd{margin:3px 0 0; font-size:15px; color:var(--ink); line-height:1.75;}

/* 풀쿼트 */
.pull{background:var(--navy); color:#fff; padding:78px 0;}
.pull .in{max-width:900px; margin:0 auto; padding:0 26px; text-align:center;}
.pull .mark{font-family:var(--serif); font-size:44px; color:var(--teal); line-height:1; margin-bottom:10px;}
.pull h2{font-family:var(--serif); font-weight:700; font-size:clamp(23px,3vw,33px); line-height:1.55; margin:0 0 22px; letter-spacing:-.02em;}
.pull p{color:#BFD8E1; margin:0 auto; max-width:52ch; font-size:16.5px;}
.down{display:block; margin:0 auto 26px; width:26px; height:38px;}

/* 순서 플로우 */
.flow{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden; margin-top:26px;}
@media(min-width:900px){.flow{grid-template-columns:repeat(5,1fr);}}
.flow .f{background:var(--paper); padding:24px 20px 26px;}
.flow .f b{display:block; font-size:16px; color:var(--navy); margin-bottom:5px;}
.flow .f span{font-size:14px; color:var(--ink-2); line-height:1.65;}
.flow .f i{font-style:normal; font-size:12px; font-weight:800; color:var(--teal); letter-spacing:.1em; display:block; margin-bottom:9px;}

/* 카드 */
.cards{display:grid; gap:20px;}
@media(min-width:760px){.cards{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1060px){.cards{grid-template-columns:repeat(4,1fr); gap:16px;}}
.card{background:var(--paper); border:1px solid var(--line); border-radius:9px; overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit;}
.card:hover{border-color:var(--teal);}
.card .ph{aspect-ratio:4/3; overflow:hidden; background:var(--ground);}
.card .ph img{width:100%; height:100%; object-fit:cover;}
.card .bd{padding:20px 20px 22px; display:flex; flex-direction:column; gap:7px; flex:1;}
.card .t{font-size:18px; font-weight:700; color:var(--navy);}
.card .d{font-size:14.5px; color:var(--ink-2); line-height:1.7; flex:1;}
.card .go{font-size:13px; font-weight:700; color:var(--teal-d);}

/* 질문 링크 */
.qlinks{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden;}
.qlinks a{background:var(--paper); padding:26px 26px; text-decoration:none; color:inherit; display:flex; gap:18px; align-items:baseline;}
.qlinks a:hover{background:var(--tint);}
.qlinks a em{font-style:normal; font-family:var(--serif); font-weight:700; color:var(--teal); font-size:20px; flex:none;}
.qlinks a b{font-family:var(--serif); font-size:clamp(17px,2vw,21px); color:var(--navy); font-weight:700; line-height:1.5; display:block; margin-bottom:5px;}
.qlinks a span{font-size:15px; color:var(--ink-2); line-height:1.7;}

/* 원장 */
.doc{display:grid; gap:34px; align-items:center;}
@media(min-width:860px){.doc{grid-template-columns:0.95fr 1.05fr; gap:52px;}}
.doc .ph img{border-radius:10px; width:100%;}
.doc .ph figcaption{font-size:13px; color:var(--ink-3); margin-top:9px;}
.quote{font-family:var(--serif); font-weight:600; font-size:clamp(19px,2.3vw,25px); line-height:1.64; color:var(--navy); margin:0 0 22px; letter-spacing:-.01em;}
.cv{list-style:none; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink-2); display:flex; flex-direction:column; gap:6px;}
.cv li::before{content:"— "; color:var(--ink-3);}

/* 안내문 */
.sheets{display:grid; gap:20px; margin-top:30px;}
@media(min-width:760px){.sheets{grid-template-columns:repeat(3,1fr);}}
.sheet{background:var(--paper); border:1px solid var(--line); border-radius:9px; overflow:hidden;}
.sheet .ph{background:var(--ground); aspect-ratio:3/4; overflow:hidden;}
.sheet .ph img{width:100%; height:100%; object-fit:cover; object-position:top;}
.sheet .bd{padding:18px 20px 20px;}
.sheet .bd b{display:block; font-size:16px; color:var(--navy); font-weight:700; line-height:1.5; margin-bottom:6px;}
.sheet .bd span{font-size:14px; color:var(--ink-2); line-height:1.7;}
.slist{list-style:none; padding:0; margin:26px 0 0; display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden;}
@media(min-width:760px){.slist{grid-template-columns:1fr 1fr;}}
.slist li{background:var(--paper); padding:17px 22px; font-size:15.5px; color:var(--navy); font-weight:500; margin:0;}
.slist li::before{content:"Q. "; color:var(--teal); font-weight:800;}

/* 스텝 */
.steps{counter-reset:st; display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden;}
@media(min-width:900px){.steps{grid-template-columns:repeat(5,1fr);}}
.steps .s{background:var(--paper); padding:24px 20px 26px; counter-increment:st;}
.steps .s::before{content:"0" counter(st); font-size:12px; font-weight:800; color:var(--teal); letter-spacing:.1em; display:block; margin-bottom:9px;}
.steps .s b{display:block; font-size:16px; color:var(--navy); margin-bottom:5px;}
.steps .s span{font-size:14px; color:var(--ink-2); line-height:1.65;}

.band{background:var(--navy); color:#fff; padding:70px 0;}
.band .in{max-width:1180px; margin:0 auto; padding:0 26px; text-align:center;}
.band .line{font-family:var(--serif); font-weight:700; font-size:clamp(24px,3.4vw,36px); line-height:1.5; margin:0 0 14px; letter-spacing:-.02em;}
.band p{color:#BFD8E1; margin:0 auto 28px; max-width:46ch;}

footer{background:var(--navy-d); color:#9FC0CC; padding:64px 0 40px; font-size:14px;}
footer .in{max-width:1180px; margin:0 auto; padding:0 26px;}
.fgrid{display:grid; gap:34px; margin-bottom:38px;}
@media(min-width:860px){.fgrid{grid-template-columns:1.1fr 1fr 1fr;}}
footer h4{color:#fff; font-size:15px; margin:0 0 12px; font-weight:700;}
footer p{margin:0 0 6px; line-height:1.8;}
footer .exi img{border-radius:8px; opacity:.9}
footer .sign{font-family:var(--serif); font-weight:700; color:#fff; font-size:19px; margin-bottom:10px; letter-spacing:-.01em;}
.fbot{border-top:1px solid rgba(255,255,255,.13); padding-top:22px; font-size:12.5px; color:#7CA0AE; line-height:1.9;}

.mbar{display:none; position:sticky; bottom:0; z-index:90; background:var(--navy); border-top:1px solid rgba(255,255,255,.14);}
.mbar a{padding:15px 4px; text-align:center; color:#fff; text-decoration:none; font-size:14px; font-weight:700;}
.mbar a + a{border-left:1px solid rgba(255,255,255,.14);}
.mbar a.k{color:#06222E; background:var(--teal);}

.tbd{border-bottom:1.5px dashed var(--amber); cursor:help;}
.note{background:#FFF6EA; border:1px solid #F2D3A6; border-radius:7px; padding:14px 18px; font-size:13.5px; color:#7A5424; line-height:1.75; margin:26px 0 0;}
.note b{color:#5E3F16;}



/* ---- 각설탕 ---- */
.sugar{display:flex; flex-direction:column; gap:20px; margin:30px 0 6px; background:var(--paper);
  border:1px solid var(--line); border-radius:10px; padding:28px 26px;}
.srow{display:grid; gap:6px 20px;}
@media(min-width:700px){.srow{grid-template-columns:150px minmax(0,1fr); align-items:center;}}
.srow .lb{font-size:16px; font-weight:700; color:var(--navy);}
.srow .lb small{display:block; font-weight:500; font-size:13px; color:var(--ink-3); letter-spacing:0;}
.cubes{display:flex; flex-wrap:wrap; gap:5px; align-items:center;}
.cube{width:19px; height:19px; border-radius:3px; background:#F0EDE4; border:1px solid #DCD6C6;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.05); flex:none;}
.cube.hot{background:var(--amber); border-color:#DA8A22; box-shadow:inset 0 -3px 0 rgba(0,0,0,.10);}
.cubes .cnt{font-size:15px; font-weight:800; color:var(--navy); margin-left:8px; font-variant-numeric:tabular-nums;}
.sugar .cap{margin:0; font-size:14px; color:var(--ink-3); border-top:1px solid var(--line); padding-top:16px;}

/* ---- 프로그램 흐름 ---- */
.prog{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden; margin-top:26px;}
@media(min-width:820px){.prog{grid-template-columns:repeat(4,1fr);}}
.prog .pz{background:var(--paper); padding:24px 20px 26px;}
.prog .pz i{font-style:normal; font-size:11.5px; font-weight:800; color:var(--teal-d); letter-spacing:.12em; display:block; margin-bottom:9px;}
.prog .pz b{display:block; font-size:16.5px; color:var(--navy); margin-bottom:6px;}
.prog .pz span{font-size:14px; color:var(--ink-2); line-height:1.7;}

.eyebrow2{font-size:14px; letter-spacing:.05em; color:#9FC5D2; margin:0 0 24px; font-weight:600;}
.thesis{background:var(--tint); padding:66px 0;}
.thesis .in{max-width:760px; margin:0 auto; padding:0 26px; text-align:center;}
.thesis p{font-size:clamp(17px,1.9vw,19.5px); line-height:1.95; color:var(--ink); margin:0 0 16px; max-width:none;}
.thesis p:last-child{margin:0;}
.thesis .big1{font-family:var(--serif); font-weight:700; font-size:clamp(21px,2.6vw,27px); color:var(--navy); line-height:1.6; letter-spacing:-.01em; margin-bottom:22px;}
.prin{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:8px;}
@media(min-width:820px){.prin{grid-template-columns:repeat(3,1fr);}}
.prin .pr{background:var(--paper); padding:28px 26px 30px;}
.prin .pr i{font-style:normal; font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--teal-d); display:block; margin-bottom:12px;}
.prin .pr b{display:block; font-family:var(--serif); font-size:19px; color:var(--navy); margin-bottom:10px; line-height:1.45; font-weight:700;}
.prin .pr span{font-size:15px; color:var(--ink-2); line-height:1.8;}

/* ---- 두 축 ---- */
.axis{display:grid; gap:2px; background:var(--line);}
@media(min-width:820px){.axis{grid-template-columns:1fr 1fr;}}
.ax{position:relative; min-height:330px; display:flex; align-items:flex-end; overflow:hidden; text-decoration:none; background:var(--navy-d);}
.ax img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.ax .v{position:absolute; inset:0; background:linear-gradient(to top, rgba(10,38,52,.94) 6%, rgba(10,38,52,.48) 62%, rgba(10,38,52,.26) 100%);}
.ax .c{position:relative; padding:36px 34px 34px; color:#fff;}
.ax .lb{font-size:11.5px; letter-spacing:.2em; font-weight:800; color:#6FD3E0; display:block; margin-bottom:12px;}
.ax .h{font-family:var(--serif); font-size:clamp(21px,2.7vw,29px); font-weight:700; line-height:1.44; margin:0 0 10px; letter-spacing:-.02em; color:#fff;}
.ax .p{font-size:15px; color:#C6DCE4; margin:0 0 16px; max-width:34ch; line-height:1.75;}
.ax .go{font-size:13.5px; font-weight:700; color:#fff; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:2px;}
.ax:hover .v{background:linear-gradient(to top, rgba(10,38,52,.96) 6%, rgba(10,38,52,.58) 62%, rgba(10,38,52,.32) 100%);}

/* ---- 가로 스크롤 대표 진료 ---- */
.rail-wrap{position:relative; margin-top:26px;}
.rail{display:flex; gap:16px; overflow-x:auto; padding:2px 26px 18px; margin:0 -26px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;}
.rail::-webkit-scrollbar{height:7px}
.rail::-webkit-scrollbar-thumb{background:#C3D0D3; border-radius:99px}
.rail::-webkit-scrollbar-track{background:transparent}
.rcard{flex:0 0 268px; scroll-snap-align:start; background:var(--paper); border:1px solid var(--line);
  border-radius:10px; overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column;}
.rcard:hover{border-color:var(--teal);}
.rcard .ph{aspect-ratio:4/3; background:var(--ground); overflow:hidden;}
.rcard .ph img{width:100%; height:100%; object-fit:cover;}
.rcard .bd{padding:17px 18px 19px; display:flex; flex-direction:column; gap:6px; flex:1;}
.rcard .t{font-size:17.5px; font-weight:700; color:var(--navy); line-height:1.4;}
.rcard .d{font-size:14px; color:var(--ink-2); line-height:1.65; flex:1;}
.rcard .lead{font-size:11px; letter-spacing:.12em; font-weight:800; color:var(--teal-d);}
.railhint{font-size:13px; color:var(--ink-3); margin:6px 0 0;}

/* ---- 전체 진료 범위 ---- */
.scope{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:14px;}
@media(min-width:820px){.scope{grid-template-columns:1fr 1fr;}}
.grp{background:var(--paper); padding:22px 24px 24px;}
.grp h4{margin:0 0 4px; font-size:16.5px; color:var(--navy); font-weight:700;}
.grp .gs{display:block; font-size:13px; color:var(--ink-3); margin-bottom:13px;}
.tags{display:flex; flex-wrap:wrap; gap:7px;}
.tags a{text-decoration:none; font-size:14px; color:var(--ink); background:var(--ground);
  border:1px solid transparent; padding:7px 12px; border-radius:6px; line-height:1.4;}
.tags a:hover{background:var(--tint); border-color:var(--teal); color:var(--teal-d);}
.tags a.st{background:var(--tint); color:var(--navy); font-weight:600;}
.tags a .ib{font-size:10px; font-weight:800; color:var(--teal-d); margin-left:5px; letter-spacing:.03em; vertical-align:1px;}

/* ---- 첩약보험 띠 ---- */
.insur{background:var(--navy); color:#fff; padding:44px 0;}
.insur .in{max-width:1180px; margin:0 auto; padding:0 26px; display:grid; gap:22px; align-items:center;}
@media(min-width:860px){.insur .in{grid-template-columns:auto 1fr; gap:44px;}}
.insur h3{font-family:var(--serif); font-size:clamp(21px,2.6vw,27px); margin:0; color:#fff; font-weight:700; line-height:1.45; letter-spacing:-.01em; white-space:nowrap;}
.insur .six{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px;}
.insur .six span{border:1px solid rgba(255,255,255,.4); border-radius:999px; padding:6px 14px; font-size:14px; font-weight:600; color:#fff;}
.insur p{margin:0; color:#A8CAD6; font-size:14px; max-width:none;}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ================= 추가 ================= */

/* 표 */
.tbl{border:1px solid var(--line); border-radius:9px; overflow:hidden; background:var(--paper);}
.tbl table{width:100%; border-collapse:collapse; font-size:15px;}
.tbl th{background:var(--navy); color:#fff; text-align:left; font-weight:700; padding:14px 18px; font-size:14px; letter-spacing:.02em;}
.tbl td{padding:15px 18px; border-top:1px solid var(--line); color:var(--ink); line-height:1.7; vertical-align:top;}
.tbl td b{color:var(--navy);}
.tbl tr td:first-child{width:34%; white-space:normal;}

/* FAQ */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; cursor:pointer; padding:20px 34px 20px 0; font-size:16.5px; font-weight:700; color:var(--navy); position:relative; line-height:1.6;}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:4px; top:18px; font-size:21px; color:var(--teal); font-weight:400;}
.faq details[open] summary::after{content:"−";}
.faq .a{padding:0 0 22px; font-size:15.5px; color:var(--ink-2); line-height:1.85; max-width:62ch;}

/* 대비 문장 쌍 */
.pairs{display:flex; flex-direction:column; gap:2px; background:rgba(255,255,255,.14); border-radius:10px; overflow:hidden; margin-top:8px;}
.pair{display:grid; gap:4px 30px; background:var(--navy); padding:28px 30px;}
@media(min-width:820px){.pair{grid-template-columns:1fr 1fr; gap:0 44px;}}
.pair .a1,.pair .a2{font-family:var(--serif); font-size:clamp(17px,2vw,21px); line-height:1.62; font-weight:600; letter-spacing:-.01em;}
.pair .a1{color:#7A98A6;}
.pair .a2{color:#fff; position:relative;}
@media(min-width:820px){.pair .a2{padding-left:30px; border-left:2px solid var(--teal);}}
@media(max-width:819px){.pair .a2{padding-top:14px; margin-top:12px; border-top:2px solid var(--teal);}}

/* 자동차 비유 */
.car{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:28px;}
@media(min-width:820px){.car{grid-template-columns:1fr 1fr;}}
.carc{background:var(--paper); padding:0 0 26px;}
.carc .fig{aspect-ratio:16/10; background:var(--tint); display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--line);}
.carc .fig svg{width:78%; height:auto;}
.carc .bd{padding:24px 26px 0;}
.carc .lb{font-size:11.5px; letter-spacing:.14em; font-weight:800; color:var(--teal-d); display:block; margin-bottom:9px;}
.carc h4{font-family:var(--serif); font-size:19.5px; color:var(--navy); margin:0 0 10px; font-weight:700; line-height:1.45;}
.carc p{font-size:15.5px; color:var(--ink-2); margin:0; line-height:1.8; max-width:none;}
.carc.bad .lb{color:var(--warn);}

/* 사실 블록 (시설·베드 등) */
.facts{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:26px;}
@media(min-width:860px){.facts{grid-template-columns:1fr 1fr;}}
.fact{background:var(--paper); padding:30px 28px 32px;}
.fact i{font-style:normal; font-size:11.5px; letter-spacing:.14em; font-weight:800; color:var(--teal-d); display:block; margin-bottom:11px;}
.fact h4{font-family:var(--serif); font-size:19.5px; color:var(--navy); margin:0 0 12px; font-weight:700; line-height:1.5;}
.fact p{font-size:15.5px; color:var(--ink); margin:0 0 11px; line-height:1.82; max-width:none;}
.fact p:last-child{margin:0;}
.fact p b{color:var(--navy);}

/* 장비 목록 */
.spec{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;}
.spec span{font-size:14px; color:var(--ink); background:var(--paper); border:1px solid var(--line); padding:8px 14px; border-radius:6px; line-height:1.4;}
.spec span.hl{background:var(--navy); color:#fff; border-color:var(--navy); font-weight:600;}

/* 강조 Q 하나 */
.oneq{background:var(--navy); border-radius:12px; padding:38px 36px 40px; color:#fff; margin-top:8px;}
.oneq .lb{font-size:11.5px; letter-spacing:.16em; font-weight:800; color:#6FD3E0; display:block; margin-bottom:14px;}
.oneq h3{font-family:var(--serif); font-size:clamp(20px,2.5vw,26px); margin:0 0 18px; font-weight:700; line-height:1.5; letter-spacing:-.01em; color:#fff;}
.oneq .big{font-family:var(--serif); font-size:clamp(19px,2.3vw,24px); color:var(--amber); font-weight:700; margin:0 0 16px; line-height:1.5;}
.oneq p{color:#C6DCE4; font-size:16px; margin:0 0 12px; line-height:1.85; max-width:60ch;}
.oneq p:last-child{margin:0;}

/* Q&A 목록 */
.qa{border-top:1px solid var(--line);}
.qa .item{border-bottom:1px solid var(--line); padding:28px 0;}
.qa .item .qq{display:flex; gap:14px; align-items:baseline; margin-bottom:12px;}
.qa .item .qq em{font-style:normal; font-family:var(--serif); font-weight:700; color:var(--teal); font-size:18px; flex:none;}
.qa .item .qq b{font-size:17px; color:var(--navy); font-weight:700; line-height:1.6;}
.qa .item .aa{display:flex; gap:14px; align-items:baseline;}
.qa .item .aa em{font-style:normal; font-family:var(--serif); font-weight:700; color:var(--ink-3); font-size:18px; flex:none;}
.qa .item .aa div{font-size:15.5px; color:var(--ink-2); line-height:1.85; max-width:64ch;}
.qa .item .aa div p{margin:0 0 9px; font-size:inherit; color:inherit; max-width:none;}
.qa .item .aa div p:last-child{margin:0;}

/* 절차 4단계 */
.proc{counter-reset:pc; display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden; margin-top:26px;}
@media(min-width:900px){.proc{grid-template-columns:repeat(4,1fr);}}
.proc .p4{background:var(--paper); padding:26px 22px 28px; counter-increment:pc;}
.proc .p4::before{content:"0" counter(pc); font-size:12px; font-weight:800; color:var(--teal); letter-spacing:.1em; display:block; margin-bottom:10px;}
.proc .p4 b{display:block; font-size:16.5px; color:var(--navy); margin-bottom:7px;}
.proc .p4 span{font-size:14.5px; color:var(--ink-2); line-height:1.7;}

/* 6단계 품질관리 */
.six6{counter-reset:s6; display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:26px;}
@media(min-width:760px){.six6{grid-template-columns:1fr 1fr;}}
@media(min-width:1060px){.six6{grid-template-columns:repeat(3,1fr);}}
.six6 .s6{background:var(--paper); padding:26px 24px 28px; counter-increment:s6;}
.six6 .s6::before{content:"0" counter(s6); font-family:var(--serif); font-size:26px; font-weight:700; color:var(--ground); display:block; line-height:1; margin-bottom:12px;}
.six6 .s6 p{margin:0; font-size:15.5px; line-height:1.8; color:var(--ink); max-width:none;}
.six6 .s6 b{color:var(--navy);}

/* 팀 */
.team{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:24px;}
@media(min-width:700px){.team{grid-template-columns:repeat(5,1fr);}}
.team .tm{background:var(--paper); padding:22px 20px 24px; text-align:center;}
.team .tm i{font-style:normal; font-size:11.5px; letter-spacing:.14em; font-weight:800; color:var(--teal-d); display:block; margin-bottom:9px;}
.team .tm b{display:block; font-size:16px; color:var(--navy); font-weight:700;}
.team .tm span{font-size:13px; color:var(--ink-3);}

/* 적응증 2열 */
.ind{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:9px; overflow:hidden; margin-top:20px;}
@media(min-width:640px){.ind{grid-template-columns:1fr 1fr;}}
.ind div{background:var(--paper); padding:16px 20px; font-size:15px; color:var(--ink);}
.ind div b{color:var(--navy);}

/* 둘러보기 */
.tour{display:grid; gap:20px; margin-top:28px;}
@media(min-width:760px){.tour{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1060px){.tour{grid-template-columns:repeat(4,1fr); gap:16px;}}
.tour .tc{background:var(--paper); border:1px solid var(--line); border-radius:9px; overflow:hidden;}
.tour .tc .ph{aspect-ratio:4/3; background:var(--ground); overflow:hidden;}
.tour .tc .ph img{width:100%; height:100%; object-fit:cover;}
.tour .tc .bd{padding:18px 20px 21px;}
.tour .tc b{display:block; font-size:16.5px; color:var(--navy); font-weight:700; margin-bottom:7px;}
.tour .tc span{font-size:14.5px; color:var(--ink-2); line-height:1.72;}

/* 인용 각주 */
.src{font-size:12.5px; color:var(--ink-3); line-height:1.7; margin-top:14px; padding-top:12px; border-top:1px solid var(--line);}
.g-navy .src{color:#8FB6C4; border-top-color:rgba(255,255,255,.18);}

/* 아이콘 카드 */
.rcard.ic .ph{background:var(--tint)}
.rcard.ic .ph img{object-fit:contain; padding:9%}
.tour .tc.ic .ph{background:var(--tint)}
.tour .tc.ic .ph img{object-fit:contain; padding:10%}

/* 사진 갤러리 */
.gal{display:grid; gap:14px; margin-top:26px}
@media(min-width:700px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1040px){.gal.g4{grid-template-columns:repeat(4,1fr)} .gal.g5{grid-template-columns:repeat(5,1fr)}}
.gal figure{margin:0; background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden}
.gal figure .im{aspect-ratio:4/3; background:var(--ground); overflow:hidden}
.gal figure img{width:100%; height:100%; object-fit:cover}
.gal figcaption{padding:12px 14px 14px; font-size:14px; color:var(--ink-2); line-height:1.6}
.gal figcaption b{display:block; color:var(--navy); font-size:15px; margin-bottom:3px; font-weight:700}
.g-navy .gal figure{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16)}
.g-navy .gal figcaption{color:#BFD8E1} .g-navy .gal figcaption b{color:#fff}

/* 장비 갤러리 (작게) */
.eqgal{display:grid; gap:10px; margin-top:20px; grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.eqgal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1040px){.eqgal{grid-template-columns:repeat(6,1fr)}}
.eqgal figure{margin:0}
.eqgal .im{aspect-ratio:1/1; background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden}
.eqgal img{width:100%; height:100%; object-fit:cover}
.eqgal figcaption{font-size:12.5px; color:var(--ink-2); margin-top:7px; line-height:1.5; text-align:center}

/* fact 안의 사진 */
.fact .fim{margin:0 0 16px; border-radius:8px; overflow:hidden; aspect-ratio:16/10; background:var(--ground)}
.fact .fim img{width:100%; height:100%; object-fit:cover}

/* 자동차 비유 사진 */
.carc .fig{padding:0; display:block}
.carc .fig img{width:100%; height:100%; object-fit:cover}

/* 없다 목록 */
.nolist{counter-reset:nl; display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:26px}
@media(min-width:760px){.nolist{grid-template-columns:1fr 1fr}}
.nolist .nl{background:var(--paper); padding:22px 24px 24px; counter-increment:nl}
.nolist .nl::before{content:"0" counter(nl); font-size:11.5px; font-weight:800; color:var(--teal); letter-spacing:.1em; display:block; margin-bottom:9px}
.nolist .nl b{display:block; font-family:var(--serif); font-size:17.5px; color:var(--navy); margin-bottom:7px; font-weight:700; line-height:1.5}
.nolist .nl span{font-size:14.5px; color:var(--ink-2); line-height:1.75}

/* 원장 */
.doc .ph img{width:100%; border-radius:10px}

/* ================= 16판: 새로·바로·스스로 ================= */
.sec{padding:104px 0}
.sec p.lead{max-width:56ch}

/* 3단계 본 섹션 */
.steps3{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-top:38px}
@media(min-width:860px){.steps3{grid-template-columns:1fr 1.22fr 1fr; align-items:stretch}}
.s3{padding:34px 30px 30px; background:var(--paper); display:flex; flex-direction:column; gap:9px; min-width:0}
.s3 .n{font-size:11.5px; letter-spacing:.18em; font-weight:800; color:var(--teal-d)}
.s3 .w{font-family:var(--serif); font-size:clamp(32px,3.8vw,46px); font-weight:700; line-height:1.08; letter-spacing:-.025em; color:var(--navy)}
.s3 .d{font-size:16.5px; font-weight:700; color:var(--navy); line-height:1.5; margin-top:4px}
.s3 .who{font-size:12.5px; color:var(--ink-3); margin-top:-2px}
.s3 .rows{margin-top:auto; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px}
.s3 .rows div{font-size:14px; color:var(--ink-2); line-height:1.6}
.s3 .rows b{color:var(--navy); font-weight:700; margin-right:7px; font-size:12.5px; letter-spacing:.02em}
.s3.k1{background:var(--tint)}
.s3.k2{background:var(--navy); color:#fff}
.s3.k2 .w,.s3.k2 .d{color:#fff} .s3.k2 .n{color:#6FD3E0} .s3.k2 .who{color:#8FB6C4}
.s3.k2 .rows{border-top-color:rgba(255,255,255,.2)} .s3.k2 .rows div{color:#BFD8E1} .s3.k2 .rows b{color:#fff}
.s3.k3{background:#FFF8EE} .s3.k3 .n{color:#C97A12}
.s3line{margin:26px auto 0; max-width:none; font-family:var(--serif); font-size:clamp(18px,2.2vw,23px); color:var(--navy); font-weight:700; text-align:center; letter-spacing:-.01em; line-height:1.5}
.s3line small{display:block; font-family:var(--sans); font-size:14px; font-weight:500; color:var(--ink-3); margin-top:8px; letter-spacing:0}

/* 페이지 상단 진행 표시 */
.stepbar{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin:0 auto; max-width:1180px}
@media(min-width:700px){.stepbar{grid-template-columns:repeat(3,1fr)}}
.stepbar a{background:var(--paper); padding:18px 22px; text-decoration:none; color:inherit; display:flex; gap:14px; align-items:baseline}
.stepbar a:hover{background:var(--tint)}
.stepbar em{font-style:normal; font-family:var(--serif); font-size:24px; font-weight:700; color:var(--navy); letter-spacing:-.02em}
.stepbar i{font-style:normal; font-size:10.5px; font-weight:800; letter-spacing:.14em; color:var(--teal-d); display:block; margin-bottom:2px}
.stepbar span{font-size:13.5px; color:var(--ink-2); line-height:1.5}
.stepbar a.k2 em{color:var(--navy)} .stepbar a.k3 i{color:#C97A12}
.stepwrap{padding:0 26px; margin-top:-30px; position:relative; z-index:2}

/* 섹션 단계 라벨 */
.stepk{display:flex; align-items:center; gap:12px; margin:0 0 18px}
.stepk i{font-style:normal; width:10px; height:10px; border-radius:50%; background:var(--teal); flex:none}
.stepk.k2 i{background:var(--navy)} .stepk.k3 i{background:var(--amber)}
.stepk b{font-family:var(--serif); font-size:22px; color:var(--navy); font-weight:700; letter-spacing:-.01em}
.stepk span{font-size:12px; letter-spacing:.16em; font-weight:800; color:var(--teal-d)}
.stepk.k3 span{color:#C97A12}

/* 확인하실 수 있는 것 */
.proof{display:grid; gap:16px; margin-top:34px}
@media(min-width:700px){.proof{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.proof{grid-template-columns:repeat(3,1fr)}}
.pf{min-width:0; background:var(--paper); border:1px solid var(--line); border-radius:10px; overflow:hidden; display:flex; flex-direction:column}
.pf .im{aspect-ratio:16/10; background:var(--ground); overflow:hidden}
.pf .im img{width:100%; height:100%; object-fit:cover}
.pf .bd{padding:20px 22px 22px}
.pf .big{font-family:var(--serif); font-size:20px; color:var(--navy); font-weight:700; line-height:1.4; margin:0 0 8px; letter-spacing:-.01em}
.pf p{font-size:14.5px; color:var(--ink-2); margin:0; line-height:1.72; max-width:none}
.pf .tag{font-size:11px; letter-spacing:.14em; font-weight:800; color:var(--teal-d); display:block; margin-bottom:8px}

/* 진료의 기준 — 절차 */
.crit{counter-reset:cr; display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:30px}
@media(min-width:860px){.crit{grid-template-columns:1fr 1fr} .crit.c3{grid-template-columns:repeat(3,1fr)}}
.crit .c{min-width:0; background:var(--paper); padding:28px 28px 30px; counter-increment:cr}
.crit .c::before{content:"0" counter(cr); font-family:var(--serif); font-size:28px; font-weight:700; color:var(--ground); line-height:1; display:block; margin-bottom:12px}
.crit .c b{display:block; font-family:var(--serif); font-size:19px; color:var(--navy); margin-bottom:10px; font-weight:700; line-height:1.45}
.crit .c p{font-size:15px; color:var(--ink-2); margin:0 0 8px; line-height:1.8; max-width:none}
.crit .c p:last-child{margin:0}

/* 스스로 섹션 항목 */
.selfs{display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:30px}
@media(min-width:860px){.selfs{grid-template-columns:repeat(3,1fr)}}
.selfs .sf{min-width:0; background:#FFF8EE; padding:28px 26px 30px}
.selfs .sf i{font-style:normal; font-size:11.5px; letter-spacing:.14em; font-weight:800; color:#C97A12; display:block; margin-bottom:11px}
.selfs .sf b{display:block; font-family:var(--serif); font-size:19px; color:var(--navy); margin-bottom:10px; font-weight:700; line-height:1.45}
.selfs .sf p{font-size:15px; color:var(--ink); margin:0; line-height:1.8; max-width:none}

/* 원장 */
.who{display:grid; gap:30px; align-items:center; margin-top:44px; padding-top:44px; border-top:1px solid var(--line)}
@media(min-width:860px){.who{grid-template-columns:300px 1fr; gap:48px}}
.who img{width:100%; border-radius:10px}
.who .nm{font-family:var(--serif); font-size:22px; color:var(--navy); font-weight:700; margin:0 0 4px}
.who .rl{font-size:13px; color:var(--ink-3); margin:0 0 16px; letter-spacing:.04em}
.who p{max-width:56ch}

h1,h2,h3,h4,.thesis .big1,.s3line,.s3 .d,.pf .big,.crit .c b,.selfs .sf b,.nolist .nl b,.fact h4,.carc h4,.band .line,.pull h2,.quote,.ax .h,.qlinks a b{word-break:keep-all; overflow-wrap:anywhere}
.band p{max-width:54ch}

/* ================= 22판: 3단계 시인성 ================= */
/* 스티키 단계 내비 */
.stepnav{position:sticky; top:66px; z-index:70; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 2px 10px rgba(0,0,0,.05)}
.stepnav .in{max-width:1180px; margin:0 auto; padding:0 26px; display:grid; grid-template-columns:repeat(3,1fr)}
.stepnav a{display:flex; align-items:center; gap:12px; padding:14px 6px; text-decoration:none; color:var(--ink-3); border-bottom:3px solid transparent; margin-bottom:-1px; transition:color .2s,border-color .2s}
.stepnav a em{font-style:normal; font-family:var(--serif); font-size:20px; font-weight:700; letter-spacing:-.02em}
.stepnav a i{font-style:normal; width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; background:var(--ground); color:var(--ink-3); flex:none}
.stepnav a span{font-size:12.5px; color:var(--ink-3)}
.stepnav a.k1.on{color:var(--teal-d); border-bottom-color:var(--teal)} .stepnav a.k1.on i{background:var(--teal); color:#fff}
.stepnav a.k2.on{color:var(--navy); border-bottom-color:var(--navy)} .stepnav a.k2.on i{background:var(--navy); color:#fff}
.stepnav a.k3.on{color:#B0680E; border-bottom-color:var(--amber)} .stepnav a.k3.on i{background:var(--amber); color:#fff}
.stepnav a.on em{color:inherit}

/* 챕터 오프너 */
.chapter{position:relative; overflow:hidden; padding:72px 0 64px}
.chapter .in{max-width:1180px; margin:0 auto; padding:0 26px; display:grid; gap:24px 40px; align-items:center}
@media(min-width:860px){.chapter .in{grid-template-columns:auto 1fr 220px}}
.chapter .num{font-family:var(--serif); font-size:clamp(88px,12vw,150px); font-weight:700; line-height:.9; letter-spacing:-.04em; opacity:.18}
.chapter .lbl{font-size:12px; letter-spacing:.2em; font-weight:800; display:block; margin-bottom:14px}
.chapter h2{font-family:var(--serif); font-size:clamp(30px,4.2vw,50px); font-weight:700; margin:0 0 14px; line-height:1.2; letter-spacing:-.025em}
.chapter h2 b{font-weight:700}
.chapter p{font-size:clamp(15.5px,1.6vw,18px); line-height:1.8; margin:0; max-width:52ch}
.chapter .ico{width:200px; height:200px; margin:0 auto; display:flex; align-items:center; justify-content:center}
.chapter .ico svg{width:100%; height:100%}
.chapter .ico img{width:100%; height:100%; object-fit:contain}
.chapter.k1{background:var(--tint)} .chapter.k1 .num,.chapter.k1 .lbl{color:var(--teal-d)} .chapter.k1 h2{color:var(--navy)} .chapter.k1 p{color:var(--ink-2)}
.chapter.k2{background:var(--navy)} .chapter.k2 .num{color:#fff; opacity:.14} .chapter.k2 .lbl{color:#6FD3E0} .chapter.k2 h2{color:#fff} .chapter.k2 p{color:#BFD8E1}
.chapter.k3{background:#FFF3E2} .chapter.k3 .num,.chapter.k3 .lbl{color:#C97A12} .chapter.k3 h2{color:var(--navy)} .chapter.k3 p{color:var(--ink-2)}
.chapter .sub{display:inline-block; margin-top:18px; font-size:13px; font-weight:700; padding:7px 14px; border-radius:999px; border:1px solid currentColor; opacity:.75}

/* 챕터 안 섹션 좌측 띠 */
.sec.in1{box-shadow:inset 6px 0 0 var(--teal)} .sec.in2{box-shadow:inset 6px 0 0 var(--navy)} .sec.in3{box-shadow:inset 6px 0 0 var(--amber)}

/* 홈 3단계 카드 아이콘 */
.s3 .sico{width:88px; height:88px; margin:0 0 6px}
.s3 .sico svg{width:100%; height:100%}
.s3 .sico img{width:100%; height:100%; object-fit:contain}

/* 사진 초점 보정 */
.pf .im img,.fact .fim img,.gal figure img{object-position:50% 42%}
img[data-fp]{object-position:var(--fp)}

/* ================= 24판: 질환 아코디언 ================= */
.dzidx{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px}
.dzidx a{text-decoration:none; font-size:14px; font-weight:600; color:var(--navy); background:var(--paper); border:1px solid var(--line); padding:9px 15px; border-radius:999px; line-height:1.3}
.dzidx a:hover,.dzidx a.on{background:var(--navy); color:#fff; border-color:var(--navy)}
.dis{border-top:2px solid var(--navy)}
.dz{border-bottom:1px solid var(--line)}
.dzh{width:100%; text-align:left; background:transparent; border:0; cursor:pointer; font-family:inherit; padding:22px 44px 22px 0; display:flex; align-items:baseline; gap:14px; position:relative; color:inherit}
.dzh .nm{font-family:var(--serif); font-size:clamp(19px,2.2vw,24px); color:var(--navy); font-weight:700; letter-spacing:-.01em}
.dzh .alt{font-size:13px; color:var(--ink-3)}
.dzh .pm{position:absolute; right:6px; top:50%; width:22px; height:22px; margin-top:-11px; border-radius:50%; border:1.5px solid var(--line)}
.dzh .pm::before,.dzh .pm::after{content:""; position:absolute; left:50%; top:50%; background:var(--navy); transform:translate(-50%,-50%)}
.dzh .pm::before{width:10px; height:1.5px} .dzh .pm::after{width:1.5px; height:10px; transition:transform .2s}
.dzh[aria-expanded="true"] .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.dzh[aria-expanded="true"] .pm{border-color:var(--navy)}
.dzh:hover .nm{color:var(--teal-d)}
.dzb{padding:0 0 34px}
.dzg{display:grid; gap:22px 44px; align-items:start}
@media(min-width:900px){.dzg{grid-template-columns:300px minmax(0,1fr)}}
.dzg .symp{margin:0}
/* 본문 서체·색 통일 */
.mech .st p{font-size:16px; line-height:1.85; color:var(--ink); max-width:56ch}
.mech .st p b{display:inline; font-size:inherit; letter-spacing:0; margin:0; color:var(--ink); font-weight:700}
.mech .st .hi{color:var(--ink); font-weight:700; background:linear-gradient(transparent 62%, rgba(24,165,182,.22) 0)}
.dz.on{background:linear-gradient(90deg, rgba(24,165,182,.04), transparent 40%)}

/* ================= 26판: 그래픽 재배치 (누끼 PNG, 박스 없이 띄우기) ================= */
:root{--ds:drop-shadow(0 18px 22px rgba(20,70,93,.22)) drop-shadow(0 2px 4px rgba(20,70,93,.10));}
.flt{filter:var(--ds); transition:transform .35s ease}
/* 경고등 — 2단 구성, 큰 아이콘 */
.thesis{padding:78px 0 74px; overflow:hidden; position:relative}
.thesis .in{max-width:1080px; display:grid; gap:36px 64px; align-items:center; text-align:left}
@media(min-width:860px){.thesis .in{grid-template-columns:340px minmax(0,1fr)}}
.thesis .tico{width:100%; max-width:340px; aspect-ratio:1; margin:0; border-radius:0; overflow:visible; position:relative}
.thesis .tico::before{content:""; position:absolute; inset:8% -6% -10% -6%; border-radius:50%; background:radial-gradient(closest-side, rgba(24,165,182,.16), rgba(24,165,182,0))}
.thesis .tico img{position:relative; width:100%; height:100%; object-fit:contain; filter:var(--ds); transform:scale(1.12)}
.thesis .txt p{max-width:58ch}
/* 홈 3단계 카드 — 우상단에 떠 있는 아이콘 */
.steps3{overflow:visible; border-radius:0; border:0; background:transparent; gap:14px; margin-top:44px}
.s3{position:relative; border-radius:14px; padding:38px 30px 30px; overflow:visible}
.s3 .sico{position:absolute; top:-20px; right:12px; width:152px; height:152px; margin:0; border-radius:0; overflow:visible; pointer-events:none}
.s3 .sico img{width:100%; height:100%; object-fit:contain; filter:var(--ds)}
.s3.k2 .sico::before{content:""; position:absolute; inset:14% 4% 2% 4%; border-radius:50%; background:radial-gradient(closest-side, rgba(255,255,255,.22), rgba(255,255,255,0))}
.s3 .w{white-space:nowrap} .s3 .n,.s3 .d,.s3 .who{max-width:calc(100% - 140px)}
.s3 .rows{padding-top:20px}
/* 챕터 오프너 — 큰 아이콘, 그림자, 띠 밖으로 살짝 */
@media(min-width:860px){.chapter .in{grid-template-columns:auto 1fr 320px}}
.chapter .ico{width:340px; height:340px; margin:-46px -10px -58px 0; border-radius:0; overflow:visible; position:relative}
.chapter .ico::before{content:""; position:absolute; inset:10% 0 0 0; border-radius:50%; background:radial-gradient(closest-side, rgba(255,255,255,.55), rgba(255,255,255,0))}
.chapter.k2 .ico::before{background:radial-gradient(closest-side, rgba(255,255,255,.20), rgba(255,255,255,0))}
.chapter .ico img{position:relative; width:100%; height:100%; object-fit:contain; filter:var(--ds)}
.chapter.k1 .num,.chapter.k3 .num{opacity:.14}
.chapter.k2 .sub{color:#BFD8E1; opacity:.9}
/* 저희가 보는 것 / 살찌는 이유 — 아이콘을 글 오른쪽에 띄워서 감싸기 */
.crit{overflow:visible; border:0; background:transparent; gap:18px}
.crit .c{border:1px solid var(--line); border-radius:12px; padding:26px 26px 28px; position:relative}
.crit .c .cic{float:right; width:126px; height:126px; margin:-10px -8px 8px 16px; border-radius:0; overflow:visible; shape-outside:margin-box}
.crit .c .cic img{width:100%; height:100%; object-fit:contain; filter:var(--ds)}
.crit.c3 .c .cic{float:none; width:124px; height:124px; margin:-8px 0 10px -8px}
.crit .c::before{color:var(--teal); opacity:.55}
/* 한약 6단계 — 아이콘 | 글 */
.six6{overflow:visible; border:0; background:transparent; gap:14px}
.six6 .s6{display:grid; grid-template-columns:104px minmax(0,1fr); grid-template-areas:"ico num" "ico txt"; column-gap:20px; row-gap:6px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:22px 24px 24px}
.six6 .s6::before{grid-area:num; margin:0; align-self:end; font-size:13px; color:var(--teal-d); font-family:var(--sans); letter-spacing:.12em; font-weight:800}
.six6 .s6 .cic{grid-area:ico; width:104px; height:104px; margin:0; border-radius:0; overflow:visible; align-self:center}
.six6 .s6 .cic img{width:100%; height:100%; object-fit:contain; filter:var(--ds)}
.six6 .s6 p{grid-area:txt; align-self:start}
/* 둘러보기 카드 — 받침 광원 + 호버 */
.rcard.ic .ph{background:radial-gradient(90% 70% at 50% 108%, #CFE9EE 0%, var(--tint) 70%); position:relative}
.rcard.ic .ph img{object-fit:contain; padding:10% 12% 6%; filter:var(--ds); transition:transform .35s ease}
.rcard.ic:hover .ph img{transform:translateY(-5px) scale(1.04)}
.sec p.s3line{max-width:none; margin-left:auto; margin-right:auto; text-align:center}
/* 28판: 녹용 */
.deer{display:grid; gap:24px 48px; align-items:center}
@media(min-width:860px){.deer{grid-template-columns:300px minmax(0,1fr)}}
.deer .dico{width:100%; max-width:300px; aspect-ratio:1; position:relative; margin:0 auto}
.deer .dico::before{content:""; position:absolute; inset:10% 0 0 0; border-radius:50%; background:radial-gradient(closest-side, rgba(24,165,182,.16), rgba(24,165,182,0))}
.deer .dico img{position:relative; width:100%; height:100%; object-fit:contain; filter:var(--ds)}
.deer .dtx h2{margin-bottom:16px}
.facts .fact:nth-child(odd):last-child{grid-column:1/-1}
/* 30판: 예진 설문 */
.svhero{background:var(--navy); color:#fff; padding:78px 0 64px}
.svhero .in{max-width:1180px; margin:0 auto; padding:0 26px}
.svhero h1{font-family:var(--serif); font-weight:700; margin:0 0 18px; font-size:clamp(26px,3.8vw,42px); line-height:1.4; letter-spacing:-.02em; word-break:keep-all}
.svhero p{color:#C6DCE4; font-size:clamp(15px,1.5vw,17px); margin:0; max-width:60ch; line-height:1.8}
.svsec{padding:64px 0 90px}
.svy{position:relative}
.svstep h2.big{margin-bottom:14px}
.svform{margin-top:26px; display:flex; flex-direction:column; gap:16px; max-width:520px}
.svf{display:flex; flex-direction:column; gap:7px}
.svf > span{font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--teal-d)}
.svf input[type=text]{height:50px; border:1.5px solid var(--line); border-radius:9px; padding:0 14px; font-size:17px; font-family:inherit; background:#fff}
.svf input:focus{outline:2px solid var(--teal); border-color:var(--teal)}
.svagree{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-2); line-height:1.65; background:var(--tint); padding:14px 16px; border-radius:9px}
.svagree input{margin-top:4px; width:18px; height:18px; flex:none}
.svbtn{font-family:inherit; font-size:16px; font-weight:800; color:#fff; background:var(--navy); border:0; border-radius:8px; padding:15px 28px; cursor:pointer}
.svbtn:hover{background:var(--navy-l)} .svbtn:disabled{opacity:.6; cursor:default}
.svlink{font-family:inherit; font-size:14px; font-weight:700; color:var(--teal-d); background:transparent; border:0; padding:10px 4px; cursor:pointer; text-decoration:none; align-self:flex-start}
.sverr{color:var(--warn); font-size:14.5px; font-weight:700; margin:0; background:#FAECEA; padding:10px 14px; border-radius:8px}
.svtypes{display:grid; gap:12px; margin:26px 0 8px}
@media(min-width:700px){.svtypes{grid-template-columns:1fr 1fr}}
.svtype{text-align:left; font-family:inherit; background:#fff; border:1.5px solid var(--line); border-radius:12px; padding:20px 22px; cursor:pointer; display:flex; flex-direction:column; gap:6px; transition:border-color .2s, transform .2s}
.svtype:hover{border-color:var(--teal); transform:translateY(-2px)}
.svtype b{font-family:var(--serif); font-size:19px; color:var(--navy)}
.svtype span{font-size:14px; color:var(--ink-2); line-height:1.6}
.svtype i{font-style:normal; font-size:12px; color:var(--teal-d); font-weight:800; letter-spacing:.04em}
.svhead{position:sticky; top:66px; z-index:60; background:var(--paper); padding:12px 0 10px; margin:0 0 6px; border-bottom:1px solid var(--line)}
.svhead h2.big{font-size:clamp(20px,2.6vw,28px); margin:0 0 6px}
.svhead .lead{font-size:14.5px; margin:0 0 10px; color:var(--ink-2)}
.pbar{height:5px; background:var(--ground); border-radius:3px; overflow:hidden}
.pbar i{display:block; height:100%; background:var(--teal); transition:width .3s}
.svgrp h3{font-size:13px; font-weight:800; letter-spacing:.08em; color:var(--teal-d); margin:34px 0 6px}
.svintro{font-size:14px; color:var(--ink-2); margin:0 0 14px; line-height:1.6}
.sq{padding:16px 0 4px; border-top:1px solid var(--ground)}
.sq.miss{background:#FFF6EA; box-shadow:0 0 0 8px #FFF6EA; border-radius:6px}
.sq .lb{font-size:16px; font-weight:700; color:var(--ink); line-height:1.45; margin-bottom:4px}
.sq .lb small{font-size:12px; color:var(--ink-3); font-weight:600; margin-left:6px}
.sq .hint{font-size:13px; color:var(--ink-3); line-height:1.55; margin-bottom:8px}
.opts{display:flex; flex-wrap:wrap; gap:7px; margin-top:8px}
.opts button{font-family:inherit; min-height:44px; padding:10px 15px; border-radius:9px; border:1.5px solid var(--line); background:#fff; color:var(--ink-2); font-size:15px; font-weight:600; cursor:pointer}
.opts button[aria-pressed=true]{background:var(--navy); border-color:var(--navy); color:#fff}
.opts.wide button{flex:1 1 calc(50% - 4px)}
.opts.n button{flex:0 0 calc(20% - 6px); padding:10px 0; text-align:center}
.chk{display:flex; flex-wrap:wrap; gap:7px; margin-top:8px}
.chk button{font-family:inherit; padding:9px 13px; border-radius:20px; border:1.5px solid var(--line); background:#fff; font-size:14.5px; color:var(--ink-2); min-height:40px; cursor:pointer}
.chk button[aria-pressed=true]{background:var(--tint); border-color:var(--teal); color:var(--teal-d); font-weight:700}
.vas{display:flex; gap:4px; margin-top:8px}
.vas button{flex:1; min-width:0; height:46px; border-radius:8px; border:1.5px solid var(--line); background:#fff; font-family:inherit; font-size:15px; font-weight:750; color:var(--ink-2); padding:0; cursor:pointer}
.vas button[aria-pressed=true]{color:#fff; border-color:transparent}
.vas button.lo[aria-pressed=true]{background:var(--teal)} .vas button.mid[aria-pressed=true]{background:var(--amber)} .vas button.hi[aria-pressed=true]{background:var(--warn)}
.vaslabel{display:flex; justify-content:space-between; font-size:12px; color:var(--ink-3); margin-top:6px}
.numin{display:flex; align-items:center; gap:8px; margin-top:8px}
.numin input{width:90px; height:46px; border:1.5px solid var(--line); border-radius:9px; text-align:center; font-size:17px; font-weight:700; font-family:inherit}
.numin .u{font-size:15px; color:var(--ink-3); font-weight:600}
.sq textarea,.sq input.free{width:100%; border:1.5px solid var(--line); border-radius:9px; padding:11px 13px; font-size:15px; line-height:1.55; font-family:inherit; margin-top:8px; background:#fff}
.sq textarea{min-height:84px; resize:vertical}
.svfoot{position:sticky; bottom:0; background:rgba(255,255,255,.96); backdrop-filter:blur(6px); border-top:1px solid var(--line); margin-top:30px; padding:14px 0; display:flex; gap:12px; align-items:center; z-index:50}
.svfoot .cnt{flex:1; font-size:13.5px; color:var(--ink-3)} .svfoot .cnt b{color:var(--navy); font-weight:800}
.svcode{font-family:var(--serif); font-size:18px; color:var(--navy); font-weight:700; letter-spacing:.04em; margin:0 0 26px}
#sv-thanks .cta{align-items:center}
/* 31판: 원장 칼럼 */
.colhero{background:var(--tint); color:var(--ink)}
.colhero h1{color:var(--navy)} .colhero p{color:var(--ink-2)}
.colbar{display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:22px}
.coltabs{display:flex; flex-wrap:wrap; gap:8px}
.coltabs button{font-family:inherit; font-size:14px; font-weight:600; color:var(--navy); background:var(--paper); border:1px solid var(--line); padding:9px 15px; border-radius:999px; cursor:pointer}
.coltabs button[aria-pressed=true]{background:var(--navy); color:#fff; border-color:var(--navy)}
.colmore{font-size:14px; font-weight:700; color:var(--teal-d); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px}
.colgrid{display:grid; gap:16px}
@media(min-width:700px){.colgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.colgrid{grid-template-columns:repeat(3,1fr)}}
.colcard{display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; transition:border-color .2s, transform .2s}
.colcard:hover{border-color:var(--teal); transform:translateY(-2px)}
.colth{aspect-ratio:16/9; background:var(--ground); overflow:hidden} .colth img{width:100%; height:100%; object-fit:cover}
.colbd{padding:20px 22px 22px; display:flex; flex-direction:column; gap:8px; flex:1}
.colcat{font-size:11px; letter-spacing:.14em; font-weight:800; color:var(--teal-d)}
.colcard b{font-family:var(--serif); font-size:19px; color:var(--navy); line-height:1.45; font-weight:700; word-break:keep-all}
.colcard p{font-size:14.5px; color:var(--ink-2); line-height:1.7; margin:0; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.coldate{font-size:12.5px; color:var(--ink-3); margin-top:4px}
.colnote{font-size:13.5px; color:var(--ink-3); margin:18px 0 0}
/* 32판: 무엇이 궁금하세요 — 태그 패널 */
.tags a.open{background:var(--navy); color:#fff; border-color:var(--navy)}
.grp .qa{position:relative; margin-top:14px; background:var(--tint); border-left:3px solid var(--teal); border-radius:8px; padding:18px 44px 18px 20px; animation:qain .22s ease}
@keyframes qain{from{opacity:0; transform:translateY(-4px)} to{opacity:1; transform:none}}
.grp .qa b{display:block; font-family:var(--serif); font-size:17px; color:var(--navy); margin-bottom:8px; line-height:1.45; word-break:keep-all}
.grp .qa p{font-size:14.5px; color:var(--ink); line-height:1.8; margin:0 0 8px; max-width:none}
.grp .qa .qago{display:inline-block; margin-top:4px; font-size:13.5px; font-weight:700; color:var(--teal-d); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:1px}
.grp .qa .qax{position:absolute; top:10px; right:10px; width:30px; height:30px; border:0; background:transparent; color:var(--ink-3); font-size:22px; line-height:1; cursor:pointer; font-family:inherit}
.grp .qa .qax:hover{color:var(--navy)}
.svclosed{padding:10px 0 30px}
.svclosed .cta{margin-top:24px}


@media (max-width:820px){
.gnb{display:none}
.top .in{padding:0 16px; height:56px; gap:12px}
.burger{display:block}
.book{display:none}
.kw div{width:104px; height:104px}
.kw div b{font-size:17px}
.mbar{display:grid; grid-template-columns:repeat(3,1fr);}
.ax{min-height:280px}
.rcard{flex:0 0 232px}
.tbl table, .tbl thead, .tbl tbody, .tbl tr, .tbl td{display:block; width:auto}
.tbl thead{display:none}
.tbl tr{border-top:1px solid var(--line); padding:4px 0}
.tbl td{border-top:0; padding:8px 16px}
.tbl tr td:first-child{width:auto; padding-top:16px}
.pair .a2{padding-left:0; border-left:0; padding-top:14px; margin-top:12px; border-top:2px solid var(--teal);}
.oneq{padding:28px 24px 30px}
.s3{padding:26px 22px 24px}
.hero h1{font-size:28px}
.hero .in{padding:76px 22px 64px}
.stepnav{top:56px}
.stepnav a span{display:none} .stepnav a{padding:12px 4px; gap:8px} .stepnav a em{font-size:16px}
.chapter .ico{width:120px; height:120px}
.chapter{padding:52px 0 46px}
.thesis .in{text-align:center; gap:10px}
.thesis .tico{width:200px; margin:0 auto 8px}
.thesis .txt p{max-width:none}
.steps3{gap:26px}
.s3{padding:32px 22px 26px}
.s3 .sico{width:128px; height:128px; top:-18px; right:10px}
.s3 .n,.s3 .d,.s3 .who{max-width:calc(100% - 118px)}
.chapter .in{justify-items:center; text-align:center}
.chapter .ico{width:190px; height:190px; margin:-4px auto -18px}
.chapter p{margin:0 auto}
.crit .c .cic{width:104px; height:104px; margin:-8px -6px 6px 12px}
.deer .dico{max-width:200px}
.flow{grid-template-columns:1fr!important}
.svhead{top:56px}
.svfoot{bottom:53px}
}
