.member-page .member-main { width: min(calc(100% - 28px),760px); margin: 28px auto 48px; }
.member-page .member-card { padding: clamp(22px,4vw,40px); border: 1px solid #aabccd; border-radius: 18px; background: linear-gradient(145deg,#fff,#edf3f9); color: #30485f; box-shadow: inset 0 1px #fff,0 6px 0 #b6c4d2,0 16px 28px #17334b26; }
.member-card h1 { margin: 14px 0; color: #142e49; font-size: clamp(1.9rem,4vw,2.7rem); line-height: 1.15; }
.member-card h2 { margin: 26px 0 12px; color: #193b5a; font-size: 1.3rem; }
.member-card p { line-height: 1.6; }
.member-card form { display: grid; gap: 16px; margin-top: 24px; }
.member-card label:not(.member-consent) { display: grid; gap: 7px; font-weight: 700; color: #28435e; }
.member-card input:not([type=checkbox]) { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #94acc3; border-radius: 8px; color: #142f49; background: #fff; font: inherit; }
.member-card input:focus-visible,.member-card button:focus-visible { outline: 3px solid #2085d4; outline-offset: 3px; }
.member-card small,.member-card .member-small { margin: -8px 0 0; font-size: .84rem; line-height: 1.5; color: #526a80; }
.member-card a { color: #075bab; text-decoration: underline; text-underline-offset: 3px; }
.member-card .member-submit { min-height: 48px; padding: 13px 20px; border: 1px solid #72a7d4; border-radius: 9px; font: inherit; font-weight: 800; color: #fff; background: linear-gradient(#2979bd,#114c87); box-shadow: inset 0 1px #ffffff66,0 3px 0 #0c345c; cursor: pointer; }
.member-card button:disabled { opacity: .55; cursor: wait; }
.member-card .member-consent { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #c5d2df; border-radius: 9px; background: #fff9; font-size: .9rem; font-weight: 400; line-height: 1.55; color: #304b64; cursor: pointer; }
.member-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; accent-color: #105c9c; }
.member-card .member-status { padding: 12px; margin: 18px 0 0; border-radius: 8px; background: #e0effb; color: #164b77; overflow-wrap: anywhere; }
.member-card .member-status:empty { display: none; }
.member-card .member-status.is-error { background: #fce8ec; color: #8b1730; }
.member-card .member-switch { text-align: center; margin-top: 24px; }
.member-card .member-link-button { min-height: 44px; padding: 12px 0; border: 0; background: transparent; font: inherit; color: #075bab; text-decoration: underline; cursor: pointer; }
.member-card [hidden] { display: none !important; }
.member-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.member-details { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px 20px; padding: 20px; border-radius: 10px; background: #e3edf6; }
.member-details dt { font-weight: 800; }.member-details dd { margin: 0; overflow-wrap: anywhere; }
.member-policy { line-height: 1.65; }
@media(max-width:480px) { .member-page .member-main { margin-top: 18px; }.member-page .member-card { padding: 20px 16px; }.member-card .member-consent { padding: 12px; }.member-details { grid-template-columns: 1fr; gap: 6px; } }
