/* Podcast Visibility — package cards (Oct 2026). Same layout as the Author PR cards.
   Colours and type from site.css tokens. Prefixed pv- so nothing leaks. */

#packages{ scroll-margin-top:6.5rem }
.pv-packages{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2vw,1.6rem); align-items:stretch; margin-top:clamp(1.6rem,2.8vw,2.4rem) }
.pv-plan{ position:relative; min-width:0; background:var(--white); border-top:2px solid var(--citron);
  padding:clamp(1.6rem,2.4vw,2.1rem); display:flex; flex-direction:column; gap:1.15rem }
.pv-plan .pv-list{ flex:1; align-content:start }
.pv-plan .btn{ margin-top:auto }
.pv-plan--feat{ background:var(--charcoal); color:var(--on-dark); box-shadow:0 22px 40px -26px rgba(29,31,30,.45) }
.pv-plan--feat h3{ color:var(--ivory) }
.pv-tag{ position:absolute; top:-.85rem; left:clamp(1.6rem,2.4vw,2.1rem); background:var(--citron); color:var(--charcoal);
  font-size:.64rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; padding:.35rem .8rem }
.pv-plan h3{ font-size:clamp(1.3rem,1.8vw,1.55rem) }
.pv-for{ font-size:.92rem; color:var(--charcoal-mid); margin-top:.35rem }
.pv-plan--feat .pv-for{ color:var(--on-dark-soft) }
.pv-price strong{ display:block; font-family:var(--display); font-weight:500; font-size:clamp(2rem,2.9vw,2.4rem); line-height:1; font-variant-numeric:tabular-nums }
.pv-price span{ display:block; margin-top:.4rem; font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--charcoal-soft) }
.pv-plan--feat .pv-price span{ color:var(--on-dark-soft) }
.pv-price em{ display:block; margin-top:.5rem; font-style:normal; font-size:.88rem; line-height:1.5; color:var(--charcoal-mid) }
.pv-plan--feat .pv-price em{ color:var(--on-dark) }
.pv-term{ padding:.85rem 1rem; background:var(--stone); font-size:.86rem; line-height:1.5 }
.pv-term b{ display:block; font-family:var(--display); font-weight:500; font-size:1.05rem; margin-bottom:.15rem }
.pv-plan--feat .pv-term{ background:rgba(184,201,40,.14) }
.pv-plan--feat .pv-term b{ color:var(--citron) }
.pv-list{ display:grid; gap:.5rem; font-size:.9rem; line-height:1.5 }
.pv-list li{ position:relative; padding-left:1.05rem }
ul.pv-list li:not(.pv-list__head)::before{ content:""; position:absolute; left:0; top:.55em; width:.4rem; height:.4rem; background:var(--citron) }
.pv-list__head{ padding-left:0 !important; font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--charcoal-soft); margin-bottom:.1rem }
.pv-plan--feat .pv-list__head{ color:var(--on-dark-soft) }
.pv-plan .btn{ justify-content:center; width:100% }
.pv-notes{ margin-top:clamp(1.6rem,2.8vw,2.4rem); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.25rem,2.5vw,2rem) }
.pv-notes div{ min-width:0; padding-top:1rem; border-top:1px solid var(--line-stone) }
.pv-notes h3{ font-size:1.05rem; margin-bottom:.45rem }
.pv-notes p{ font-size:.9rem; color:var(--charcoal-mid); line-height:1.6 }
.pv-notes p + p{ margin-top:.5rem }
@media (max-width:1080px){
  .pv-packages{ grid-template-columns:1fr; gap:2rem }
  .pv-plan--feat{ order:-1 }
  .pv-notes{ grid-template-columns:1fr }
}

/* Sprint page: one featured card beside a short aside */
.pv-packages--one{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:start }
.pv-aside{ padding-top:.5rem; display:grid; gap:.75rem; align-content:start }
.pv-aside h3{ font-size:1.1rem }
.pv-aside h3 + p{ margin-top:-.25rem }
.pv-aside h3:not(:first-child){ margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line-stone) }
.pv-aside p{ font-size:.95rem; color:var(--charcoal-mid); line-height:1.6 }
@media (max-width:1080px){ .pv-packages--one{ grid-template-columns:1fr } }
