/* ============ Membership page ============ */
/* Hero and FAQ use shared components from styles.css
   (.fullhero--small, .faq-grid/.faq-item). */

/* ---- benefits (3-col bordered cards) ---- */
.mem-benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.mem-benefit{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:#fff}
.mem-benefit__icon{width:3rem;height:3rem;border-radius:.5rem;background:var(--green-pale);display:flex;align-items:center;justify-content:center;padding:.6rem;margin-bottom:1.1rem}
.mem-benefit__icon img{width:100%;height:100%}
.mem-benefit h3{font-family:var(--sans);color:var(--ink);font-weight:400;font-size:1.4rem;margin-bottom:.5rem}
.mem-benefit p{font-size:.95rem}
.mem-benefits__cta{text-align:center;margin-top:2.4rem}

/* ---- pricing tiers (dark-green band) ---- */
.mem-plans__band{background:var(--green-dk);border-radius:var(--radius);padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,4vw,3rem);text-align:center}
.mem-plans__band>h2{color:var(--green-light)}
.mem-plans__intro{color:#fff;max-width:60ch;margin:.9rem auto 2.4rem}
.mem-plans__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;text-align:left}
.plan-card{display:flex;flex-direction:column}
.plan-card__save{background:var(--lime);color:var(--green-dk);text-align:center;font-weight:500;font-size:.92rem;border-radius:24px 24px 0 0;padding:.5rem 1rem}
.plan-card__body{background:#fff;border-radius:0 0 24px 24px;padding:1.5rem 1.5rem 2rem;flex:1;display:flex;flex-direction:column}
.plan-card__body h3{font-family:var(--sans);color:var(--ink);font-weight:500;font-size:1.15rem;margin-bottom:.4rem}
.plan-card__price{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.15rem}
.plan-card__price strong{font-family:var(--serif);color:var(--gold);font-size:2.5rem;font-weight:600}
.plan-card__price span{font-size:.95rem;color:var(--muted)}
.plan-card__fine{font-size:.78rem;color:var(--muted);padding-bottom:1.2rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.plan-card__features{list-style:none;display:flex;flex-direction:column;gap:.65rem;flex:1}
.plan-card__features li{font-size:.92rem;color:var(--ink);display:flex;align-items:center;gap:.6rem}
.plan-card__features li svg{flex:none;width:1.25rem;height:1.25rem;color:var(--green-dk)}
.mem-plans__cta{text-align:center;margin-top:2.4rem}

/* ---- how it works ---- */
.mem-steps__intro{max-width:60ch;margin:0 auto 1.4rem;text-align:center}
.mem-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.mem-step{border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.8rem;background:#fff;text-align:left}
.mem-step__num{width:3rem;height:3rem;border-radius:.5rem;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:1.25rem;font-weight:600;color:var(--green-dk);margin-bottom:1rem}
.mem-step h3{font-family:var(--sans);color:var(--ink);font-weight:400;font-size:1.4rem;margin-bottom:.5rem}
.mem-step p{font-size:.94rem}

/* ---- Boston availability note ---- */
.mem-note{background:#fff;padding-top:0;padding-bottom:clamp(2rem,4vw,3rem)}
.mem-note__text{text-align:center;font-style:italic;font-size:.9rem;color:var(--muted);max-width:60ch;margin:0 auto}

/* ---- responsive ---- */
@media (max-width:900px){
  .mem-benefits__grid,.mem-plans__grid,.mem-steps__grid{grid-template-columns:1fr}
}
