/* SocialSim plans page (written by the SocialSim repo's tools/export_site_plans.py). Site tokens only. */
.sp-hero { padding-block: clamp(48px, 8vw, 96px) clamp(24px, 4vw, 40px); }
.sp-hero h1 { margin: 8px 0 14px; }
.sp-hero .lede { max-width: 68ch; }
.sp-status { margin: 18px 0 22px; max-width: 72ch; }
.sp-plan { display: flex; flex-direction: column; gap: 10px; }
.sp-plan h3 { margin: 0; }
.sp-for { color: var(--muted); margin: 0; font-size: 0.92rem; min-height: 2.6em; }
.sp-price-row { display: flex; align-items: baseline; gap: 8px; margin: 4px 0 2px; }
.sp-price { font-size: 1.9rem; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.sp-per { color: var(--muted); font-size: 0.9rem; }
.sp-facts { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; border-top: 1px solid var(--line); padding-top: 12px; }
.sp-facts li { color: var(--ink-soft, var(--ink)); font-size: 0.92rem; line-height: 1.45; padding-left: 16px; position: relative; }
.sp-facts li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-bar, var(--accent)); }
.sp-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.sp-table { width: 100%; min-width: 600px; border-collapse: collapse; font-size: 0.95rem; }
.sp-table th, .sp-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.sp-table th { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.sp-table tr:last-child td { border-bottom: 0; }
.sp-table .n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sp-fine { margin-top: 22px; max-width: 80ch; }
.sp-tag { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--muted); font-size: 0.75rem; font-weight: 600; vertical-align: 1px; }
