.member-shop { padding: 40px 6vw 64px; background: var(--paper); color: var(--ink); }
.member-shop-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.member-shop .eyebrow, .member-payment-heading .eyebrow { color:var(--orange-deep); margin:0 0 12px; }
.member-shop h1, .member-payment-heading h1 { max-width:none; margin:0 0 12px; font:900 clamp(36px,4.4vw,64px)/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.member-shop h1 em { color:var(--orange-deep); }
.member-shop-heading p:last-child { margin:0; color:#655e58; line-height:1.6; }
.member-back { flex-shrink:0; color:var(--ink); font-size:14px; font-weight:700; }
.member-shop-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr); gap:24px; align-items:start; }
.member-buy { min-width:0; padding:30px; border:1px solid var(--light-line); border-top:4px solid var(--orange-deep); background:#fff; }
.member-buy h2, .member-at-glance h2 { margin:0 0 14px; font:800 clamp(26px,2.6vw,36px)/1.1 "Barlow Condensed",sans-serif; }
.member-buy > p { margin:0 0 18px; line-height:1.6; color:#655e58; }
.member-buy > .kicker { margin-bottom:8px; color:var(--orange-deep); }
.member-account { overflow-wrap:anywhere; font-size:14px; }
.member-account span { display:block; font-size:13px; }
.member-buy-form { display:grid; gap:16px; }
.member-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; border:0; }
.member-plan { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; padding:19px 15px; border:1px solid #b7aba0; background:#faf8f5; cursor:pointer; }
.member-plan input { width:20px; height:20px; margin:2px 0 0; accent-color:var(--orange-deep); }
.member-plan > span { display:grid; gap:10px; }
.member-plan strong { font-size:15px; }
.member-plan b { font:900 38px/1 "Barlow Condensed",sans-serif; }
.member-plan small { color:#5f5852; font-size:13px; line-height:1.5; }
.member-plan:has(input:checked) { outline:2px solid var(--orange-deep); outline-offset:-2px; background:#fff5ed; }
.member-plan:has(input:focus-visible) { outline:3px solid #153f69; outline-offset:3px; }
.member-total { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:5px; }
.member-total span { font-size:14px; font-weight:600; }
.member-total strong { font-size:25px; }
.member-essential { margin:0; font-size:13px; color:#655e58; line-height:1.6; }
.member-consent { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; font-size:13px; line-height:1.65; cursor:pointer; }
.member-consent input { width:20px; height:20px; margin-top:2px; accent-color:var(--orange-deep); }
.member-shop a:not(.button):not(.application-submit) { text-underline-offset:3px; }
.member-consent a, .member-resume a, .member-eligibility a, .member-text-link { color:var(--orange-deep); text-decoration:underline; font-weight:600; }
.member-buy-form .application-submit { margin:0; width:100%; }
.member-secure-note { margin:0; font-size:12px; color:#655e58; text-align:center; line-height:1.5; }
.member-buy > .member-resume { margin:18px 0 0; font-size:13px; }
.member-notice { padding:12px; background:#fff4df; }
.member-at-glance { min-width:0; padding:28px; border:1px solid var(--light-line); background:#f5eee6; }
.member-at-glance ul { padding:0; margin:22px 0; list-style:none; }
.member-at-glance li { margin:0 0 18px; padding:0 0 0 18px; border-left:3px solid var(--gold); }
.member-at-glance li strong { display:block; margin-bottom:5px; font-size:15px; }
.member-at-glance li span, .member-eligibility p { font-size:14px; color:#655e58; line-height:1.6; }
.member-eligibility { padding-top:20px; border-top:1px solid var(--light-line); }
.member-eligibility h3 { font-size:17px; margin:0 0 10px; }
.member-eligibility p { margin:0 0 10px; }
.member-eligibility a { font-size:13px; }
.member-details-stack { margin-top:24px; display:grid; gap:12px; }
.member-details { border:1px solid var(--light-line); background:#fff; scroll-margin-top:20px; }
.member-details > summary { padding:20px 24px; font-weight:700; font-size:15px; cursor:pointer; }
.member-details-content { padding:4px 24px 24px; color:#655e58; font-size:14px; line-height:1.65; }
.member-details-content h2 { font:800 28px/1.1 "Barlow Condensed",sans-serif; color:var(--ink); }
.member-details-content h3 { font-size:16px; color:var(--ink); }
.member-details-content a { color:var(--orange-deep); text-decoration:underline; }
.member-details-content .membership-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.member-details-content .membership-average-value { font-size:25px; color:var(--orange-deep); }
.member-details-content .membership-term-grid { margin-top:12px; }
.member-details-content .membership-term-grid article { padding:20px; }
.member-details-content .membership-term-grid h2 { font-size:26px; }
.member-details-content .membership-details-panel { margin-top:20px; padding:24px; gap:24px; }
.member-details-content .membership-details-panel h2 { color:#fff; font-size:28px; }
.member-details-content .membership-details-panel li { font-size:14px; }
.member-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.member-payment-heading { padding:32px 6vw 22px; color:var(--ink); background:var(--paper); text-align:center; }
.member-payment-heading > a { display:inline-block; margin-bottom:24px; color:var(--orange-deep); text-decoration:underline; font-size:14px; }
.member-payment-heading > p:last-child { margin:0; font-size:20px; font-weight:700; }
.member-payment-shell { padding-top:10px; min-height:360px; }
.member-payment-shell .payment-state { padding:32px; }
.member-payment-shell .payment-state h2 { font-size:36px; }
@media(max-width:900px) {
  .member-shop { padding:30px 22px 50px; }
  .member-shop-layout { grid-template-columns:1fr; }
  .member-shop-heading { align-items:flex-start; }
  .member-buy { padding:24px; }
}
@media(max-width:500px) {
  .member-shop { padding:24px 14px 40px; }
  .member-shop-heading { display:block; }
  .member-back { display:inline-block; margin-top:16px; }
  .member-shop h1 { font-size:38px; }
  .member-buy, .member-at-glance { padding:20px 16px; }
  .member-plans { grid-template-columns:1fr; }
  .member-plan { padding:15px; }
  .member-plan > span { grid-template-columns:1fr auto; align-items:center; gap:8px; }
  .member-plan b { font-size:30px; }
  .member-plan small { grid-column:1/-1; }
  .member-details > summary { padding:18px 16px; line-height:1.5; }
  .member-details-content { padding:4px 16px 20px; }
  .member-details-content .membership-info-grid { grid-template-columns:1fr; gap:0; }
  .member-details-content .membership-details-panel { padding:20px 14px; }
  .member-payment-shell .payment-state { padding:24px 16px; }
}
