html{font-size:18px;scroll-behavior:smooth}html[data-large-text=true]{font-size:20px}body.app-body{margin:0;background:#fffaf7;color:#183c39;font:1rem/1.65 'Noto Sans KR',Arial,sans-serif;word-break:keep-all;overflow-wrap:break-word;padding-bottom:calc(158px + env(safe-area-inset-bottom,0px))}*{box-sizing:border-box}.app-body a{color:inherit}.app-body button{font:inherit;cursor:pointer}.app-body [hidden]{display:none!important}.app-body button:focus-visible,.app-body a:focus-visible{outline:3px solid #183c39;outline-offset:4px}.skip-link{position:fixed;top:-120px;left:12px;z-index:100;background:white;padding:14px}.skip-link:focus{top:12px}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffaf7f5;border-bottom:1px solid #dce6e2;padding:12px max(16px,calc((100vw - 900px)/2));backdrop-filter:blur(12px)}.app-brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:1.25rem;line-height:1.3}.app-brand img{border-radius:12px;flex:none}.app-brand small{display:block;font-size:.72rem;font-weight:500;color:#516560;margin-top:3px}#font-toggle{padding:10px 12px;background:white;border:1px solid #9dafaa;border-radius:10px;min-height:48px;color:#183c39;font-size:.88rem;font-weight:700;white-space:nowrap}#font-toggle[aria-pressed=true]{background:#183c39;color:white}.app-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:932px;margin:0 auto;padding:12px 16px;font-size:.8rem;color:#4e625b}.app-meta button{border:0;background:none;color:#0b635c;text-decoration:underline;text-underline-offset:4px;min-height:44px;font-size:.85rem}.connection-note{max-width:900px;margin:0 auto;padding:14px 18px;background:#fff1d2;border:1px solid #cf9d32;font-size:.95rem}#app-main{max-width:932px;margin:0 auto;padding:8px 16px 24px}#app-main:focus{outline:none}.app-body h1{font-size:clamp(1.55rem,5vw,2.3rem);line-height:1.4;letter-spacing:-.6px;margin:10px 0 16px}.app-body h2{font-size:1.2rem;line-height:1.5;margin:22px 0 12px;letter-spacing:-.3px}.app-body h3{font-size:1.05rem;margin:18px 0 10px}.app-body p{margin:12px 0;color:#405c52}.welcome{padding:20px 22px 24px;background:#edf5f0;border:1px solid #c5d9cf;border-radius:20px;margin:0 0 20px}.welcome>p:first-child,.overline{color:#0b635c;font-weight:700;font-size:.9rem}.welcome>p:last-child{margin-bottom:0}.service-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #cedbd6;border-radius:18px;padding:20px;min-height:180px;gap:6px;color:#183c39;background:white;box-shadow:0 3px 12px #183c3906}.service-tile.hospital{background:#edf6fd}.service-tile.home{background:#fff1e6}.service-tile.visiting{background:#edf6ec}.service-tile.family{background:#fff0f0}.service-tile:hover,.service-tile[aria-pressed=true]{border-color:#0b635c;box-shadow:inset 0 0 0 1px #0b635c}.tile-symbol{font-size:1.7rem;line-height:1.3}.service-tile strong{font-size:1.2rem;line-height:1.4}.service-tile>span:not(.tile-symbol){font-size:.85rem;color:#3b5b50}.tile-next{margin-top:auto;padding-top:8px;font-weight:700}.help-card{display:flex;flex-direction:column;text-align:left;gap:4px;width:100%;margin-top:20px;padding:18px 20px;border:1px solid #b3c8bf;border-radius:14px;background:white;color:#183c39}.help-card>span{font-size:.9rem}.help-card strong{font-size:1.05rem}.simple-steps{margin-top:28px}.simple-steps ol{list-style:none;padding:0}.simple-steps li{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid #dce6e2}.simple-steps li span{font-size:.9rem;color:#4f645b;margin-top:4px}.regional-note,.small-copy{font-size:.9rem}.detail-card{margin-top:24px;border:1px solid #b4cbbf;border-radius:18px;background:white;padding:22px}.detail-card:focus{outline:none}.detail-card h2{margin-top:0}.detail-card ul{padding-left:24px}.detail-actions{display:grid;gap:12px;margin-top:22px}.primary-action,.secondary-action,.phone-action{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 18px;border-radius:12px;text-decoration:none;text-align:center;font-weight:700;line-height:1.5}.primary-action{background:#0b635c;color:white!important;border:1px solid #0b635c}.secondary-action{background:white;border:1px solid #8ca99e;color:#183c39}.phone-action{background:#f719c0;color:#fff!important;border:1px solid #f719c0}.full{width:100%;margin-top:18px}.request-list{display:grid;gap:14px;margin:24px 0}.request-link{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #c7d9d0;border-radius:14px;background:white;text-decoration:none;min-height:92px}.request-link>span:first-child{font-size:1.5rem}.request-link>span:nth-child(2){flex:1;min-width:0}.request-link strong{display:block;font-size:1.1rem}.request-link small{display:block;font-size:.85rem;color:#4f645b;margin-top:5px}.big-phone{display:flex;flex-direction:column;gap:8px;padding:24px 18px;text-align:center;text-decoration:none;background:#f719c0;color:#fff!important;border-radius:18px;margin:24px 0}.big-phone strong{font-size:clamp(1.4rem,5vw,1.8rem);white-space:nowrap}.big-phone small{font-size:.85rem}.contact-list{display:grid;gap:12px}.contact-link{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #c7d9d0;background:white;border-radius:12px;padding:16px;text-decoration:none}.contact-link span{font-size:.9rem}.contact-link strong{font-size:1rem;white-space:nowrap}.call-ready{margin-top:24px;padding:18px 20px;background:#eef5f0;border-radius:14px}.call-ready h2{margin-top:0}.call-ready ul{padding-left:24px}.app-content-footer{background:none;border:0;color:#405c52;font-size:.8rem;margin-top:32px;padding:20px 0 0;border-top:1px solid #dce6e2}.app-content-footer p{margin:4px 0}.app-content-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}.app-dock{position:fixed;inset:auto 0 0;z-index:20;background:#fffaf7;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #c5d5ce;box-shadow:0 -5px 18px #183c3910}.dock-phone{max-width:932px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;min-height:56px;background:#f719c0;color:#fff!important;text-decoration:none}.dock-phone>span:first-child{font-size:.85rem;font-weight:700}.dock-phone strong{font-size:1.1rem;white-space:nowrap}.bottom-nav{display:grid!important;position:static!important;inset:auto!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:932px;margin:0 auto;padding:0;background:#fffaf7;box-shadow:none;overflow:visible;font-size:.9rem}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:70px;border:0;text-decoration:none;font-weight:700;color:#4a6358}.bottom-nav a>span{font-size:1.25rem;line-height:1.2}.bottom-nav a[aria-current=page]{background:#e8f2ed;color:#075249;box-shadow:inset 0 3px #0b635c}.app-body dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow-y:auto}.app-body #install-dialog{width:480px;padding:28px 24px;border:1px solid #c5d5ce;border-radius:18px;color:#183c39;font:inherit}.app-body #install-dialog::backdrop{background:#183c3966}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:1.6rem!important;min-height:44px;min-width:44px}.app-body #install-dialog h2{padding-right:24px;margin-top:6px}.app-body #install-dialog ol{padding-left:24px}.app-body #install-dialog li{margin:12px 0}.app-body .login-dialog{font-size:1rem}.app-body .login-dialog .login-form-continue{font-size:1rem}.app-body .login-dialog h2{font-size:1.3rem}
@media(max-width:400px){.service-tile{padding:14px;min-height:176px}.app-header{padding:10px 12px}.app-brand img{width:42px;height:42px}.app-meta{font-size:.75rem}.welcome{padding:18px}.service-tiles{gap:10px}.dock-phone{gap:8px}.dock-phone strong{font-size:1rem}.app-body .request-link{padding:14px;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(min-width:900px){.service-tiles{gap:18px}.service-tile{min-height:190px}.welcome{padding:28px}.app-dock{border-radius:16px 16px 0 0;max-width:932px;margin:auto}}

.detail-card{scroll-margin-top:110px}

@media(max-width:1000px) and (prefers-color-scheme:dark){
 .app-body .dock-phone,.app-body .big-phone,.app-body .phone-action{background:#f719c0;border-color:#f719c0;color:#fff!important;color-scheme:only light}
 .app-body .dock-phone:hover,.app-body .big-phone:hover,.app-body .phone-action:hover{background:#9d174d;color:#fff!important}
}

.app-body .policy-links{padding:14px 0;gap:8px 18px;font-size:.85rem}.app-body .login-legal legend{font-size:1rem}.app-body .login-legal label{font-size:.9rem}.app-body .member-privacy-summary{font-size:.8rem}.app-body .login-legal input{flex-shrink:0}

@media(min-width:1001px){
.app-body .login-dialog{font-size:calc(1rem + 2pt)}
.app-body .login-dialog h2{font-size:calc(1.3rem + 2pt)}
.app-body .login-dialog .login-form-continue{font-size:calc(1rem + 2pt)}
.app-body .login-dialog .provider-button{font-size:18px}
@media(min-width:1001px){.app-body .login-dialog .provider-button{font-size:21px}}
.app-body .login-dialog .login-legal legend{font-size:calc(1rem + 2pt)}
.app-body .login-dialog .login-legal label{font-size:calc(.9rem + 2pt)}
.app-body .login-dialog .member-privacy-summary{font-size:calc(.8rem + 2pt)}

}

.app-body .dock-phone,.app-body .big-phone,.app-body .phone-action{background:#ff6600;border-color:#ff6600;color:#fff!important}

/* Consultation label, phone symbol and number share one centered row. */
.app-body .dock-phone{flex-wrap:nowrap;gap:clamp(6px,2vw,14px);padding-inline:12px}
.app-body .dock-phone>span:first-child{font-size:clamp(15px,4.5vw,22px);font-weight:800;white-space:nowrap}
.app-body .dock-phone .dock-phone-icon{font-size:clamp(18px,5vw,24px);line-height:1;flex:none}
.app-body .dock-phone strong{font-size:clamp(18px,5vw,26px);line-height:1.4}

/* Mobile install close button has no dark focus frame. */
@media(max-width:1000px){
 .app-body #install-dialog .dialog-close,.app-body #install-dialog .dialog-close:focus,.app-body #install-dialog .dialog-close:focus-visible{border:0;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none;border-radius:8px;color:#183c39}
 .app-body #install-dialog .dialog-close:focus-visible{background:#eef5f0}
}

/* Illustrated iPhone installation steps. */
.app-body #ios-instructions h3{font-size:1.15rem;margin:18px 0 6px}
.app-body .ios-guide-intro{font-size:.95rem;margin:6px 0 16px}
.app-body #install-dialog .ios-install-steps{list-style:none;padding:0;margin:16px 0}
.app-body #install-dialog .ios-install-steps>li{padding:16px;background:#fafcf9;border:1px solid #d3ded8;border-radius:12px;margin:12px 0}
.ios-step-heading{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.ios-step-number{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0b635c;color:white;font-size:.9rem;font-weight:800}
.ios-step-heading strong{font-size:1rem}
.app-body .ios-install-steps p{font-size:.9rem;line-height:1.7;margin:10px 0 0}
.ios-share-picture{display:block;width:100%;max-width:360px;height:auto;margin:12px auto 0}
.ios-menu-example,.ios-add-example{display:flex;align-items:center;gap:10px;border:2px solid #ff6600;border-radius:10px;background:#fff5ed;color:#183c39;padding:12px;margin:14px 0 8px;font-size:.95rem;font-weight:700}
.ios-menu-example svg{width:24px;height:24px;flex:none}.ios-menu-example span:last-child{margin-left:auto;font-size:1.4rem}
.ios-add-example{justify-content:space-between}.ios-add-example strong{color:#0067c5;background:#fff;border-radius:6px;padding:5px 10px;white-space:nowrap}
.app-body #ios-instructions .ios-browser-tip{font-size:.8rem;line-height:1.7;color:#4e6259}
@media(max-width:450px){.app-body #install-dialog{padding:24px 18px}.app-body #install-dialog .ios-install-steps>li{padding:14px 12px}}
