/* =====================================================================
   LaBellaCasting — Membership
   Each tier gets its own accent so the ladder reads visually, but they
   all stay inside the black / ivory / champagne palette. No neon.
   ===================================================================== */

.mp-hero{
  position:relative;padding:calc(120px + 5vw) 0 3rem;
  border-bottom:1px solid var(--line-soft);overflow:hidden;text-align:center;
}
.mp-hero__glow{
  position:absolute;inset:-45% -10% auto;height:130%;pointer-events:none;
  background:radial-gradient(55% 50% at 50% 0%,var(--gold-glow),transparent 70%);
}
.mp-hero .shell{position:relative}
.mp-hero h1{margin:.3em 0 .35em}
.mp-hero .lede{max-width:62ch;margin-inline:auto}

/* ---------- Region switch ---------- */
.mp-switch{
  display:inline-flex;margin-top:2rem;padding:4px;
  border:1px solid var(--line);border-radius:999px;background:var(--plate);
}
.mp-switch a{
  padding:.55rem 1.4rem;border-radius:999px;font-size:.85rem;
  color:var(--silver);transition:all .25s var(--ease);
}
.mp-switch a.is-on{background:var(--gold);color:var(--ink)}
.mp-switch a:not(.is-on):hover{color:var(--gold)}

/* ---------- Plan cards ---------- */
.mp-grid{
  display:grid;gap:1.4rem;align-items:stretch;
  grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
}
.mp-card{
  position:relative;display:flex;flex-direction:column;
  padding:2rem 1.6rem 1.6rem;
  background:var(--plate);border:1px solid var(--line-soft);border-radius:4px;
  transition:transform .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
.mp-card:hover{transform:translateY(-6px);border-color:var(--gold-deep);
  box-shadow:0 22px 50px -26px rgba(0,0,0,.9)}

.mp-card.is-popular{border-color:var(--gold-deep);
  background:linear-gradient(170deg,rgba(200,169,81,.07),var(--plate) 45%)}
.mp-card.is-mine{border-color:var(--ok)}

.mp-card__flag{
  position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);
  padding:.32rem .9rem;border-radius:999px;white-space:nowrap;
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  background:var(--gold);color:var(--ink);
}
.mp-card__flag--mine{background:var(--ok);color:#fff}

.mp-card__pos{
  font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
}
.mp-card__top h2{font-size:1.7rem;margin:.35rem 0 .5rem;line-height:1.1}
.mp-card__aud{font-size:.84rem;color:var(--mute);line-height:1.6;min-height:3.2em}

.mp-card__price{
  padding:1.1rem 0;margin:1.1rem 0;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
}
.mp-card__price strong{
  display:block;font-family:var(--display);font-size:2.1rem;
  font-weight:400;color:var(--pearl);line-height:1;
}
.mp-card__price span{font-size:.75rem;color:var(--mute);letter-spacing:.08em}

.mp-card__bens{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.55rem;flex:1}
.mp-card__bens li{position:relative;padding-left:1.35rem;font-size:.84rem;color:var(--silver);line-height:1.5}
.mp-card__bens li::before{
  content:'';position:absolute;left:0;top:.5em;width:6px;height:6px;
  border:1px solid var(--gold);transform:rotate(45deg);
}
.mp-card__bens li.is-more{color:var(--mute);font-style:italic}
.mp-card__bens li.is-more::before{display:none}

.mp-card__act{margin-top:auto;display:grid;gap:.7rem;justify-items:center}
.mp-card__info{font-size:.78rem;color:var(--silver);border-bottom:1px solid transparent}
.mp-card__info:hover{color:var(--gold);border-bottom-color:currentColor}
.mp-card__below{font-size:.78rem;color:var(--mute);text-align:center;padding:.7rem 0}
.btn.is-static{cursor:default;opacity:.75}

/* ---------- Comparison table ---------- */
.mp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mp-table{width:100%;border-collapse:collapse;min-width:640px;font-size:.87rem}
.mp-table th,.mp-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line-soft)}
.mp-table thead th{
  position:sticky;top:0;background:var(--plate);z-index:2;
  font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pearl);
  border-bottom:1px solid var(--line);
}
.mp-table thead th span{display:block;margin-top:.25rem;font-size:.78rem;
  letter-spacing:0;text-transform:none;color:var(--gold)}
.mp-table tbody th{font-weight:300;color:var(--silver)}
.mp-table td{text-align:center;width:110px}
.mp-yes{color:var(--gold);font-size:1rem}
.mp-no{color:var(--line)}
.mp-table tbody tr:hover{background:rgba(255,255,255,.015)}

/* ---------- Honest-framing panel ---------- */
.mp-note{
  border:1px solid var(--line-soft);border-left:2px solid var(--gold-deep);
  border-radius:3px;padding:1.7rem 1.8rem;background:var(--plate);
}
.mp-note h2{font-size:1.2rem;margin-bottom:.9rem}
.mp-note p{color:var(--silver);font-size:.93rem;line-height:1.75;margin-bottom:.9rem}
.mp-note strong{color:var(--pearl);font-weight:400}

/* =====================================================================
   DEDICATED PLAN PAGE
   ===================================================================== */
.pl-hero{
  position:relative;padding:calc(120px + 4vw) 0 3.4rem;overflow:hidden;
  border-bottom:1px solid var(--line-soft);
}
.pl-hero__glow{
  position:absolute;inset:-50% -20% auto;height:150%;pointer-events:none;
  background:radial-gradient(50% 45% at 50% 0%,var(--gold-glow),transparent 70%);
}
.pl-hero .shell{position:relative}
.pl-hero__pos{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
}
.pl-hero h1{font-size:clamp(2.6rem,7vw,5rem);margin:.25em 0 .3em}
.pl-hero .lede{max-width:58ch}
.pl-hero__price{
  display:flex;align-items:baseline;gap:.8rem;margin:2rem 0 1.8rem;
}
.pl-hero__price strong{font-family:var(--display);font-size:2.6rem;font-weight:400;color:var(--gold)}
.pl-hero__price span{font-size:.8rem;color:var(--mute);letter-spacing:.06em}
.pl-hero__note{margin-top:1.3rem;font-size:.85rem;color:var(--silver)}

/* Per-tier accent — restrained, palette-safe */
.pl--vip     .pl-hero__glow{background:radial-gradient(50% 45% at 50% 0%,rgba(214,196,158,.14),transparent 70%)}
.pl--diamond .pl-hero__glow{background:radial-gradient(50% 45% at 50% 0%,rgba(178,201,214,.13),transparent 70%)}
.pl--diamond .pl-hero__pos,.pl--diamond .pl-hero__price strong{color:#cfe0ea}
.pl--premium .pl-hero{background:linear-gradient(175deg,#08080a,var(--ink))}
.pl--premium .pl-hero__glow{background:radial-gradient(50% 45% at 50% 0%,rgba(200,169,81,.2),transparent 70%)}

.pl-bens{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.pl-ben{
  position:relative;padding:1rem 1.1rem 1rem 2.4rem;
  background:var(--plate);border:1px solid var(--line-soft);border-radius:3px;
  font-size:.9rem;color:var(--silver);
}
.pl-ben::before{
  content:'';position:absolute;left:1.1rem;top:1.4em;width:7px;height:7px;
  border:1px solid var(--gold);transform:rotate(45deg);
}

.pl-secs{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.pl-sec{padding:1.7rem 1.6rem;background:var(--plate);border:1px solid var(--line-soft);border-radius:4px}
.pl-sec__n{font-family:var(--display);font-size:1.5rem;color:var(--gold-deep)}
.pl-sec h3{font-size:1.16rem;margin:.4rem 0 .9rem}
.pl-sec ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.pl-sec li{position:relative;padding-left:1.2rem;font-size:.86rem;color:var(--silver)}
.pl-sec li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:1px;background:var(--gold)}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:980px){
  .mp-grid{grid-template-columns:repeat(2,1fr)}
  .mp-card__aud{min-height:0}
}
@media (max-width:620px){
  .mp-grid{grid-template-columns:1fr}
  .mp-hero{padding-top:calc(100px + 6vw)}
  .mp-switch{width:100%}
  .mp-switch a{flex:1;text-align:center;padding:.55rem .8rem}
  .pl-hero__price{flex-direction:column;gap:.2rem}
  .mp-table{font-size:.82rem}
}

@media (prefers-reduced-motion:reduce){
  .mp-card{transition:none}
  .mp-card:hover{transform:none}
}
