.member-page { background:var(--fi-paper); color:var(--fi-ink); }
.member-hero { padding:64px 0 42px; border-bottom:1px solid var(--fi-ink); }
.member-hero h1 { max-width:850px; font-family:var(--fi-serif); font-size:clamp(40px,5.5vw,70px); line-height:1; letter-spacing:-.045em; margin:18px 0; }
.member-hero p { max-width:710px; color:var(--fi-ink-2); line-height:1.8; }
.member-section { padding:48px 0; }
.member-section h2 { font-family:var(--fi-serif); font-size:clamp(30px,3.5vw,43px); letter-spacing:-.035em; line-height:1.1; margin:0 0 16px; }
.member-section p { line-height:1.75; }
.member-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 16px; }
.member-note { font-size:13px; color:var(--fi-ink-2); line-height:1.7; }
.member-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--fi-ink); }
.member-plan { padding:28px; border-right:1px solid var(--fi-border); background:var(--fi-paper-soft); display:flex; flex-direction:column; }
.member-plan:last-child { border-right:0; }
.member-plan.featured { background:#e1eae3; }
.member-plan h2 { font-family:var(--fi-sans); font-size:21px; margin:14px 0; letter-spacing:-.03em; }
.member-price { font-family:var(--fi-serif); font-size:58px; line-height:1; letter-spacing:-.06em; margin:8px 0; }
.member-price span { font-family:var(--fi-sans); font-size:13px; letter-spacing:0; }
.member-plan .fi-btn { margin-top:auto; width:100%; }
.member-plan p { font-size:14px; line-height:1.7; }
.member-tag { font-family:var(--fi-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#205b4b; }
.member-list { list-style:none; padding:0; margin:20px 0 26px; }
.member-list li { padding:10px 0; border-bottom:1px solid var(--fi-border); font-size:14px; line-height:1.6; }
.member-split { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.member-band { background:var(--fi-paper-deep); border-block:1px solid var(--fi-border); }
.member-free { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:25px 0; border-bottom:1px solid var(--fi-border); }
.member-free h2 { font-size:25px; margin:0 0 8px; }
.member-free p { margin:0; max-width:690px; }
.member-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
.member-table th,.member-table td { padding:16px 12px; border-bottom:1px solid var(--fi-border); line-height:1.6; vertical-align:top; }
.member-table th { color:var(--fi-ink); }
.member-table td { color:var(--fi-ink-2); }
.member-table th:first-child { padding-left:0; width:44%; }
.member-faq { border-top:1px solid var(--fi-border); }
.member-faq details { border-bottom:1px solid var(--fi-border); padding:18px 0; }
.member-faq summary { cursor:pointer; font-weight:700; line-height:1.6; min-height:30px; }
.member-faq details p { max-width:760px; font-size:14px; margin:12px 0 0; }
.member-callout { padding:26px; border:1px solid var(--fi-ink); background:var(--fi-paper-soft); }
.member-callout h2 { font-size:29px; }
.member-steps { list-style:none; counter-reset:kit; padding:0; margin:0; }
.member-steps li { counter-increment:kit; display:grid; grid-template-columns:42px 1fr; gap:12px; border-top:1px solid var(--fi-border); padding:20px 0; }
.member-steps li::before { content:counter(kit,decimal-leading-zero); font-family:var(--fi-mono); color:var(--fi-green); padding-top:4px; }
.member-steps h3 { font-size:17px; margin:0 0 6px; }
.member-steps p { font-size:14px; color:var(--fi-ink-2); margin:0; }
.member-alert { border-left:3px solid var(--fi-red); background:#f4e8df; padding:18px; margin-bottom:24px; line-height:1.7; }
.member-checkout { max-width:760px; margin:auto; }
.member-checkout dl { display:grid; grid-template-columns:1fr auto; gap:16px; border-block:1px solid var(--fi-border); padding:22px 0; margin:24px 0; }
.member-checkout dd { margin:0; font-weight:700; }
.member-checkout label { display:flex; align-items:flex-start; gap:12px; line-height:1.7; margin:22px 0; font-size:14px; }
.member-checkout input { margin-top:6px; width:18px; height:18px; flex-shrink:0; accent-color:var(--fi-green); }
.member-checkout button { cursor:pointer; font-family:inherit; }
.member-checkout a:not(.fi-btn):not(.fi-btn-ghost),.member-link { text-decoration:underline; text-underline-offset:3px; }
.member-example { background:var(--fi-ink); color:var(--fi-paper); padding:28px; }
.member-example h2 { color:var(--fi-paper); }
.member-example .member-tag { color:#b7dac8; }
.member-example p { color:#e1e9e4; }
.member-example dl { margin:22px 0; }
.member-example dt { font-size:12px; color:#bad1c5; margin-top:18px; text-transform:uppercase; letter-spacing:.08em; }
.member-example dd { margin:6px 0 0; font-size:15px; line-height:1.7; }
.member-page :focus-visible { outline:3px solid #23745f; outline-offset:4px; }
.member-example :focus-visible { outline-color:#b7dac8; }
@media(max-width:800px) {
  .member-plans { grid-template-columns:1fr; }
  .member-plan { border-right:0; border-bottom:1px solid var(--fi-border); }
  .member-plan:last-child { border-bottom:0; }
  .member-split { grid-template-columns:1fr; gap:28px; }
  .member-hero { padding:40px 0 30px; }
  .member-free { align-items:flex-start; flex-direction:column; }
  .member-section { padding:34px 0; }
  .member-table th,.member-table td { padding:13px 6px; font-size:12px; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .member-page .fi-btn,.member-page .fi-btn-ghost { transition:none; transform:none; } }
@media print { .fi-topbar,.fi-market-tape,.fi-footer,.member-actions { display:none; } .member-split { display:block; } .member-hero { padding:10px 0; } .member-section { padding:12px 0; } }
