/* ---------- plan cards (report, workspace, dashboard) ---------- */
.plan-cards { margin: 6px 0 18px; scroll-margin-top: 88px; }
.pc-head { margin: 0 0 14px; }
.pc-head .kicker { margin: 0 0 4px; }
.pc-head h2 { margin: 0 0 4px; font-size: clamp(20px, 2.5vw, 24px); text-wrap: balance; }
.pc-head .note { margin: 0; }
.pc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; align-items: stretch; }
.pc-card { position: relative; display: flex; flex-direction: column; background: var(--card);
  border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px 20px 20px; }
.pc-featured { border: 2px solid var(--teal); box-shadow: 0 8px 24px color-mix(in srgb, var(--teal) 16%, transparent); }
.pc-badge { position: absolute; top: -11px; left: 20px; background: var(--teal); color: #fff;
  font: 700 11px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; padding: 6px 10px; border-radius: var(--r-pill); }
.pc-name { margin: 0; font: 700 13px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--slate-2); }
.pc-price { margin: 10px 0 2px; color: var(--ink); font-variant-numeric: tabular-nums; }
.pc-price b { font: 700 36px/1 var(--font-body); letter-spacing: -.02em; }
.pc-price span { font-size: 14px; color: var(--slate-2); margin-left: 3px; }
.pc-for { margin: 6px 0 14px; color: var(--slate); font-size: 14px; }
.pc-list { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pc-list li { position: relative; padding-left: 22px; font-size: 14px; line-height: 1.45; color: var(--ink); }
.pc-list li::before { content: ""; position: absolute; left: 2px; top: 5px; width: 10px; height: 6px;
  border-left: 2px solid var(--teal); border-bottom: 2px solid var(--teal); transform: rotate(-45deg); }
.pc-form { margin: 0; }
.pc-btn { min-height: 46px; font-size: 15.5px; }
.pc-btn.is-current { cursor: default; color: var(--slate-2); }
.pc-annual { display: block; width: 100%; margin-top: 8px; background: none; border: 0; color: var(--teal-700);
  font: 600 13px/1.4 var(--font-body); cursor: pointer; text-decoration: underline; }
