.public-body { min-height: 100vh; display: flex; flex-direction: column; }
.public-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.1rem clamp(1rem, 4vw, 3rem);
  border-bottom: 1px solid var(--line);
}
.public-nav { display: flex; gap: 1.1rem; align-items: center; }
.public-nav a { text-decoration: none; color: var(--muted); font-size: 0.95rem; }
.public-nav a:hover { color: var(--ink); }
.public-main { flex: 1; padding: 2.5rem clamp(1rem, 4vw, 3rem) 3rem; }
.public-hero { max-width: 44rem; margin-bottom: 2.5rem; }
.public-hero-home { padding-top: 3rem; }
.public-article { max-width: 42rem; }
.cta-row { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.4rem; }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}
.pricing-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem;
  display: grid;
  gap: 0.7rem;
  align-content: start;
}
.pricing-card.is-featured { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); box-shadow: var(--shadow); }
.price { font-size: 1.8rem; font-weight: 650; color: var(--ink); margin: 0; }
.pricing-limits { margin: 0; padding-left: 1.1rem; color: var(--muted); font-size: 0.88rem; }
.pricing-limits code { font-family: var(--font-mono); font-size: 0.78rem; }
.site-footer {
  border-top: 1px solid var(--line);
  padding: 2rem clamp(1rem, 4vw, 3rem) 1.5rem;
  background: color-mix(in srgb, var(--bg-2) 70%, transparent);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.footer-grid a { display: block; text-decoration: none; color: var(--muted); font-size: 0.88rem; margin: 0.25rem 0; }
.footer-grid a:hover { color: var(--ink); }
.footer-heading { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--accent); margin: 0 0 0.5rem; }
.footer-copy { margin: 0; }
@media (max-width: 800px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .footer-grid { grid-template-columns: 1fr; }
  .public-nav { gap: 0.7rem; font-size: 0.85rem; }
}
