/* Membership sales page: one offer, one purchase path. */
.membership-sales { --membership-line:#e8dce2; --membership-pink:#b8175b; }
.membership-sales p { opacity:1; }
.membership-intro { max-width:900px; margin:auto; padding:clamp(44px,7vw,86px) 24px 56px; text-align:center; }
.membership-intro h1 { font-size:clamp(39px,5vw,64px); line-height:1.08; margin:20px 0 24px; text-wrap:balance; }
.membership-intro h1 em { color:var(--membership-pink); }
.membership-intro .membership-lead { font-size:clamp(18px,1.7vw,20px); line-height:1.65; color:#51474d; max-width:580px; margin:0 auto 28px; text-wrap:pretty; }
.membership-benefits { max-width:1080px; margin:auto; padding:20px 24px 64px; scroll-margin-top:160px; }
.membership-benefits h2 { margin:12px 0 32px; font-size:clamp(32px,3.5vw,44px); }
.membership-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; }
.membership-benefit-grid article { display:grid; grid-template-columns:34px minmax(0,1fr); gap:14px; border-top:1px solid var(--membership-line); padding:26px 0; }
.membership-benefit-number { font-family:var(--font-ui); font-size:12px; color:var(--membership-pink); padding-top:7px; }
.membership-benefit-grid h3 { font-size:28px; margin:0 0 10px; line-height:1.15; }
.membership-benefit-grid p { color:#51474d; font-size:17px; line-height:1.65; max-width:42ch; }
.membership-pricing { max-width:1080px; margin:0 auto; padding:0 24px 64px; scroll-margin-top:160px; }
.membership-offer { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; background:#f8edf2; border:1px solid var(--membership-line); padding:clamp(28px,4vw,52px); border-radius:8px; }
.membership-offer h2 { font-size:clamp(34px,3.5vw,46px); line-height:1.12; margin:14px 0 18px; text-wrap:balance; }
.membership-offer-intro>p:last-child { font-size:18px; line-height:1.65; color:#51474d; max-width:30ch; }
.membership-offer-details { border-left:1px solid #dfc8d3; padding-left:40px; }
.membership-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; color:#241c21; }
.membership-price strong { font-family:var(--font-ui); font-size:clamp(40px,4vw,48px); letter-spacing:-.05em; line-height:1.2; font-weight:600; }
.membership-price span { font-size:17px; }
.membership-terms { color:#51474d; font-size:15px; margin:10px 0 28px; }
.membership-promotion { border-top:1px solid #dfc8d3; padding-top:20px; margin-bottom:24px; }
.membership-promotion h3 { font-family:var(--font-body); font-size:16px; font-weight:700; margin:0 0 8px; letter-spacing:0; }
.membership-promotion p { font-size:16px; color:#51474d; line-height:1.6; }
.membership-promotion strong { color:#94204e; font-weight:700; }
.membership-purchase { width:100%; min-height:52px; font-size:16px; }
.membership-purchase:disabled { opacity:.65; cursor:wait; }
.checkout-notice { padding:16px; margin-top:16px; background:#fff; border:1px solid #d9b7c7; border-radius:4px; font-size:16px; line-height:1.6; color:#45303b; }
.checkout-notice[hidden] { display:none; }
.checkout-notice a { display:inline-block; margin-top:8px; text-decoration:underline; text-underline-offset:4px; font-weight:600; }
.membership-question { width:100%; max-width:1032px; margin:0 auto 64px; padding:0 24px; scroll-margin-top:160px; }
.membership-question details { border-top:1px solid var(--membership-line); border-bottom:1px solid var(--membership-line); }
.membership-question summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:76px; padding:20px 0; font-size:18px; }
.membership-question summary::-webkit-details-marker { display:none; }
.membership-question summary::after { content:'+'; color:var(--membership-pink); font-size:26px; flex-shrink:0; }
.membership-question details[open]>summary::after { content:'−'; }
.membership-question summary span { text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.membership-question .contact-layout { padding:12px 0 32px; gap:36px; }
.membership-question .contact-intro h2 { font-size:32px; margin:0 0 16px; }
.membership-question .contact-intro p { font-size:17px; }
.membership-question .contact-panel { box-shadow:none; border:0; padding:0; background:transparent; }
.membership-question .contact-note { font-size:14px; }
.membership-sales :is(a,button,summary):focus-visible { outline:3px solid var(--membership-pink); outline-offset:5px; }
@media(max-width:700px) {
  .membership-intro { padding-bottom:40px; }
  .membership-benefits { padding-bottom:32px; }
  .membership-benefit-grid { grid-template-columns:1fr; }
  .membership-benefit-grid article { padding:22px 0; }
  .membership-benefit-grid h3 { font-size:26px; }
  .membership-offer { grid-template-columns:1fr; gap:28px; }
  .membership-offer-details { border-left:0; border-top:1px solid #dfc8d3; padding:28px 0 0; }
  .membership-offer-intro>p:last-child { max-width:none; font-size:17px; }
  .membership-pricing { padding-bottom:36px; }
  .membership-question { margin-bottom:40px; }
  .membership-question summary { font-size:17px; align-items:flex-start; }
  .membership-question summary span { display:block; margin-top:4px; }
  .membership-question .contact-layout { grid-template-columns:1fr; gap:24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
