.member-body { min-height: 100svh; background: #f3f3ee; color: #1e303b; }
.member-header { position: fixed; inset: 0 0 auto; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 28px; height: 88px; padding-inline: clamp(24px, 5vw, 88px); color: #fcfcf8; background: rgba(16, 35, 48, .94); border-bottom: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(16px); }
.member-header__actions { display: flex; align-items: center; gap: 24px; }
.member-home { font-size: .875rem; border-bottom: 1px solid rgba(255,255,255,.45); }
.member-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); min-height: calc(100svh - 58px); padding-top: 88px; }
.member-visual { position: relative; min-height: 720px; overflow: hidden; background: #102330; color: white; }
.member-visual img { width: 100%; height: 100%; object-fit: cover; }
.member-visual__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,27,40,.06), rgba(10,27,40,.72)); }
.member-visual__copy { position: absolute; right: clamp(28px, 5vw, 78px); bottom: clamp(36px, 7vw, 84px); left: clamp(28px, 5vw, 78px); }
.member-visual__copy span { color: #ddc49b; font-size: .75rem; font-weight: 600; letter-spacing: .16em; }
.member-visual__copy p { max-width: 580px; margin-top: 16px; font-size: clamp(2rem, 3.7vw, 4.6rem); font-weight: 300; line-height: 1.13; letter-spacing: -.045em; }
.member-access { display: grid; place-items: center; padding: clamp(46px, 6vw, 92px); background: #f3f3ee; }
.member-access__inner { width: min(470px, 100%); }
.member-kicker { color: #806338; font-size: .75rem; font-weight: 700; letter-spacing: .16em; }
.member-access h1 { margin-top: 24px; font-size: clamp(2.75rem, 4.5vw, 5rem); font-weight: 300; line-height: 1.08; letter-spacing: -.055em; }
.member-intro { margin-top: 22px; color: #64717a; font-size: 1rem; line-height: 1.8; }
.member-form { margin-top: 42px; }
.member-field + .member-field { margin-top: 24px; }
.member-field label { display: block; margin-bottom: 9px; font-size: .82rem; font-weight: 650; letter-spacing: .035em; }
.member-field input { width: 100%; min-height: 56px; padding: 13px 15px; border: 1px solid rgba(30,48,59,.28); border-radius: 0; background: #fcfcf8; color: #172c3c; font: inherit; font-size: 1rem; transition: border-color .2s, box-shadow .2s; }
.member-field input:focus { outline: 0; border-color: #997640; box-shadow: 0 0 0 3px rgba(178,147,96,.16); }
.password-wrap { position: relative; }
.password-wrap input { padding-inline-end: 76px; }
.password-toggle { position: absolute; inset: 0 10px 0 auto; min-width: 58px; border: 0; background: transparent; color: #806338; font-size: .78rem; font-weight: 650; }
.member-status { min-height: 27px; margin-top: 13px; color: #a13d34; font-size: .84rem; line-height: 1.55; }
.member-status.is-locked { color: #806338; }
.member-submit { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 58px; margin-top: 7px; padding: 14px 20px; border: 1px solid #172c3c; background: #172c3c; color: white; font: inherit; font-size: .92rem; font-weight: 650; transition: background .2s, color .2s; }
.member-submit:hover { background: #ddc49b; border-color: #ddc49b; color: #172c3c; }
.member-submit:disabled { opacity: .6; cursor: wait; }
.member-help { margin-top: 30px; color: #64717a; font-size: .8rem; line-height: 1.75; }
.member-help a { color: #1e303b; text-decoration: underline; text-underline-offset: 4px; }
.member-success { margin-top: 44px; padding: 32px; border: 1px solid rgba(30,48,59,.18); background: #e8eceb; }
.member-success__mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #172c3c; color: #ddc49b; }
.member-success h2 { margin-top: 22px; font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.035em; }
.member-success p { margin-top: 14px; color: #58666e; font-size: .95rem; line-height: 1.75; }
.member-signout { margin-top: 24px; padding: 10px 0; border: 0; border-bottom: 1px solid #806338; background: transparent; color: #172c3c; font: inherit; font-size: .84rem; }
.member-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; min-height: 58px; padding: 18px clamp(24px, 5vw, 88px); background: #102330; color: #dce2e1; font-size: .72rem; letter-spacing: .05em; }
html[dir="rtl"] .member-visual__copy { text-align: right; }
html[dir="rtl"] .password-wrap input { padding-inline: 15px 76px; }
html[dir="rtl"] .password-toggle { inset: 0 auto 0 10px; }
@media (max-width: 1050px) {
  .member-main { grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr); }
  .member-visual__copy p { font-size: clamp(2rem, 4vw, 3rem); }
}
@media (max-width: 760px) {
  .member-header { height: 74px; padding-inline: 24px; }
  .member-home { display: none; }
  .member-main { display: block; min-height: calc(100svh - 54px); padding-top: 74px; }
  .member-visual { min-height: 220px; height: 28svh; }
  .member-visual__copy { right: 24px; bottom: 25px; left: 24px; }
  .member-visual__copy p { margin-top: 8px; font-size: clamp(1.55rem, 7vw, 2.3rem); }
  .member-access { display: block; padding: 48px 24px 62px; }
  .member-access h1 { font-size: clamp(2.5rem, 12vw, 4rem); }
  .member-form { margin-top: 34px; }
}

