/* Member entry and policy pages: existing clinic palette, readable type, restrained motion. */
.member-renewed{margin:0;background:#fff;color:#152e47;font-family:ClinicHeader,'Malgun Gothic',sans-serif;font-size:20px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.member-renewed *{box-sizing:border-box}
.member-renewed a{color:inherit}
.member-auth-page{width:min(1100px,calc(100% - 64px));margin:0 auto;padding:68px 0 78px}
.member-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:start}
.member-auth-intro{padding-top:9px}
.member-brand-name{font-size:18px;font-weight:800;color:#1663b7;margin:0 0 22px}
.member-auth-intro h2{font-size:34px;line-height:1.5;letter-spacing:-.055em;font-weight:800;margin:0 0 35px;color:#152e47}
.member-auth-intro img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:20px}
.member-auth-panel{min-width:0;padding:0}
.member-auth-heading h1{margin:0 0 14px;font-size:46px;line-height:1.25;letter-spacing:-.05em;color:#152e47;font-weight:850}
.member-auth-heading p{margin:0 0 30px;font-size:20px;color:#4b6174;line-height:1.65}
.member-auth-messages:empty{display:none}
.member-auth-messages p{background:#edf3f9;border-left:3px solid #1663b7;color:#152e47;padding:14px 18px;margin:0 0 20px;font-size:18px}
.member-provider-list{display:grid;gap:12px}
.member-provider{display:flex;width:100%;min-height:66px;gap:15px;align-items:center;padding:16px 22px;border:1px solid transparent;border-radius:12px;text-decoration:none;font:inherit;font-weight:750;font-size:20px;line-height:1.4;text-align:left;transition:box-shadow .15s,background-color .15s}
.member-provider:disabled{opacity:1;cursor:not-allowed}
.member-provider-name{flex:1;white-space:nowrap}
.member-provider-state{font-size:14px;white-space:nowrap;font-weight:600}
.member-provider-kakao{background:#fee500;color:#201c00!important}
.member-provider-naver{background:#e8f8ed;border-color:#c7e5d0;color:#104d2a!important}
.member-provider-google{background:#fff;border-color:#c8d3de;color:#152e47!important}
.member-provider .social-login-icon{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;margin:0;line-height:1}
.member-provider .social-login-icon-kakao{position:relative;width:22px;height:18px;flex-basis:24px;border-radius:50%;background:#201c00}
.member-provider .social-login-icon-kakao:after{content:"";position:absolute;left:4px;bottom:-3px;width:7px;height:7px;background:#201c00;transform:skewY(-28deg)}
.member-provider .social-login-icon-naver{font-family:Arial,sans-serif;font-weight:900;font-size:25px;color:#08662e}
.member-provider .social-login-icon-google svg{width:22px;height:22px}
.member-provider:not(:disabled):hover{box-shadow:0 0 0 2px #152e47}
.member-auth-pending{font-size:16px;color:#536779;margin:16px 0 0}
.member-auth-policy{margin-top:28px;padding-top:24px;border-top:1px solid #dce3e9;font-size:16px;line-height:1.7;color:#536779}
.member-auth-policy p{margin:0 0 12px}
.member-auth-policy a{display:block;width:fit-content;color:#152e47;text-decoration:underline;text-underline-offset:4px;margin:6px 0;font-weight:650}
.member-auth-switch{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:26px;font-size:17px;color:#536779}
.member-auth-switch a{color:#1663b7;font-weight:800;text-underline-offset:4px}
.member-admin-access{max-width:500px;margin:34px 0 0 auto;font-size:16px;color:#536779;border-top:1px solid #dce3e9;padding-top:20px}
.member-admin-access summary{cursor:pointer;width:fit-content;font-weight:650}
.member-admin-access .form{margin-top:24px;gap:18px}
.member-admin-access .field label{color:#152e47;font-size:17px}
.member-admin-access input{background:#fff;color:#152e47;border:1px solid #a7b6c5;min-height:48px}
.member-admin-access .button{background:#152e47;color:#fff;border:0;border-radius:10px;font-size:18px;padding:12px 22px}
.member-policy-page{width:min(1060px,calc(100% - 64px));margin:0 auto;padding:52px 0 80px}
.member-policy-tabs{display:flex;gap:16px 30px;flex-wrap:wrap;border-bottom:1px solid #dce3e9;margin-bottom:44px}
.member-policy-tabs a{display:block;padding:14px 0;text-decoration:none;font-size:18px;color:#536779;border-bottom:3px solid transparent;margin-bottom:-1px;font-weight:650}
.member-policy-tabs a[aria-current=page]{color:#1663b7;border-bottom-color:#1663b7;font-weight:800}
.member-policy-heading h1{font-size:44px;line-height:1.35;letter-spacing:-.045em;margin:0 0 40px;font-weight:850;color:#152e47}
.member-policy-document{background:#f4f7fa;border:1px solid #dce3e9;border-radius:20px;padding:44px 48px}
.member-policy-copy h2{margin:38px 0 18px;color:#152e47;font-size:25px;line-height:1.5;font-weight:800;letter-spacing:-.025em}
.member-policy-copy h2:first-child{margin-top:0}
.member-policy-copy p{white-space:pre-line;margin:0 0 18px;font-size:19px;line-height:1.9;color:#263e53}
.member-policy-copy p:last-child{margin-bottom:0}
.member-policy-actions{display:flex;gap:24px;flex-wrap:wrap;padding-top:30px;color:#1663b7;font-size:18px;font-weight:700;text-underline-offset:5px}
.member-renewed :is(a,button,input,summary):focus-visible{outline:3px solid #1663b7;outline-offset:4px}
@media(max-width:1100px){.member-auth-layout{gap:56px}.member-auth-intro h2{font-size:30px}}
@media(max-width:900px){.member-auth-page{width:min(520px,calc(100% - 44px));padding:40px 0 56px}.member-auth-layout{display:flex;flex-direction:column;gap:38px}.member-auth-panel{width:100%;order:0}.member-auth-intro{width:100%;order:1;padding-top:30px;border-top:1px solid #dce3e9}.member-auth-intro h2{font-size:27px;margin-bottom:24px}.member-brand-name{margin-bottom:14px;font-size:16px}.member-admin-access{margin:26px 0 0;max-width:none}.member-auth-heading h1{font-size:38px}.member-auth-heading p{font-size:19px}.member-policy-page{width:calc(100% - 44px);padding:30px 0 55px}.member-policy-heading h1{font-size:34px;margin-bottom:28px}.member-policy-document{padding:26px 22px;border-radius:16px}.member-policy-tabs{margin-bottom:30px;gap:10px 20px}.member-policy-tabs a{font-size:16px}.member-policy-copy h2{font-size:23px}.member-policy-copy p{font-size:18px;line-height:1.85}}
@media(max-width:380px){.member-provider{padding-inline:15px;gap:12px;font-size:18px}.member-provider-state{font-size:13px}}
@media(prefers-reduced-motion:reduce){.member-provider{transition:none}}
.member-renewed .mjs-footer{background:#f4f7fa;border-top:1px solid #dce3e9;padding:42px 22px;color:#536779;font-size:15px;line-height:1.8}
.member-renewed .mjs-footer-inner{width:min(1100px,100%);margin:auto}
.member-renewed .mjs-source-footer-logo{margin:0 0 24px}
.member-renewed .mjs-source-footer-logo img{display:block;width:200px;max-width:100%;height:auto}
.member-renewed .mjs-source-footer-hours,.member-renewed .mjs-source-footer-contact{margin:12px 0}
.member-renewed .mjs-source-footer-hours strong{display:inline-block}
.member-renewed .mjs-source-footer-company{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:22px;font-size:14px}

/* Official provider artwork, with its original proportions and colours. */
.member-official-button{display:flex;align-items:center;justify-content:center;width:100%;height:68px;padding:0;border:0;border-radius:10px;overflow:hidden;text-decoration:none}
.member-official-button img{display:block;width:auto;height:64px;max-width:100%;object-fit:contain}
.member-official-kakao{background:#fee500}
.member-official-naver{background:#03a94d}
.member-official-button:disabled{opacity:1;cursor:not-allowed}
.member-official-button:not(:disabled):hover{box-shadow:0 0 0 2px #152e47}

/* Keep the login footer at the viewport bottom without covering content. */
body.member-login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.member-login-page>.member-auth-page{flex:1 0 auto}
.member-login-page>.hm-header,.member-login-page>footer{flex-shrink:0}
