/* ===== Páginas públicas (cliente preenche e assina) ===== */
.pub-page { min-height: 100svh; position: relative; display: flex; flex-direction: column; overflow-x: clip; }
.pub-page .hero-bg { position: fixed; opacity: .6; }
.pub-head { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px clamp(16px, 4vw, 40px); }
.pub-main { position: relative; z-index: 1; width: min(860px, 100%); margin: 0 auto; padding: 8px clamp(16px, 4vw, 24px) 60px; flex: 1; }
.pub-foot { position: relative; z-index: 1; text-align: center; padding: 20px; color: var(--ink-3); font-size: .82rem; }
.pub-titulo { text-align: center; margin: 12px 0 22px; }
.pub-titulo h1 { font-size: clamp(1.9rem, 5vw, 2.8rem); letter-spacing: -.04em; font-weight: 800; margin-bottom: 8px; }
.pub-msg { text-align: center; padding: clamp(32px, 6vw, 56px) 24px; margin-top: 18px; }
.pub-msg .art { width: 76px; height: 76px; border-radius: 26px; background: var(--brand-wash); color: var(--brand); display: grid; place-items: center; margin: 0 auto 20px; animation: float 5s ease-in-out infinite; }
.pub-msg .art .ico { width: 34px; height: 34px; }
.pub-msg h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); letter-spacing: -.035em; margin-bottom: 10px; }
.pub-msg p { max-width: 46ch; margin-inline: auto; }
.pub-page .secao-form { background: var(--glass); backdrop-filter: blur(14px); }
