:root { --member-navy:#182b43; --member-muted:#647184; --member-orange:#df7023; --member-paper:#f3f5f8; }
.member-page,.legal-page { color:var(--member-navy); background:var(--member-paper); }
.member-main .breadcrumbs { padding-top:20px; }
.member-signup { padding:28px 0 76px; }
.member-signup__container { max-width:590px; }
.member-signup__intro { margin-bottom:25px; text-align:center; }
.member-signup__eyebrow { margin:0; color:#b27839; font-size:12px; font-weight:800; letter-spacing:.22em; }
.member-signup__intro h1 { margin:11px 0 8px; color:var(--member-navy); font-size:clamp(28px,4vw,36px); }
.member-signup__intro>p:last-child { margin:0; color:var(--member-muted); font-size:14px; line-height:1.8; }
.member-status { margin-bottom:18px; padding:18px 20px; color:#fff; background:linear-gradient(125deg,#12243b,#252951 58%,#4b376d); border-left:5px solid #f18a37; border-radius:9px; box-shadow:0 12px 28px rgba(13,31,54,.14); }
.member-status strong { font-size:16px; }
.member-status p { margin:7px 0 0; color:#e1e6ef; font-size:12px; line-height:1.75; }
.member-panel { padding:32px; background:#fff; border:1px solid #e0e6ee; border-radius:14px; box-shadow:0 15px 35px rgba(21,44,75,.07); }
.member-panel fieldset { min-width:0; margin:0; padding:0; border:0; }
.member-field { margin-bottom:23px; }
.member-field label { margin-bottom:9px; display:block; color:var(--member-navy); font-size:14px; font-weight:800; }
.member-field label span { margin-left:5px; color:#e36e21; font-size:11px; }
.member-field input { width:100%; min-height:52px; padding:14px 15px; color:var(--member-navy); background:#f4f6f8; border:1px solid #ccd5df; border-radius:7px; font-size:16px; }
.member-field input:disabled { color:#758190; opacity:1; cursor:not-allowed; }
.member-field small { margin-top:7px; display:block; color:#6d7887; font-size:11px; line-height:1.6; }
.member-consent { margin:20px 0 24px; display:flex; align-items:flex-start; gap:10px; color:#667383; font-size:13px; line-height:1.8; }
.member-consent input { width:18px; height:18px; margin-top:3px; flex:none; accent-color:var(--member-orange); }
.member-consent label { margin:0; font-weight:400; }
.member-consent a,.legal-document a { color:#1c547e; text-decoration:underline; text-underline-offset:3px; }
.member-submit { width:100%; min-height:56px; padding:15px; color:#fff; background:linear-gradient(110deg,#c3c9d0,#aeb7c1); border:0; border-radius:7px; font-size:15px; font-weight:800; cursor:not-allowed; }
.member-panel__note { margin:17px 0 0; color:#6b7787; font-size:11px; line-height:1.75; text-align:center; }
.member-login { margin-top:22px; padding:22px 24px; display:grid; grid-template-columns:150px 1fr; align-items:center; gap:22px; background:#fff; border:1px solid #dde4eb; border-radius:10px; }
.member-login>div p { margin:0 0 4px; color:#b27839; font-size:9px; font-weight:800; letter-spacing:.12em; }
.member-login h2 { margin:0; color:var(--member-navy); font-size:19px; }
.member-login>p { margin:0; color:var(--member-muted); font-size:12px; line-height:1.75; }
.legal-section { padding-top:46px; }
.legal-document { max-width:900px; padding:clamp(24px,5vw,54px); background:#fff; border:1px solid #dfe5ec; border-radius:12px; box-shadow:0 14px 35px rgba(21,44,75,.06); }
.legal-document h2 { margin:34px 0 10px; padding-bottom:9px; color:var(--member-navy); border-bottom:1px solid #dfe5ec; font-size:19px; }
.legal-document h2:first-of-type { margin-top:27px; }
.legal-document p,.legal-document li { color:#4f5f70; font-size:14px; line-height:1.95; }
.legal-document ul,.legal-document ol { padding-left:1.5em; }
.legal-notice { margin-bottom:28px; padding:16px 18px; color:#fff; background:#203653; border-left:4px solid var(--member-orange); border-radius:6px; }
.legal-notice p { margin:5px 0 0; color:#e4e9ef; font-size:12px; }
.legal-document__date { margin-top:38px; text-align:right; }
.member-page .footer-bottom a,.legal-page .footer-bottom a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:640px) {
  .member-main .breadcrumbs { padding-top:14px; }
  .member-signup { padding:18px 0 54px; }
  .member-signup__intro h1 { font-size:27px; }
  .member-panel { padding:23px 20px; }
  .member-login { grid-template-columns:1fr; gap:10px; }
  .legal-section { padding:28px 0 56px; }
  .legal-document { width:calc(100% - 28px); padding:23px 20px; }
  .legal-document h2 { font-size:17px; }
}
