/* Studio-authored public blocks: lightweight, local, and safely reusable. */
.public-builder-block { padding-block: clamp(20px, 4vw, 42px); }
.public-builder-heading { max-width: 760px; margin: 0 auto 18px; text-align: center; }
.public-builder-heading .kicker-badge { margin-block-end: 10px; }
.public-builder-copy { max-width: 760px; margin: 0 auto; }
.public-builder-copy p { margin-inline: auto; }
.public-builder-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.public-builder-item { position: relative; padding: 22px; }
.public-builder-item h3 { margin: 0 0 7px; color: var(--text-main); font-size: 1.03rem; }
.public-builder-item p { margin: 0; color: var(--text-muted); font-size: .9rem; line-height: 1.8; }
.public-builder-check,
.public-builder-step { display: grid; width: 27px; height: 27px; place-items: center; margin-bottom: 13px; color: #317656; border-radius: 50%; background: rgba(214,242,224,.84); font-size: .78rem; font-weight: 800; }
.public-builder-step { color: #815b4c; background: rgba(251,226,211,.86); font-family: var(--font-mono); }
.public-builder-actions { justify-content: center; margin-top: 22px; }
.public-builder-quote { max-width: 760px; margin: 4px auto 0; padding: clamp(22px,4vw,34px); border-inline-start: 3px solid var(--green-soft); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; background: rgba(247,253,249,.78); color: var(--text-main); }
.public-builder-quote p { color: var(--text-main) !important; font-size: 1.05rem !important; font-weight: 570; }
.public-builder-quote footer { margin-top: 12px; color: var(--text-dim); font-size: .82rem; }
.public-builder-cta .public-builder-copy { text-align: center; }
@media (max-width: 760px) { .public-builder-grid { grid-template-columns: 1fr; } }
