/* Membership information stays readable and usable without JavaScript. */
.rm-membership-page {
  --member-bg: #080e18;
  --member-surface: #111c2d;
  --member-soft: #16243a;
  --member-ink: #f4f8ff;
  --member-muted: #c3d0e2;
  --member-line: #465b78;
  --member-accent: #9bcaff;
  --member-gold: #ffd083;
  color: var(--member-ink);
  background: var(--member-bg);
}
html[data-rm-theme="light"] .rm-membership-page {
  --member-bg: #fff;
  --member-surface: #fff;
  --member-soft: #f0f5fc;
  --member-ink: #15273e;
  --member-muted: #43576e;
  --member-line: #b6c9e0;
  --member-accent: #125ab3;
  --member-gold: #704810;
}
.rm-membership-page :is(h1,h2,h3) { font-family: var(--content); font-weight: 700; text-transform: none; line-height: 1.16; }
.rm-membership-page p, .rm-membership-page li { line-height: 1.65; }
.rm-membership-page :is(p,li) { overflow-wrap: anywhere; }
.rm-member-wrap { width: min(100%,1170px); margin-inline: auto; padding-inline: 24px; }
.rm-member-breadcrumbs { padding-block: 18px; font-size: .95rem; color: var(--member-muted); }
.rm-member-breadcrumbs ol { list-style: none; display: flex; gap: 10px; flex-wrap: wrap; margin: 0; padding: 0; }
.rm-member-breadcrumbs li+li::before { content: '›'; margin-right: 10px; }
.rm-membership-page a:not(.button) { text-decoration: underline; text-underline-offset: 4px; }
.rm-member-breadcrumbs a, .rm-member-inline-link { color: var(--member-accent); }
.rm-member-hero { padding-block: clamp(30px,5vw,64px); border-block: 1px solid var(--member-line); background: linear-gradient(125deg,var(--member-soft),var(--member-bg) 72%); }
.rm-member-hero__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 44px; align-items: center; }
.rm-member-eyebrow { color: var(--member-accent); font-size: .92rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 14px; }
.rm-member-hero h1 { font-size: clamp(2.2rem,4.5vw,3.8rem); max-width: 18ch; margin-bottom: 20px; }
.rm-member-lede { color: var(--member-muted); font-size: 1.16rem; max-width: 58ch; }
.rm-member-hero .actions { margin-top: 24px; gap: 12px; }
.rm-member-hero .button, .rm-member-card .button { min-height: 50px; white-space: normal; line-height: 1.3; }
.rm-membership-page .button:hover, .rm-membership-cta:hover { transform: none; }
.rm-member-summary { padding: 28px; background: var(--member-surface); border: 1px solid var(--member-line); border-radius: 22px; }
.rm-member-summary h2 { font-size: 1.5rem; margin-bottom: 16px; }
.rm-member-summary ul { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.rm-member-summary li { padding-left: 22px; position: relative; }
.rm-member-summary li::before { content: '✓'; color: var(--member-accent); position: absolute; left: 0; font-weight: 700; }
.rm-member-section { padding-block: clamp(36px,6vw,70px); }
.rm-member-section h2 { font-size: clamp(1.7rem,3vw,2.4rem); margin-bottom: 14px; }
.rm-member-section__intro { max-width: 74ch; color: var(--member-muted); margin-bottom: 26px; }
.rm-member-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.rm-member-jump a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--member-line); border-radius: 999px; padding: 10px 18px; color: var(--member-accent); font-weight: 700; text-decoration: none!important; }
.rm-member-jump a:hover, .rm-member-jump a[aria-current="true"] { background: var(--member-soft); border-color: var(--member-accent); }
.rm-member-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.rm-member-card { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid var(--member-line); border-top: 4px solid var(--member-accent); border-radius: 20px; background: var(--member-surface); scroll-margin-top: 180px; }
.rm-member-card:target, .rm-member-card[data-member-selected="true"] { box-shadow: 0 0 0 3px var(--member-accent); }
.rm-member-card__tag { color: var(--member-accent); font-size: .86rem; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; margin-bottom: 14px; }
.rm-member-card h3 { font-size: 1.45rem; min-height: 2.4em; margin-bottom: 20px; }
.rm-member-card__price { margin-bottom: 6px; line-height: 1.2!important; }
.rm-member-card__price strong { color: var(--member-ink); font-size: 2.8rem; line-height: 1; font-weight: 700; }
.rm-member-card__price span { color: var(--member-muted); white-space: nowrap; margin-left: 6px; }
.rm-member-card__comparison { color: var(--member-muted); font-size: .98rem; margin-bottom: 14px; }
.rm-member-card__saving { color: var(--member-accent); display: inline-block; align-self: flex-start; font-weight: 700; border: 1px solid var(--member-line); background: var(--member-soft); border-radius: 8px; padding: 8px 12px; margin-bottom: 20px; }
.rm-member-card ul { padding-left: 20px; margin: 0 0 24px; }
.rm-member-card li { margin-bottom: 8px; }
.rm-member-card .button { margin-top: auto; text-align: center; width: 100%; }
.rm-member-note { color: var(--member-muted); font-size: .98rem; max-width: 86ch; margin-top: 22px; }
.rm-member-note a { color: var(--member-accent); }
.rm-member-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.rm-member-panel { padding: clamp(22px,3vw,32px); border: 1px solid var(--member-line); border-radius: 20px; background: var(--member-soft); min-width: 0; }
.rm-member-panel h2 { font-size: 1.75rem; }
.rm-member-panel h3 { font-size: 1.15rem; margin-bottom: 8px; }
.rm-member-panel p { color: var(--member-muted); }
.rm-member-inclusions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 28px; padding-left: 22px; }
.rm-member-benefits { background: var(--member-soft); border-block: 1px solid var(--member-line); }
.rm-member-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.rm-member-benefit { padding: 24px; background: var(--member-surface); border: 1px solid var(--member-line); border-radius: 18px; }
.rm-member-benefit h3 { font-size: 1.25rem; margin-bottom: 12px; }
.rm-member-benefit p { color: var(--member-muted); margin-bottom: 0; }
.rm-member-benefit__label { color: var(--member-gold)!important; text-transform: uppercase; font-size: .9rem; font-weight: 700; margin-bottom: 10px!important; }
.rm-member-rules { margin-top: 28px; padding: 24px; border: 1px solid var(--member-line); border-radius: 18px; }
.rm-member-rules h3 { font-size: 1.35rem; margin-bottom: 14px; }
.rm-member-rules p { color: var(--member-muted); }
.rm-member-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; padding-left: 24px; margin: 28px 0; }
.rm-member-steps li { padding-left: 8px; }
.rm-member-steps h3 { font-size: 1.2rem; margin-bottom: 10px; }
.rm-member-steps p { color: var(--member-muted); }
.rm-member-faq { max-width: 850px; }
.rm-member-faq details { border-bottom: 1px solid var(--member-line); padding: 6px 0; }
.rm-member-faq summary { cursor: pointer; padding: 18px 4px; font-size: 1.1rem; font-weight: 700; min-height: 48px; }
.rm-member-faq details p { margin: 0 4px 20px; color: var(--member-muted); }
.rm-member-bottom { padding: 28px; border: 1px solid var(--member-line); border-radius: 20px; background: var(--member-soft); margin-top: 36px; }
.rm-member-bottom p { color: var(--member-muted); margin: 12px 0 20px; }
.rm-membership-teaser { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 24px; margin: 24px 0; border: 1px solid #6ba9ed; border-radius: 18px; background: #10223a; color: #f4f8ff; }
.rm-membership-teaser h3 { font-family: var(--content); font-size: 1.35rem; font-weight: 700; text-transform: none; margin: 0 0 8px; line-height: 1.2; }
.rm-membership-teaser p { color: #cfdef0; font-size: 1rem; line-height: 1.6; margin: 0; max-width: 65ch; }
.rm-membership-teaser .button { flex-shrink: 0; text-align: center; white-space: normal; line-height: 1.25; }
html[data-rm-theme="light"] .rm-membership-teaser { background: #eaf3ff; color: #15273e; border-color: #7e99ba; }
html[data-rm-theme="light"] .rm-membership-teaser p { color: #43576e; }
.hero .actions .rm-membership-cta { text-align: center; white-space: normal; line-height: 1.2; }
.hero:has(.rm-membership-cta) .hero__container { padding-block: 32px; }
@media (max-width:1000px) {
  .rm-member-hero__grid { grid-template-columns: 1fr; gap: 26px; }
  .rm-member-hero h1 { max-width: 24ch; }
  .rm-member-summary { max-width: 700px; }
  .rm-member-plans { gap: 14px; }
  .rm-member-card { padding: 22px 18px; }
}
@media (max-width:760px) {
  .rm-member-wrap { padding-inline: 20px; }
  .rm-member-plans, .rm-member-split, .rm-member-benefit-grid, .rm-member-steps { grid-template-columns: 1fr; }
  .rm-member-card { padding: 24px; scroll-margin-top: 120px; }
  .rm-member-card h3 { min-height: 0; }
  .rm-member-inclusions { grid-template-columns: 1fr; }
  .rm-member-summary { padding: 22px; }
  .rm-member-hero .actions .button { width: 100%; }
  .rm-membership-teaser { align-items: stretch; flex-direction: column; gap: 18px; padding: 20px; }
  .rm-membership-teaser .button, .hero .actions .rm-membership-cta { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .rm-membership-page { scroll-behavior: auto; }
}

/* The gift is part of each monthly plan; all details stay in the HTML. */
.rm-membership-page {
  --member-gift-bg: #241e12;
  --member-gift-line: #9b773e;
}
html[data-rm-theme="light"] .rm-membership-page {
  --member-gift-bg: #fff8e9;
  --member-gift-line: #c49a4e;
}
.rm-membership-page :is(h4) { font-family: var(--content); font-weight: 700; text-transform: none; line-height: 1.4; }
.rm-member-promotion { border-color: var(--member-gift-line); border-top: 5px solid var(--member-gift-line); background: var(--member-gift-bg); }
.rm-member-promotion__label { color: var(--member-gold); font-size: .95rem; font-weight: 700; margin-bottom: 14px; }
.rm-member-promotion h2 { font-size: clamp(1.6rem,3vw,2rem); }
.rm-member-promotion__free { font-size: 1.25rem; margin: 18px 0; }
.rm-member-promotion__free strong { display: block; color: var(--member-gold); font-size: clamp(2.6rem,5vw,3.4rem); line-height: 1.15; }
.rm-member-promotion__link { display: inline-flex; gap: 12px; align-items: center; min-height: 48px; color: var(--member-gold); font-weight: 700; margin-block: 10px; }
.rm-member-promotion__note { color: var(--member-muted); font-size: 1rem; margin-bottom: 0; }
.rm-member-card h3 { margin-bottom: 16px; }
.rm-member-card__essentials { margin-bottom: 12px!important; }
.rm-member-card__wash { color: var(--member-muted); font-size: 1rem; margin-bottom: 20px; }
.rm-member-card__wash a { color: var(--member-accent); }
.rm-member-card__gift { padding: 18px; margin-bottom: 24px; border: 1px solid var(--member-gift-line); border-radius: 14px; background: var(--member-gift-bg); }
.rm-member-card__gift-label { color: var(--member-gold); font-weight: 700; font-size: .95rem; margin-bottom: 8px; }
.rm-member-card__gift h4 { color: var(--member-ink); font-size: 1.3rem; margin: 0 0 12px; }
.rm-member-card__gift ul { list-style: none; padding: 0; margin: 0 0 12px; }
.rm-member-card__gift li { margin: 0; border-bottom: 1px solid var(--member-gift-line); }
.rm-member-card__gift li:last-child { border: 0; }
.rm-member-card__gift a { display: flex; align-items: center; min-height: 48px; color: var(--member-accent); font-size: 1rem; padding-block: 8px; }
.rm-member-card__gift-note { color: var(--member-muted); font-size: 1rem; margin: 0; }
.rm-membership-page :is(#plans,#wash-inclusions,#member-benefits,.rm-member-benefit) { scroll-margin-top: 180px; }
.rm-member-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; list-style: none; padding: 0; margin: 0 0 28px; }
.rm-member-timeline li { padding: 16px 20px; border: 1px solid var(--member-line); border-radius: 14px; background: var(--member-surface); }
.rm-member-timeline span { display: block; color: var(--member-muted); margin-bottom: 4px; }
.rm-member-timeline strong { color: var(--member-ink); }
.rm-member-timeline li:last-child { border-color: var(--member-gift-line); background: var(--member-gift-bg); }
.rm-member-benefit { display: flex; flex-direction: column; }
.rm-member-benefit h4 { font-size: 1.05rem; margin: 20px 0 10px; }
.rm-member-benefit ul { padding-left: 20px; margin-bottom: 20px; }
.rm-member-benefit li+li { margin-top: 8px; }
.rm-member-benefit__note { font-size: 1rem; padding-top: 18px; border-top: 1px solid var(--member-line); }
.rm-member-benefit__more { padding-top: 20px; margin-top: auto; }
.rm-member-benefit__more a { display: inline-flex; align-items: center; min-height: 48px; }
@media (max-width:1000px) {
  .rm-member-plans, .rm-member-benefit-grid { grid-template-columns: 1fr; }
  .rm-member-card h3 { min-height: 0; }
  .rm-member-card { padding: 24px; }
}
@media (max-width:760px) {
  .rm-member-timeline { grid-template-columns: 1fr; gap: 8px; }
  .rm-member-timeline li { padding: 14px 18px; }
  .rm-membership-page :is(#plans,#wash-inclusions,#member-benefits,.rm-member-benefit) { scroll-margin-top: 125px; }
}

/* Editable plain text must wrap without widening a mobile plan card. */
.rm-member-page h1,.rm-member-card h3,.rm-member-card h4,.rm-member-card .button,.rm-member-benefit-card h3{overflow-wrap:anywhere}
