/* Prices page — plan cards, the price ladder and the founding-places bar.
   Builds on site.css tokens and the doc-head / prose styles in legal.css. */
.vat-note { display:inline-block; margin:18px 0 0; font-size:13px; font-weight:600; color:var(--ink); background:var(--accent-soft); border:1px solid #cfdcb9; border-radius:6px; padding:7px 12px; }
.plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:48px 0 18px; }
.plan { background:var(--surface); border:1px solid var(--border-strong); border-radius:10px; padding:26px 26px 28px; display:flex; flex-direction:column; min-width:0; }
.plan.custom { background:var(--surface-2); }
.plan h2 { font:600 19px/1.35 'Manrope',sans-serif; letter-spacing:-.4px; margin:14px 0 18px; }
.plan .badge { align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:.2px; padding:4px 10px; border-radius:20px; background:var(--lime); color:var(--ink); }
.plan .badge.quiet { background:transparent; border:1px solid var(--border-strong); color:var(--ink-2); }
.plan .price { font:550 52px/1 'Manrope',sans-serif; letter-spacing:-2.5px; margin:0; }
.plan .price small { font:500 14px 'DM Sans',sans-serif; letter-spacing:0; color:var(--ink-2); margin-left:6px; }
.plan .price.quote { font-size:34px; letter-spacing:-1.4px; }
.plan .limit { font-size:14px; font-weight:650; color:var(--ink); margin:14px 0 0; }
.plan .terms { font-size:12.5px; color:var(--ink-2); margin:10px 0 18px; }
.plan p { font-size:14px; line-height:1.65; color:var(--ink-2); margin:0 0 18px; }
.plan .button { margin-top:auto; align-self:flex-start; }
.plan .contact { margin-top:auto; font-size:14px; line-height:1.8; }
.plan .contact a { font-weight:650; border-bottom:1px solid #8f9e89; }

.plans-note { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 8px; }

.ladder { list-style:none; margin:0 0 20px !important; padding:0 !important; border:1px solid var(--border-strong); border-radius:10px; overflow:hidden; background:var(--surface); }
.ladder li { display:grid; grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)); gap:12px; align-items:center; padding:14px 18px; margin:0 !important; border-top:1px solid var(--border); font-size:14.5px; }
.ladder li:first-child { border-top:0; }
.ladder li.head { background:var(--surface-2); font-size:10.5px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; color:var(--ink-2); padding:11px 18px; }
.ladder .tier { font-weight:600; color:var(--ink); }
.ladder b { font-weight:650; color:var(--ink); }
.ladder .now { display:none; margin-left:8px; font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; padding:2px 8px; border-radius:20px; background:var(--ink); color:var(--lime); vertical-align:2px; }
.ladder li[aria-current="step"] { background:var(--accent-soft); box-shadow:inset 4px 0 0 var(--accent); }
.ladder li[aria-current="step"] .now { display:inline-block; }
.ladder li[aria-current="step"] ~ li { color:var(--ink-2); }

.places { margin:0 0 22px; }
.places p { font-size:14px !important; font-weight:600; color:var(--ink) !important; margin:0 0 8px !important; }
.bar { height:10px; border-radius:10px; background:var(--surface-2); border:1px solid var(--border-strong); overflow:hidden; }
.bar span { display:block; height:100%; background:var(--accent); border-radius:10px; }

.included { columns:2; column-gap:36px; }
.included li { break-inside:avoid; }

@media(max-width:1000px) {
  .plans { grid-template-columns:minmax(0,1fr); padding-top:32px; }
  .included { columns:1; }
}
@media(max-width:700px) {
  .plan { padding:22px 20px 24px; }
  .plan .price { font-size:46px; }
  .ladder li { grid-template-columns:minmax(0,1fr) auto auto; padding:12px 14px; font-size:13.5px; }
  .ladder li.head { padding:10px 14px; }
}

/* Footer with the contact line, as on the homepages (firm.css). */
.footer-meta { display:grid; gap:4px; flex:1 1 320px; min-width:0; }
.footer-meta p { margin:0; }
@media(max-width:700px) { .footer-meta { width:100%; order:3; } }
