:root{--primary:#0057ff;--primary-dark:#003fb8;--accent:#008f68;--bg:#f4f6fb;--surface:#fff;--text:#171a21;--sub:#667085;--border:#e1e6ef;--content-max:560px;}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans KR',sans-serif;line-height:1.6;}
header{background:var(--primary);color:#fff;padding:42px 20px 36px;}
.header-inner,main,.footer-inner{width:min(100% - 32px,var(--content-max));margin:0 auto;}
.header-badge{display:inline-block;background:rgba(255,255,255,0.2);color:#fff;font-size:12px;font-weight:500;padding:4px 12px;border-radius:20px;margin-bottom:14px;}
h1{font-size:clamp(25px,6vw,38px);line-height:1.25;margin:0;letter-spacing:0;}
.header-copy{font-size:14px;margin:12px 0 0;opacity:.86;}
.header-stats{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:20px 24px;margin-top:24px;}
.stat{text-align:left;min-width:92px;max-width:180px;}
.stat-num{font-size:clamp(17px,4.5vw,26px);font-weight:900;line-height:1.2;word-break:keep-all;}
.stat-label{font-size:11px;opacity:0.75;margin-top:4px;line-height:1.3;}
.seo-intro{background:#fff;border-bottom:1px solid var(--border);padding:20px clamp(16px,5vw,24px);}
.seo-intro-inner{width:min(100% - 32px,var(--content-max));margin:0 auto;}
.seo-intro h2{font-size:15px;font-weight:700;margin:0 0 8px;}
.seo-intro p{font-size:13px;color:var(--sub);line-height:1.8;margin:0;}
main{padding:28px 0 56px;}
.result-count{font-size:13px;color:var(--sub);margin:0 0 16px;}
.result-count strong{color:var(--primary);font-weight:700;}
.hospital-card{background:var(--surface);border-radius:16px;border:1px solid var(--border);margin-bottom:16px;overflow:hidden;transition:box-shadow 0.2s,transform 0.2s;}
.hospital-card:hover{box-shadow:0 8px 32px rgba(0,87,255,0.10);transform:translateY(-2px);}
.card-header{padding:20px 18px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.hospital-type{display:inline-block;font-size:11px;font-weight:700;color:var(--primary);background:#ebf0ff;padding:2px 8px;border-radius:4px;margin-bottom:6px;}
.hospital-name{font-size:18px;font-weight:700;line-height:1.3;margin:0;letter-spacing:0;}
.open-badge{align-self:flex-start;display:flex;align-items:center;gap:5px;background:#e8fbf4;color:#00c48c;font-size:12px;font-weight:700;padding:5px 11px;border-radius:20px;}
.open-badge::before{content:'';width:7px;height:7px;background:#00c48c;border-radius:50%;animation:pulse 1.5s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.5;transform:scale(1.3);}}
.card-body{padding:0 18px 20px;display:flex;flex-direction:column;gap:12px;}
.info-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--sub);}
.info-icon{font-size:15px;flex-shrink:0;margin-top:1px;}
.info-text{line-height:1.5;}
.info-text a{color:var(--primary);text-decoration:none;font-weight:500;}
.doctor-summary{display:flex;gap:16px;flex-wrap:wrap;background:var(--bg);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--sub);}
.doctor-summary strong{color:var(--text);font-weight:700;}
.duty-hours{background:#eef3ff;border-radius:10px;padding:12px 14px;}
.duty-hours-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:8px;}
.hours-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.9;}
.hours-day{color:var(--sub);}
.hours-time{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;}
.duty-hours-note{margin-top:8px;font-size:11px;color:var(--sub);line-height:1.5;}
.subj-wrap{background:var(--bg);border-radius:10px;padding:12px 14px;}
.subj-title{font-size:11px;font-weight:700;color:var(--sub);letter-spacing:0.5px;margin-bottom:8px;text-transform:uppercase;}
.subj-list{display:flex;flex-wrap:wrap;gap:6px;}
.tag{display:inline-block;font-size:12px;font-weight:500;padding:3px 10px;border-radius:6px;background:#fff;border:1px solid var(--border);color:var(--sub);}
.tag-highlight{background:var(--primary);color:#fff;border-color:var(--primary);}
.btn-group{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px;}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;transition:all 0.15s;border:none;cursor:pointer;}
.detail-link{color:inherit;text-decoration:none;}
.detail-link::after{content:" ›";color:#0057FF;}
.btn-book{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;}
.btn-tel{background:#00C48C;color:#fff;}
.btn-app{background:#fff;color:#0057FF;border:1.5px solid #0057FF;}
.btn-detail{background:#EBF0FF;color:#0057FF;}
.btn-review{background:#03c75a;color:#fff;}
.btn-map{background:#fee500;color:#3c1e1e;}
.btn-home{background:#fff;color:var(--text);border:1.5px solid var(--border);}
.internal-links{margin-top:24px;background:#fff;border-radius:16px;border:1px solid var(--border);padding:20px 18px;}
.internal-links h2{font-size:16px;font-weight:700;margin:0 0 16px;}
.internal-links>p{font-size:13px;color:var(--sub);margin:0 0 16px;}
.links-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.link-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;border:1px solid var(--border);text-decoration:none;color:var(--text);transition:all 0.15s;background:var(--bg);}
.link-card:hover{background:#ebf0ff;border-color:var(--primary);}
.link-icon{font-size:24px;flex-shrink:0;}
.link-title{font-size:13px;font-weight:700;margin-bottom:2px;}
.link-desc{font-size:11px;color:var(--sub);}
.link-arrow{margin-left:auto;color:var(--sub);font-size:14px;}
footer{border-top:1px solid var(--border);background:#fff;padding:22px 0;color:var(--sub);font-size:12px;}
footer p{margin:0;}
@media(max-width:560px){
  .related-grid{grid-template-columns:1fr;}
}
  
