/* Signed-in view for /pricing and /subscribe (MembershipView.js). Shared by both pages. */
.hero.mv-hero { padding: 64px 0 40px; }
.hero.mv-hero h1 { font-size: clamp(38px, 5.2vw, 60px); }
.hero.mv-hero .actions { display: flex; flex-wrap: wrap; gap: 12px; }

.mv-card {
  align-self: center;
  padding: 26px 28px;
  border: 1px solid #d9d5ca;
  border-radius: 4px;
  background: #fff;
  box-shadow: 6px 6px 0 rgba(29, 78, 137, .12);
}
.mv-card-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 10px; border-radius: 999px;
  color: #24593d; background: #e6f4ec;
  font: 700 11px/1.3 "IBM Plex Mono", Consolas, monospace; letter-spacing: .08em; text-transform: uppercase;
}
.mv-card-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mv-card-badge-free { color: #1d4e89; background: #e7f0f9; }
.mv-rows { margin: 18px 0 0; }
.mv-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid #ece8de; }
.mv-row:first-child { border-top: 0; padding-top: 4px; }
.mv-row dt { color: #565b64; font-size: 14px; }
.mv-row dd { margin: 0; color: #191b1f; font-size: 14px; font-weight: 700; text-align: right; }

.pricing-grid .plan { position: relative; }
.pricing-grid .plan.mv-current { border: 2px solid #2f6e4e; box-shadow: 6px 6px 0 #dcebe2; }
.pricing-grid .plan.mv-muted { opacity: .62; }
.mv-plan-badge {
  position: absolute; top: -12px; left: 20px; z-index: 2;
  padding: 3px 10px; border-radius: 999px;
  color: #fff; background: #2f6e4e;
  font: 700 11px/1.5 "IBM Plex Mono", Consolas, monospace; letter-spacing: .06em; text-transform: uppercase;
}
.mv-plan-note {
  margin-top: auto; padding-top: 12px;
  color: #565b64; font-size: 13px; font-weight: 600;
}

@media (max-width: 900px) {
  .hero.mv-hero { padding-top: 44px; gap: 28px; }
  .mv-card { padding: 22px; }
}
