.membership-hero { padding:clamp(3.5rem,7vw,6.5rem) 0; background:linear-gradient(145deg,#edf7ff,#fff 62%); }
.membership-hero__grid,.membership-compare__grid,.membership-fit__grid,.membership-faq__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(21rem,.85fr); align-items:center; gap:clamp(3rem,7vw,6rem); }
.membership-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1.4rem; padding:0; color:var(--muted); list-style:none; font-size:.8rem; font-weight:700; }
.membership-breadcrumbs li+li::before { margin-right:.45rem; content:"/"; }
.membership-breadcrumbs a { color:var(--blue-dark); }
.membership-hero h1 { max-width:12ch; margin-bottom:1.4rem; }
.membership-hero__lead { max-width:44rem; color:var(--muted); font-size:clamp(1.05rem,1.6vw,1.2rem); }
.membership-hero__actions,.membership-final__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.membership-hero__note { display:flex; max-width:42rem; align-items:flex-start; gap:.65rem; margin:1.5rem 0 0; color:var(--muted); font-size:.82rem; }
.membership-hero__note span { display:grid; width:1.35rem; height:1.35rem; flex:0 0 auto; place-items:center; border-radius:50%; background:var(--navy); color:#fff; font-weight:900; }
.membership-hero__media { position:relative; margin:0; }
.membership-hero__media img { width:100%; aspect-ratio:4/5; border-radius:var(--radius); box-shadow:var(--shadow); object-fit:cover; }
.membership-hero__media figcaption { position:absolute; right:-1.25rem; bottom:1.5rem; display:grid; max-width:19rem; padding:1rem 1.2rem; border-radius:.9rem; background:#fff; box-shadow:var(--shadow); }
.membership-hero__media figcaption span { color:var(--muted); font-size:.78rem; }
.membership-details__heading,.membership-details__notice,.membership-final__inner { display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; }
.membership-details__heading { margin-bottom:3rem; }
.membership-details__heading>div { max-width:38rem; }
.membership-details__heading>p { max-width:34rem; margin:0; color:var(--muted); }
.membership-details__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.membership-detail { position:relative; padding:clamp(1.6rem,3vw,2.25rem); border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.membership-detail>span { position:absolute; top:1.4rem; right:1.5rem; color:#526f7c; font-size:.76rem; font-weight:900; letter-spacing:.14em; }
.membership-detail svg { width:3.2rem; margin-bottom:2rem; fill:none; stroke:var(--navy); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.membership-detail p { margin-bottom:0; color:var(--muted); }
.membership-details__notice { align-items:center; margin-top:1rem; padding:1.3rem 1.5rem; border-radius:.85rem; background:#eaf4ff; }
.membership-details__notice strong { flex:0 0 auto; color:var(--navy); }
.membership-details__notice p { margin:0; color:var(--muted); }
.membership-details__notice a,.membership-fit__card a { flex:0 0 auto; color:var(--blue-dark); font-weight:800; }
.membership-compare { background:var(--surface); }
.membership-compare__grid { grid-template-columns:minmax(18rem,.58fr) minmax(0,1.42fr); align-items:start; }
.membership-compare__intro { position:sticky; top:11.5rem; }
.membership-compare__intro p:last-child { color:var(--muted); }
.membership-table-wrap { border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow-x:auto; }
.membership-table { width:100%; border-collapse:collapse; text-align:left; }
.membership-table th,.membership-table td { min-width:10rem; padding:1rem 1.1rem; border-bottom:1px solid var(--line); vertical-align:top; }
.membership-table thead th { background:var(--navy); color:#fff; font-size:.82rem; }
.membership-table thead th:first-child { border-radius:var(--radius) 0 0; }
.membership-table thead th:last-child { border-radius:0 var(--radius) 0 0; }
.membership-table tbody th { color:var(--navy); font-size:.86rem; }
.membership-table td { color:var(--muted); font-size:.86rem; }
.membership-table tbody tr:last-child>* { border-bottom:0; }
.membership-fit__copy h2 { max-width:13ch; }
.membership-fit__copy>p { color:var(--muted); }
.membership-fit__copy ul { display:grid; gap:.9rem; margin:1.8rem 0 0; padding:0; list-style:none; }
.membership-fit__copy li { display:grid; grid-template-columns:1.5rem 1fr; gap:.6rem; font-weight:700; }
.membership-fit__copy li span { color:var(--blue-dark); }
.membership-fit__card { padding:clamp(2rem,4vw,3rem); border-radius:var(--radius); background:var(--navy); color:#dce9ee; }
.membership-fit__card .eyebrow { color:#9dccff; }
.membership-fit__card h3 { color:#fff; font-size:clamp(1.5rem,2.5vw,2rem); }
.membership-fit__card>div { display:grid; gap:.7rem; margin-top:1.6rem; }
.membership-fit__card a { color:#fff; }
.membership-enroll { background:#eaf4ff; }
.membership-enroll .section-heading { max-width:46rem; margin-bottom:3rem; }
.membership-enroll__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:0; padding:0; list-style:none; }
.membership-enroll__grid li { display:flex; gap:1rem; padding:clamp(1.5rem,3vw,2.2rem); border:1px solid rgba(23,104,190,.15); border-radius:var(--radius); background:rgba(255,255,255,.88); }
.membership-enroll__grid li>span { display:grid; width:2.4rem; height:2.4rem; flex:0 0 auto; place-items:center; border-radius:50%; background:var(--blue-dark); color:#fff; font-weight:900; }
.membership-enroll__grid h3 { margin:.25rem 0 .6rem; }
.membership-enroll__grid p { margin:0; color:var(--muted); }
.membership-faq__grid { align-items:start; }
.membership-faq__intro { position:sticky; top:11.5rem; }
.membership-faq__intro p:last-child { color:var(--muted); }
.membership-final { position:relative; padding:clamp(4rem,7vw,6rem) 0; background:linear-gradient(100deg,#082b3a,#0d465c); color:#d7e4e9; overflow:hidden; }
.membership-final::after { position:absolute; right:-8rem; bottom:-13rem; width:28rem; aspect-ratio:1; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 3rem rgba(255,255,255,.035),0 0 0 6rem rgba(255,255,255,.02); content:""; }
.membership-final__inner { position:relative; z-index:1; }
.membership-final .eyebrow { color:#9dccff; }
.membership-final h2 { margin-bottom:.6rem; color:#fff; }
.membership-final p:last-child { margin:0; }
.membership-final__actions { flex:0 0 auto; margin:0; }
.membership-final__secondary { border-color:#fff; background:#fff; color:var(--navy); }
@media (max-width:900px) {
  .membership-hero__grid,.membership-compare__grid,.membership-fit__grid,.membership-faq__grid { grid-template-columns:1fr; }
  .membership-hero__media { max-width:38rem; }
  .membership-details__heading,.membership-details__notice,.membership-final__inner { align-items:flex-start; flex-direction:column; gap:1rem; }
  .membership-details__grid,.membership-enroll__grid { grid-template-columns:1fr; }
  .membership-compare__intro,.membership-faq__intro { position:static; }
}
@media (max-width:600px) {
  .membership-hero { padding-top:2.5rem; }
  .membership-hero__media figcaption { right:.75rem; left:.75rem; }
  .membership-details__notice a { flex:initial; }
  .membership-hero__actions,.membership-hero__actions .button,.membership-final__actions,.membership-final__actions .button { width:100%; }
}
