/* Focused refinements. Existing site layout and responsive review variants are retained. */
:root{--contact-bar-space:100px}
body:has(.booking-bar){padding-bottom:var(--contact-bar-space)}
.patient-panel{color:#173b46;background:#f1f4ee;border:1px solid #d5e1d9;border-radius:16px;padding:clamp(20px,3vw,34px);margin:30px 0;line-height:1.8;max-width:100%;box-sizing:border-box}
.patient-panel h2{font-size:clamp(23px,2.4vw,32px);line-height:1.35;margin:0 0 18px;color:#173b46}
.patient-panel h3{font-size:19px;line-height:1.4;margin:0 0 10px}
.patient-panel p{color:#38565c;font-size:16px;line-height:1.85;margin:12px 0}
.patient-panel li{margin:9px 0;line-height:1.8}
.patient-panel ul{padding-left:1.4em}
.patient-panel a{color:#173b46;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.home-visit-plan{max-width:1200px;margin:50px auto!important;background:linear-gradient(125deg,#edf2e8,#e2ece6);position:relative;padding:38px!important}
.home-visit-plan>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}
.patient-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:stretch}
.patient-actions a,.patient-panel button,.wechat-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #b0c7b8;border-radius:7px;font:inherit;background:#fff;color:#173b46;box-sizing:border-box;cursor:pointer;line-height:1.5}
.wechat-primary{margin-top:18px;background:#173b46!important;color:white!important;text-decoration:none!important}
.booking-flow{font-weight:650;border-top:1px solid #c8d9ce;padding-top:18px}
.visit-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.visit-timeline>div{padding:22px;background:#fff;border:1px solid #dae3dc;border-radius:10px;min-width:0}
.korean-address{font-size:clamp(18px,2vw,24px)!important;font-weight:650;word-break:keep-all}
.copy-status{display:block;font-size:14px;margin-top:8px}
.case-detail-link{display:block;text-align:center;padding:12px;margin:0 20px 16px;color:#173b46;min-height:44px;line-height:1.4;text-underline-offset:4px}
#case .swiper-slide{height:auto;align-self:stretch}
#case .op{min-height:2.8em;height:auto;line-height:1.45;padding-left:12px;padding-right:12px;overflow-wrap:anywhere}
.confirmed-case .dain-case-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.confirmed-case .dain-case-pair img{display:block;width:100%;height:auto}
.confirmed-case .dain-case-pair span{display:block;font-size:14px;margin:8px 0}
.confirmed-case figure{margin:0}
.confirmed-case figcaption{font-size:14px;line-height:1.7;margin-top:16px}
#ortho .consult-text-link{display:inline-block;color:#fff!important;text-decoration:underline;text-underline-offset:5px;padding:12px 0;min-height:44px;line-height:1.5}
.booking-bar{max-width:calc(100vw - 24px);box-sizing:border-box;gap:0;flex-wrap:wrap;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.booking-bar a{min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.3;text-align:center;flex:1 1 auto}
.booking-bar [data-wechat]{font-weight:700}
.locale-switch a{min-height:44px;display:inline-flex;align-items:center}
.consult-fees{max-width:100%;overflow-x:auto}
.consult-fees table{min-width:0}
.consult-fees th{overflow-wrap:anywhere}
.consult-fees td{white-space:nowrap}
.dain-cta a{min-height:44px;display:inline-flex;align-items:center}
#wechat-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px}
#wechat-dialog img{height:auto;max-height:60dvh;object-fit:contain}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #bc8651;outline-offset:4px}
.home-visit-plan,.patient-panel[id]{scroll-margin-top:110px}
@media(max-width:700px){
 .home-visit-plan{margin:28px 14px!important;padding:24px!important}
 .home-visit-plan>ul,.visit-timeline{grid-template-columns:1fr}
 .patient-panel{padding:22px 18px}
 .patient-panel h2{font-size:24px}
 .patient-panel p,.patient-panel li{font-size:15px}
 .patient-actions{flex-direction:column;gap:10px}
 .booking-bar{left:12px!important;right:12px!important;bottom:8px!important;width:auto!important;border-radius:16px!important;transform:none!important}
 .booking-bar a{font-size:12px;padding:10px 8px!important;min-width:0}
 .locale-toc a{display:inline-block;padding:5px 0}
 .consult-fees th,.consult-fees td{padding:12px 9px!important}
 .consult-fees th{font-size:13px!important}
 .consult-fees td{font-size:13px!important}
 .consult-page,.article-shell,.treatment-content{min-width:0}
 img{max-width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
