/* Scope all changes to signed-out login pages. Existing form fields stay intact. */
body.cas-auth-page { background:#fff!important; color:#222; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; -webkit-font-smoothing:antialiased; }
body.cas-auth-page > :not(.site-body):not(script):not(style):not(link):not(#hs-eu-cookie-confirmation) { display:none!important; }
body.cas-auth-page .site-body { margin:0!important; padding:0!important; background:#fff!important; }
body.cas-auth-page .site-body-container.container { box-sizing:border-box; width:360px!important; max-width:calc(100% - 48px)!important; padding:clamp(40px,8vh,88px) 0 32px!important; margin:0 auto!important; display:block!important; }
body.cas-auth-page .main-section { width:100%!important; max-width:none!important; float:none!important; margin:0!important; padding:0!important; }
body.cas-auth-page .sub-section, body.cas-auth-page .entry-header, body.cas-auth-page .entry-footer, body.cas-auth-page .entry-meta { display:none!important; }
body.cas-auth-page .entry, body.cas-auth-page .entry-body { margin:0!important; padding:0!important; }
body.cas-auth-page .cas-auth-logo { display:block; width:210px; max-width:100%; margin:0 0 42px; }
body.cas-auth-page .cas-auth-logo img { display:block; width:100%; height:auto; }
body.cas-auth-page .cas-auth-intro { margin-bottom:32px; }
body.cas-auth-page .cas-auth-intro h1 { margin:0 0 8px!important; padding:0!important; border:0!important; background:none!important; color:#222; font-size:26px; font-weight:600; line-height:1.5; letter-spacing:.02em; box-shadow:none!important; }
body.cas-auth-page .cas-auth-intro h1:before, body.cas-auth-page .cas-auth-intro h1:after { display:none!important; }
body.cas-auth-page .cas-auth-intro p { color:#58616b; font-size:14px; line-height:1.8; margin:0; }
body.cas-auth-page .cas-auth-original > :not(#wpmem_login):not(#wpmem_msg):not(.cas-auth-error):not(.wpmem_msg) { display:none!important; }
body.cas-auth-page #wpmem_login { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
body.cas-auth-page #wpmem_login form, body.cas-auth-page #wpmem_login fieldset { width:100%!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
body.cas-auth-page #wpmem_login legend { display:none!important; }
body.cas-auth-page #wpmem_login label { display:block; float:none!important; width:auto!important; margin:0!important; color:#222; font-size:14px; font-weight:400; line-height:1.6; }
body.cas-auth-page #wpmem_login .div_text { width:100%!important; margin:0!important; padding:0!important; float:none!important; }
body.cas-auth-page #wpmem_login input[type="text"], body.cas-auth-page #wpmem_login input[type="email"], body.cas-auth-page #wpmem_login input[type="password"] { box-sizing:border-box; display:block; width:100%!important; max-width:none!important; height:48px!important; margin:8px 0 24px!important; padding:9px 12px!important; border:1px solid #a5adb5!important; border-radius:4px!important; background:#fff; color:#222; font-size:16px!important; line-height:1.5; box-shadow:none!important; }
body.cas-auth-page #wpmem_login input:focus { outline:2px solid #222; outline-offset:1px; }
body.cas-auth-page #wpmem_login .button_div { text-align:left!important; padding:0!important; margin:0!important; line-height:1.6; }
body.cas-auth-page #wpmem_login label[for="rememberme"] { display:inline!important; color:#58616b; font-size:13px; }
body.cas-auth-page #wpmem_login input[type="checkbox"] { width:18px!important; height:18px!important; margin:0 6px 0 0!important; vertical-align:middle; accent-color:#222; }
body.cas-auth-page #wpmem_login input[type="submit"] { box-sizing:border-box; display:block!important; float:none!important; width:100%!important; min-height:48px!important; margin:26px 0 0!important; padding:11px 16px!important; border:1px solid #222!important; border-radius:4px!important; background:#222!important; color:#fff!important; font-size:15px!important; font-weight:600; line-height:24px; box-shadow:none!important; text-shadow:none; cursor:pointer; }
body.cas-auth-page #wpmem_login input[type="submit"]:hover { background:#3b3b3b!important; }
body.cas-auth-page #wpmem_login .link-text { display:block!important; margin:22px 0 0!important; padding:0!important; text-align:center!important; color:#58616b; font-size:0; }
body.cas-auth-page #wpmem_login .link-text-forgot { font-size:0; }
body.cas-auth-page #wpmem_login .link-text a { font-size:13px; color:#344454; text-decoration:underline; text-underline-offset:4px; }
body.cas-auth-page .cas-auth-error, body.cas-auth-page #wpmem_msg { margin:0 0 24px!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; color:#923f36!important; box-shadow:none!important; font-size:14px; line-height:1.8; }
body.cas-auth-page #wpmem_msg h2 { font-size:16px; border:0; background:none; padding:0; }
body.cas-auth-page .cas-auth-footer { margin-top:56px; text-align:center; }
body.cas-auth-page .cas-auth-footer a { display:block; margin:0 0 14px; color:#626c75; font-size:12px; line-height:1.7; text-decoration:none; }
body.cas-auth-page a:focus-visible, body.cas-auth-page input[type="submit"]:focus-visible { outline:2px solid #222; outline-offset:4px; }
@media(max-width:480px) { body.cas-auth-page .site-body-container.container { padding-top:40px!important; } body.cas-auth-page .cas-auth-logo { margin-bottom:36px; } body.cas-auth-page .cas-auth-intro h1 { font-size:24px; } body.cas-auth-page .cas-auth-footer { margin-top:44px; } }

body.cas-auth-page #wpmem_login label[for="log"]::after { content:none!important; display:none!important; }
body.cas-auth-page .cas-auth-original > .wpmem_msg { display:block!important; margin:0 0 24px!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; color:#923f36!important; font-size:14px; line-height:1.8; }
body.cas-auth-page .wpmem_msg > .cas-auth-error { margin:0!important; }

/* Workshop-inspired brand treatment; authentication controls remain native. */
body.cas-auth-page, body.cas-auth-page .site-body { background:#f8f5ee!important; }
body.cas-auth-page .site-body-container.container { width:940px!important; max-width:calc(100% - 64px)!important; padding:44px 0 24px!important; }
body.cas-auth-page .cas-auth-logo { width:238px; margin:0 0 34px; }
body.cas-auth-page .cas-auth-layout { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
body.cas-auth-page .cas-auth-story { padding:8px 0; }
body.cas-auth-page .cas-auth-story-title { margin:0!important; color:#343b35; font-size:34px; font-weight:700; letter-spacing:.04em; line-height:1.65; }
body.cas-auth-page .cas-auth-art { display:block; width:100%; max-width:420px; height:auto; margin:12px 0 0; }
body.cas-auth-page .cas-auth-story-note { margin:8px 0 0!important; color:#59645b; font-size:14px; letter-spacing:.15em; }
body.cas-auth-page .cas-auth-panel { box-sizing:border-box; position:relative; padding:36px 34px; border:1px solid #e8e0d2; border-radius:8px 28px 8px 8px; background:#fffefa; }
body.cas-auth-page .cas-auth-panel:before { content:""; position:absolute; top:-11px; right:30px; width:63px; height:22px; background:#e7bd64; opacity:.72; transform:rotate(7deg); pointer-events:none; }
body.cas-auth-page .cas-auth-intro { margin-bottom:28px; }
body.cas-auth-page .cas-auth-intro h1 { font-size:24px; font-weight:700; }
body.cas-auth-page #wpmem_login input[type="text"], body.cas-auth-page #wpmem_login input[type="email"], body.cas-auth-page #wpmem_login input[type="password"] { border-color:#b9b9ae!important; border-radius:6px!important; }
body.cas-auth-page #wpmem_login input[type="submit"] { background:#bc3c2b!important; border-color:#bc3c2b!important; border-radius:6px!important; }
body.cas-auth-page #wpmem_login input[type="submit"]:hover { background:#a52f20!important; }
body.cas-auth-page #wpmem_login input:focus, body.cas-auth-page a:focus-visible { outline-color:#3d5c59; }
body.cas-auth-page #wpmem_login input[type="checkbox"] { accent-color:#bc3c2b; }
body.cas-auth-page .cas-auth-footer { margin-top:36px; display:flex; gap:24px; justify-content:center; flex-wrap:wrap; }
body.cas-auth-page .cas-auth-footer a { margin:0; }
@media(max-width:760px) {
 body.cas-auth-page .site-body-container.container { width:440px!important; max-width:calc(100% - 40px)!important; padding:28px 0 24px!important; }
 body.cas-auth-page .cas-auth-logo { width:210px; margin-bottom:26px; }
 body.cas-auth-page .cas-auth-layout { display:flex; flex-direction:column; gap:24px; align-items:stretch; }
 body.cas-auth-page .cas-auth-story { position:relative; min-height:106px; padding:0 116px 0 0; }
 body.cas-auth-page .cas-auth-story-title { font-size:22px; line-height:1.6; letter-spacing:.02em; }
 body.cas-auth-page .cas-auth-art { position:absolute; right:-8px; top:-4px; width:132px; margin:0; }
 body.cas-auth-page .cas-auth-story-note { font-size:10px; letter-spacing:.06em; margin-top:10px!important; }
 body.cas-auth-page .cas-auth-panel { padding:28px 24px; border-radius:8px 24px 8px 8px; }
 body.cas-auth-page .cas-auth-intro h1 { font-size:22px; }
 body.cas-auth-page .cas-auth-footer { gap:12px 20px; margin-top:28px; }
}
@media(max-width:360px) {
 body.cas-auth-page .cas-auth-story-title { font-size:20px; }
 body.cas-auth-page .cas-auth-panel { padding:28px 18px; }
}

body.cas-auth-page { min-height:100vh; }
body.cas-auth-page .site-body { min-height:100vh; }
body.cas-auth-page #wpmem_login label[for="log"], body.cas-auth-page #wpmem_login label[for="pwd"] { font-size:14px!important; line-height:1.6!important; color:#222!important; }

body.cas-auth-page .cas-auth-story-title { font-size:30px; min-height:100px; overflow-wrap:anywhere; }
@media(max-width:760px) { body.cas-auth-page .cas-auth-story-title { font-size:19px; min-height:62px; letter-spacing:0; } body.cas-auth-page .cas-auth-story { padding-right:112px; } body.cas-auth-page .cas-auth-art { width:124px; } }
