/* Shared homepage visual language for public pages. Loaded last; does not touch workspace/editor surfaces. */
body.pub {
  background-color: var(--paper, #f3f4fb) !important;
  color: var(--ink, #14163f) !important;
  font-family: var(--display, 'Bricolage Grotesque', Inter, system-ui, sans-serif) !important;
}
body.pub :is(h1,h2,h3,h4,.page-title,.hero-title) { color: var(--ink, #14163f); letter-spacing: -.045em; }
body.pub :is(p,li,label,small,.muted,.subtitle,.description) { color: inherit; }
body.pub :is(main,.page,.page-content,.content,.container,.wrap,.shell,.legal-content,.policy-content) { color: var(--ink, #14163f); }
body.pub :is(.card,.panel,.feature-card,.pricing-card,.content-card,.form-card,.info-card,.faq-item,.legal-card) {
  border-color: var(--line, #cdd2f0);
  border-radius: 16px;
}
body.pub :is(button,.button,.btn,.cta,.primary-button) { font-family: var(--display, 'Bricolage Grotesque', Inter, system-ui, sans-serif); }
body.pub :is(input,select,textarea) { font: inherit; border-color: var(--line, #cdd2f0); border-radius: 10px; }
body.pub :is(input,select,textarea):focus { outline: 2px solid var(--pen, #3340f0); outline-offset: 2px; }
body.pub a { text-underline-offset: 3px; }
body.pub img, body.pub video, body.pub iframe { max-width: 100%; }
@media (max-width: 700px) {
  body.pub :is(h1,.page-title,.hero-title) { letter-spacing: -.04em; overflow-wrap: anywhere; }
  body.pub :is(.container,.wrap,.page-content,.content) { max-width: 100%; }
}
