/* The same four-track comparison grid serves both audiences. */
.public-site .pricing-note { background: transparent; }
.public-site .pricing-tier-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.public-site .pricing-tier {
	 scroll-margin-top: 110px;
  border: 0;
  padding: 18px;
  border-radius: 36px;
  box-shadow: var(--public-shadow-md);
  min-width: 0;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.public-site .pricing-tier h2 { font-size: clamp(24px, 2.05vw, 31px); }
.public-site .pricing-tier-price strong { font-size: 25px; line-height: 1.15; }
.public-site .pricing-tier-price > a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  min-height: 46px;
  padding: 12px 18px;
  text-align: center;
}
.pricing-individual-invitation {
  grid-column: span 2;
  align-self: center;
  padding: 32px clamp(20px, 4vw, 64px) 32px 0;
}
.pricing-individual-invitation > span {
  display: block;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #766038;
  margin-bottom: 24px;
}
.pricing-individual-invitation h2 {
  font-size: clamp(38px, 4.5vw, 64px);
  line-height: 1.04;
  letter-spacing: -.045em;
  font-weight: 450;
  margin: 0;
}
.pricing-individual-invitation p {
  max-width: 36ch;
  font-size: 17px;
  line-height: 1.7;
  color: var(--public-muted);
  margin-top: 24px;
}
.pricing-individual-invitation small {
  display: block;
  max-width: 38ch;
  border-top: 1px solid var(--public-line);
  padding-top: 20px;
  margin-top: 32px;
  color: var(--public-muted);
  font-size: 13px;
  line-height: 1.7;
}
.public-site .pricing-tier:focus-within { transform: translateY(-4px); }
@media (hover: hover) and (pointer: fine) {
  .public-site .pricing-tier:hover { transform: translateY(-4px); }
}
@media (max-width: 1100px) {
  .public-site .pricing-tier { grid-column: span 2; }
  .pricing-individual-invitation { grid-column: 1 / -1; padding: 18px 0 28px; }
  .pricing-individual-invitation p { max-width: 54ch; }
  .pricing-individual-invitation small { max-width: 60ch; }
}
@media (max-width: 600px) {
  .public-site .pricing-tier { grid-column: 1 / -1; }
  .public-site .pricing-tier-strip { gap: 24px; }
  .pricing-individual-invitation h2 { font-size: 42px; }
  .pricing-individual-invitation p { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site .pricing-tier { transition: none; }
  .public-site .pricing-tier:is(:hover, :focus-within) { transform: none; }
}

/* Keep free-entry terms available without crowding the paid-plan summary. */
.pricing-tier-trial { font-size: 12px; line-height: 1.65; color: var(--public-muted, #65665f); }
.pricing-tier-trial summary { width: fit-content; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.pricing-tier-trial summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
.pricing-tier-trial ul { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 16px; }
.pricing-table-caption { text-align: left; padding: 0 0 16px; color: var(--public-muted, #65665f); font-size: 13px; line-height: 1.6; }
