.membership-nav { white-space:nowrap; padding:10px 14px; border-radius:999px; background:#dff3f2; color:#00546f; }
.membership-nav:hover { background:#bcebe6; }
.membership-section { width:min(1100px,calc(100% - 40px)); margin:65px auto 90px; scroll-margin-top:20px; }
.membership-head { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:23px; }
.membership-head h2 { margin:0; font-size:clamp(29px,4vw,43px); line-height:1.15; letter-spacing:-.035em; }
.membership-head>p { max-width:410px; color:var(--muted); margin:0; }
.membership-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.membership-plan { position:relative; min-height:168px; padding:24px; border-radius:20px; border:1px solid var(--line); background:#edf7f7; overflow:hidden; }
.membership-plan:nth-child(2) { background:#e9eafa; }
.membership-plan:nth-child(3) { background:#fff1e4; }
.membership-plan>span { color:#13839a; font-size:13px; font-weight:850; letter-spacing:.1em; }
.membership-plan:nth-child(2)>span { color:#6957aa; }
.membership-plan:nth-child(3)>span { color:#a96535; }
.membership-plan h3 { margin:10px 0 4px; font-size:20px; }
.membership-plan p { margin:0; }
.membership-plan strong { font-size:clamp(27px,3.7vw,38px); letter-spacing:-.035em; line-height:1.2; }
.membership-pay { display:grid; grid-template-columns:1fr 1fr; border-radius:22px; overflow:hidden; margin-top:16px; background:#073e50; color:#fff; }
.membership-bank,.membership-confirm { padding:clamp(24px,4vw,38px); }
.membership-bank { border-right:1px solid rgba(255,255,255,.2); }
.membership-bank-kicker,.membership-confirm-step { color:#9de2e7; font-size:13px; font-weight:850; letter-spacing:.07em; }
.membership-pay h3 { margin:8px 0 20px; font-size:24px; }
.membership-account { display:flex; align-items:center; justify-content:space-between; gap:12px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.25); border-radius:14px; padding:12px 14px; }
.membership-account span,.membership-account strong { display:block; }
.membership-account span { font-size:13px; color:#b9dce3; }
.membership-account strong { font-size:clamp(16px,2.2vw,21px); letter-spacing:.02em; overflow-wrap:anywhere; }
.membership-account button { flex:none; min-height:42px; padding:7px 12px; border:0; border-radius:9px; color:#073e50; background:#fff; font-weight:800; cursor:pointer; }
.membership-bank>p { margin:14px 0 0; }
.membership-copy-status { min-height:20px; font-size:14px; color:#9de2e7; }
.membership-confirm { background:#b52e39; }
.membership-confirm-step { color:#ffe3ae; }
.membership-confirm p { font-size:18px; line-height:1.55; max-width:380px; margin:0 0 22px; }
.membership-confirm a { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:10px 18px; border-radius:12px; text-decoration:none; font-weight:800; color:#78242a; background:white; }
.membership-confirm a:hover { background:#ffece3; }
.membership-confirm .membership-help { margin:16px 0 0; color:#fff0e6; font-size:14px; line-height:1.5; }
.bundle-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,360px); gap:clamp(20px,4vw,45px); align-items:center; margin-top:30px; padding:clamp(22px,4vw,38px); border:1px solid var(--line); border-radius:24px; background:var(--paper); }
.bundle-feature h3 { margin:0 0 15px; font-size:clamp(26px,3.5vw,38px); line-height:1.15; letter-spacing:-.035em; }
.bundle-feature p:not(.section-kicker) { max-width:510px; color:var(--muted); line-height:1.65; }
.bundle-feature .bundle-clarity { padding-left:14px; border-left:3px solid #b52e39; font-size:14px; }
.bundle-feature a { display:inline-flex; padding:12px 18px; margin-top:9px; border-radius:999px; background:var(--teal); color:white; font-weight:800; text-decoration:none; }
.bundle-feature a:hover { filter:brightness(1.1); }
.bundle-feature img { display:block; width:100%; height:auto; border-radius:13px; box-shadow:0 15px 38px rgba(2,30,56,.15); }
[data-theme="dark"] .bundle-feature a { background:#176b80; }
.membership-demo-link { display:inline-flex; align-items:center; gap:10px; margin-top:18px; padding:11px 17px; border:1px solid var(--line); border-radius:12px; color:var(--teal); background:var(--white); text-decoration:none; font-weight:800; }
.membership-demo-link:hover { border-color:var(--teal); }
.membership-section :is(a,button):focus-visible { outline:3px solid #ffcb6a; outline-offset:3px; }
[data-theme="dark"] .membership-nav { background:#244b55; color:#d6f6f4; }
[data-theme="dark"] .membership-plan { background:#1f4048; }
[data-theme="dark"] .membership-plan:nth-child(2) { background:#343954; }
[data-theme="dark"] .membership-plan:nth-child(3) { background:#4a382c; }
[data-theme="dark"] .membership-plan>span { color:#98e5e9; }
[data-theme="dark"] .membership-plan:nth-child(2)>span { color:#cbc1ff; }
[data-theme="dark"] .membership-plan:nth-child(3)>span { color:#ffcc98; }
@media(max-width:820px) { .site-header nav a.membership-nav { display:inline-flex; font-size:13px; padding:9px 12px; } }
@media(max-width:650px) { .membership-section { width:calc(100% - 28px); margin:48px auto 70px; } .membership-head { display:block; } .membership-head>p { margin-top:8px; } .membership-plans { gap:8px; } .membership-plan { min-height:142px; padding:16px 12px; } .membership-plan h3 { font-size:17px; } .membership-plan strong { font-size:clamp(19px,5vw,27px); } .membership-pay { grid-template-columns:1fr; } .membership-bank { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); } .site-header nav a.membership-nav { line-height:1.1; text-align:center; max-width:115px; white-space:normal; } }
@media(max-width:650px) { .bundle-feature { grid-template-columns:1fr; } .bundle-feature img { max-width:430px; margin:0 auto; } }
@media(max-width:380px) { .brand strong { font-size:14px; } .brand-mark { width:34px; height:34px; font-size:19px; } .membership-plan strong { font-size:19px; } }
.membership-access{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.membership-access button{border:0;border-radius:999px;padding:.8rem 1.2rem;background:#e8bc7a;color:#1e2440;font-weight:800;cursor:pointer}.membership-access a{color:inherit;text-decoration:underline}.membership-access span{font-size:.9rem}
