body.membership-page { margin:0; color:var(--ct-ink); background:var(--ct-bg); font:400 16px/1.6 var(--ct-font-ui); }
.membership-page * { box-sizing:border-box; }
.membership-page [hidden] { display:none !important; }
.membership-page :is(button,a,input) { -webkit-tap-highlight-color:transparent; }
.membership-page button { font:inherit; cursor:pointer; }
.membership-page a { color:inherit; text-underline-offset:4px; }
.membership-page :is(a,button,summary):focus-visible { outline:2px solid var(--ct-blue); outline-offset:5px; }
.membership-page button:disabled { cursor:wait; opacity:.55; }
.membership-skip { position:fixed; top:10px; left:20px; z-index:200; padding:10px 16px; background:var(--ct-bg); transform:translateY(-200%); }
.membership-skip:focus { transform:translateY(0); }
.membership-main { max-width:1280px; margin:0 auto; padding:64px 40px 0; }
.membership-eyebrow { margin:0 0 20px; color:var(--ct-muted); font-size:11px; font-weight:500; letter-spacing:.07em; }
.membership-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:end; padding-bottom:48px; }
.membership-intro h1 { margin:0; font:400 clamp(54px,6.4vw,88px)/1.02 var(--ct-font-display); text-transform:uppercase; }
.membership-intro > p { max-width:370px; color:var(--ct-muted); font-size:18px; margin:0 0 5px; }
.membership-account { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-top:1px solid var(--ct-line); border-bottom:1px solid var(--ct-line); margin-bottom:44px; }
.membership-account .membership-eyebrow { margin-bottom:6px; }
#membership-status { margin:0; font-size:14px; max-width:660px; }
#membership-status[data-error="true"] { color:var(--ct-negative); }
#membership-identity { margin:4px 0 0; color:var(--ct-muted); font-size:12px; overflow-wrap:anywhere; }
#membership-identity:empty { display:none; }
.membership-account-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.membership-link { padding:7px 0; border:0; background:none; color:var(--ct-blue); font-size:13px !important; text-decoration:underline; text-underline-offset:4px; }
.membership-options { display:grid; grid-template-columns:1fr 1.25fr; gap:48px; align-items:stretch; }
.membership-options article { display:flex; flex-direction:column; padding:36px 0; }
.membership-options h2 { font-size:32px; font-weight:500; line-height:1.2; margin:0 0 8px; }
.membership-options .membership-eyebrow { color:var(--ct-blue); margin-bottom:18px; }
.membership-description { margin:0 0 28px; color:var(--ct-muted); }
.membership-plus { padding:36px 40px !important; background:var(--ct-panel); border:1px solid var(--ct-line); border-radius:8px; }
.membership-price { margin:0; font-size:44px; font-weight:500; font-variant-numeric:tabular-nums; line-height:1.2; letter-spacing:-.035em; }
.membership-period { font-size:15px; font-weight:400; letter-spacing:0; color:var(--ct-muted); }
.membership-price-note { margin:10px 0 26px; font-size:12px; color:var(--ct-muted); }
.membership-included { margin:0 0 26px; color:var(--ct-blue); font-size:15px; }
html[data-membership="premium"] .membership-options { grid-template-columns:minmax(0,1fr); }
html[data-membership="premium"] .membership-options .membership-features { columns:2; column-gap:40px; }
html[data-membership="premium"] .membership-features li { break-inside:avoid; }
.membership-features { list-style:none; padding:0; margin:0 0 36px; flex:1; }
.membership-features li { border-top:1px solid var(--ct-line); padding:12px 0 12px 22px; position:relative; font-size:14px; }
.membership-features li::before { content:'+'; position:absolute; left:0; color:var(--ct-blue); }
.membership-button { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; padding:14px 20px; border:1px solid var(--ct-blue); border-radius:5px; font-size:14px !important; font-weight:500; text-decoration:none; transition:opacity .15s,transform .15s; }
.membership-primary { background:var(--ct-blue); color:var(--ct-bg); }
.membership-secondary { background:transparent; color:var(--ct-ink); }
.membership-button:hover:not(:disabled) { opacity:.85; }
.membership-button:active:not(:disabled) { transform:translateY(1px); }
.membership-checkout-note { font-size:11px; margin:14px 0 0; color:var(--ct-muted); }
.membership-details { display:grid; grid-template-columns:1fr 1.25fr; gap:48px; padding:64px 0; margin-top:48px; border-top:1px solid var(--ct-line); }
.membership-details h2 { font-size:26px; line-height:1.25; font-weight:500; margin:0; }
.membership-details .membership-eyebrow { margin-bottom:12px; }
.membership-questions details { border-bottom:1px solid var(--ct-line); padding:18px 0; }
.membership-questions details:first-child { padding-top:0; }
.membership-questions summary { cursor:pointer; padding:8px 24px 8px 0; font-size:15px; font-weight:500; }
.membership-questions p { margin:12px 0 8px; color:var(--ct-muted); font-size:14px; }
.membership-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:28px 0; border-top:1px solid var(--ct-line); font-size:12px; color:var(--ct-muted); }
.membership-footer > a:first-child { color:var(--ct-ink); font-weight:600; letter-spacing:.03em; text-decoration:none; }
@media(max-width:760px) {
  html[data-membership="premium"] .membership-options .membership-features { columns:1; }
  .membership-main { padding:36px 22px 0; }
  .membership-intro,.membership-options,.membership-details { grid-template-columns:1fr; gap:28px; }
  .membership-intro { padding-bottom:32px; }
  .membership-intro > p { font-size:16px; max-width:440px; }
  .membership-account { margin-bottom:16px; }
  .membership-options article { padding:28px 0; }
  .membership-plus { padding:28px 24px !important; }
  .membership-details { padding:36px 0; margin-top:36px; }
  .membership-price { font-size:40px; }
  .membership-options h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .membership-button { transition:none; } }
