/* 마성호내과의원 — 공통 스타일 (밝은 화이트+블루 모던) */
:root{
  --paper:#ffffff; --soft:#eef5fb; --white:#fff;
  --ink:#15273c; --muted:#5b6a7b; --line:#e6edf4;
  --blue:#4a7fa8; --blue2:#6699bf; --blued:#3d6b8f; --tint:#eaf1f6; --teal:#3aa6a0;
  --shadow:0 18px 50px rgba(20,40,70,.09); --shadow-sm:0 6px 22px rgba(20,40,70,.06);
  --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Pretendard',-apple-system,sans-serif;color:var(--ink);background:var(--paper);
  font-size:17.5px;line-height:1.75;-webkit-font-smoothing:antialiased;letter-spacing:-.015em;}
.wrap{max-width:920px;margin:0 auto;padding:0 24px;}
a{color:inherit;text-decoration:none;}
b{font-weight:700;}

/* 상단바 */
.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);}
.topbar .wrap{max-width:1100px;display:flex;align-items:center;justify-content:space-between;height:64px;}
.topbar .brand{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.02em;}
.topbar .navlinks{display:flex;align-items:center;gap:26px;font-size:15.5px;font-weight:600;color:var(--muted);}
.topbar .navlinks a:hover{color:var(--blue);}
.topbar .navlinks a.tel{background:var(--blue);color:#fff;padding:9px 18px;border-radius:8px;}
.topbar .navlinks a.tel:hover{background:var(--blued);color:#fff;}

/* 페이지 헤더 */
.phead{background:linear-gradient(135deg,#eef5fb,#e7f0f8);padding:54px 0 48px;border-bottom:1px solid var(--line);}
.phead .crumb{font-size:13.5px;color:var(--blue2);font-weight:600;letter-spacing:.04em;}
.phead h1{font-size:42px;font-weight:800;letter-spacing:-.03em;margin:12px 0 10px;}
.phead .sub{font-size:18px;color:var(--muted);max-width:620px;}

/* 본문 */
.content{padding:54px 24px 20px;}
.lead-photo{margin:0 0 34px;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);}
.lead-photo img{width:100%;display:block;}

.callout{background:var(--tint);border:1px solid #d8e6f1;border-left:5px solid var(--teal);
  border-radius:14px;padding:24px 26px;margin-bottom:44px;}
.callout .tag{display:inline-block;background:var(--teal);color:#fff;font-size:12.5px;font-weight:700;
  padding:4px 12px;border-radius:7px;margin-bottom:12px;letter-spacing:.02em;}
.callout p{font-size:17px;}
.callout b{color:var(--blued);}

section{margin:0 0 52px;}
h2{font-size:27px;font-weight:800;letter-spacing:-.02em;margin-bottom:18px;padding-left:15px;
  border-left:4px solid var(--blue);line-height:1.3;}
section>p{margin-bottom:14px;}
.note{font-size:14.5px;color:var(--muted);background:#fbfcc;background:#f7faf2;border:1px solid #e7eed9;
  border-radius:10px;padding:12px 16px;margin-top:14px;}

/* 표 */
table{width:100%;border-collapse:collapse;margin:8px 0;background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-sm);font-size:16px;}
th,td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--line);}
th{background:var(--ink);color:#fff;font-weight:600;}
tr:last-child td{border-bottom:none;}
.hl td{background:#eaf2fb;font-weight:700;color:var(--blued);}
td.l{text-align:left;}

/* 사진 */
figure{margin:22px 0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;}
figure img{width:100%;display:block;}
figcaption{font-size:14.5px;color:var(--muted);text-align:center;padding:12px 16px;}

/* 장기 카드 */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0;}
.orgcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 14px;text-align:center;box-shadow:var(--shadow-sm);}
.orgcard b{display:block;font-size:17px;color:var(--blued);margin-bottom:4px;}
.orgcard span{font-size:14px;color:var(--muted);}

/* 단계 */
.steps{display:grid;gap:13px;margin:18px 0;}
.step{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:18px 20px;box-shadow:var(--shadow-sm);}
.step>span{flex:0 0 34px;height:34px;background:var(--blue);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:800;}
.step b{color:var(--blued);}

/* FAQ */
details{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:11px;padding:0 20px;box-shadow:var(--shadow-sm);}
summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;font-size:17px;display:flex;gap:11px;align-items:center;}
summary::-webkit-details-marker{display:none;}
summary:before{content:"Q";flex:0 0 27px;height:27px;background:var(--blue);color:#fff;border-radius:7px;
  display:flex;align-items:center;justify-content:center;font-size:14px;}
details[open] summary{border-bottom:1px solid var(--line);}
details .a{padding:15px 0 19px 38px;color:var(--muted);font-size:16px;}
details .a:before{content:"A. ";color:var(--teal);font-weight:800;}

/* 진료 약속 */
.vow{background:var(--soft);border-radius:var(--r);padding:34px 30px;}
.vow h2{border:none;padding:0;margin-bottom:6px;}
.vow .vowlead{font-size:18.5px;font-weight:800;color:var(--blue);margin-bottom:18px;}
.vow ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.vow li{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px 14px 44px;position:relative;font-size:16px;}
.vow li:before{content:"✓";position:absolute;left:16px;top:14px;width:20px;height:20px;background:var(--teal);
  color:#fff;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:800;}

/* CTA */
.cta{background:linear-gradient(135deg,#4a7fa8,#3d6b8f);color:#fff;margin-top:20px;}
.cta .wrap{max-width:1000px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:44px 24px;flex-wrap:wrap;}
.cta h2{border:none;padding:0;color:#fff;font-size:26px;margin-bottom:6px;}
.cta p{color:#dbe8f3;font-size:16px;}
.cta .callbtn{background:#fff;color:var(--blued);font-weight:800;padding:16px 32px;border-radius:10px;font-size:18px;white-space:nowrap;}
.cta .callbtn:hover{transform:translateY(-2px);}

/* 푸터 */
.foot{background:#15273c;color:#9fb1c4;padding:40px 24px;}
.foot .wrap{max-width:1000px;text-align:center;}
.foot p{font-size:14.5px;margin:4px 0;}
.foot b{color:#fff;}
.foot .disc{font-size:13px;color:#6f829a;margin-top:14px;}

@media(max-width:760px){
  body{font-size:16.5px;}
  .topbar .navlinks{gap:14px;font-size:14px;}
  .topbar .navlinks a:not(.tel){display:none;}
  .phead h1{font-size:32px;} h2{font-size:23px;}
  .cards{grid-template-columns:1fr 1fr;}
  .vow ul{grid-template-columns:1fr;}
  .cta .wrap{flex-direction:column;align-items:flex-start;}
}

.doline{display:inline-block;background:var(--tint);color:var(--blued);border:1px solid #cfe0ee;border-radius:30px;padding:9px 20px;font-size:15px;font-weight:700;margin-bottom:20px;}

.topbar .brand{display:flex;align-items:center;}
.topbar .brand .brandlogo{height:40px;width:auto;display:block;}
@media(max-width:560px){.topbar .brand .brandlogo{height:32px;}}
