/* Positive-message feature only: no global site resets or navigation rewrites. */
.pm-header-button {
  box-sizing: border-box; min-height: 44px; flex-shrink: 0;
  border: 1px solid #6d28d9; border-radius: 999px; padding: 9px 16px;
  background: #f1e8fc; color: #4c1d95; font: inherit; font-size: 14px;
  font-weight: 600; line-height: 1.35; white-space: nowrap; cursor: pointer;
}
.pm-header-button:hover { background: #e6d8f9; }
.pm-header-button:focus-visible, .pm-form :focus-visible, .pm-close:focus-visible,
.pm-standalone-link:focus-visible, .pm-page a:focus-visible {
  outline: 3px solid #6d28d9; outline-offset: 3px;
}
header.site:has(.pm-header-button) .head-actions { flex-shrink: 0; }
@media (max-width: 1200px) {
  header.site:has(.pm-header-button) nav.tabs { display: none; }
  header.site:has(.pm-header-button) .burger { display: flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
}
@media (max-width: 420px) {
  header.site:has(.pm-header-button) .topbar { flex-wrap: wrap; gap: 8px; padding: 10px 16px; }
  header.site:has(.pm-header-button) .head-actions { display: contents; }
  header.site:has(.pm-header-button) .cta-mini { margin-inline-start: auto; min-height: 44px; }
  .pm-header-button { order: 3; flex-basis: 100%; }
}
.pm-dialog, .pm-dialog *, .pm-page, .pm-page * { box-sizing: border-box; }
.pm-dialog {
  width: min(560px, calc(100% - 24px)); max-width: calc(100% - 24px);
  max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
  margin: auto; padding: 0; border: 1px solid #ded2ed; border-radius: 24px;
  background: #fffdf9; color: #271a3d; font-family: Rubik, Arial, sans-serif;
  font-size: 16px; line-height: 1.6; overflow-y: auto;
  box-shadow: 0 24px 80px rgb(23 13 40 / 25%);
}
.pm-dialog::backdrop { background: rgb(23 13 40 / 65%); }
.pm-panel { padding: 24px; min-width: 0; }
.pm-title { margin: 6px 0 8px; font-size: 25px; line-height: 1.3; padding-inline-end: 70px; }
.pm-intro { margin: 0 0 22px; color: #655574; }
.pm-close {
  float: left; min-width: 64px; min-height: 44px; padding: 8px;
  border: 1px solid #ded2ed; border-radius: 12px; background: #fff;
  font: inherit; color: #4c1d95; cursor: pointer;
}
.pm-form { display: grid; gap: 16px; min-width: 0; }
.pm-field { display: grid; gap: 6px; min-width: 0; }
.pm-field label { font-weight: 600; }
.pm-input {
  display: block; width: 100%; min-width: 0; min-height: 44px;
  border: 1px solid #a89bb7; border-radius: 12px; padding: 11px 12px;
  background: #fff; color: #271a3d; font: inherit; font-size: 16px; line-height: 1.5;
}
textarea.pm-input { resize: vertical; min-height: 136px; }
.pm-input:focus { border-color: #6d28d9; }
.pm-privacy { margin: 0; font-size: 14px; color: #655574; line-height: 1.6; }
.pm-submit {
  min-height: 48px; border: 0; border-radius: 999px; padding: 12px 20px;
  background: #6d28d9; color: #fff; font: inherit; font-weight: 600; cursor: pointer;
}
.pm-submit:hover:not(:disabled) { background: #5b21b6; }
.pm-submit:disabled, .pm-close:disabled { opacity: .65; cursor: wait; }
.pm-input:disabled { background: #f2edf7; }
.pm-status { margin: 0; min-height: 1.6em; overflow-wrap: anywhere; color: #655574; }
.pm-status[data-state="success"] { color: #166534; }
.pm-status[data-state="error"] { color: #9f1239; }
.pm-standalone-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: #5b21b6; text-decoration: underline; font-size: 14px; }
.pm-honeypot { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pm-page { margin: 0; background: #fbf7f1; color: #271a3d; font: 16px/1.6 Rubik, Arial, sans-serif; }
.pm-page-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 960px; margin: auto; padding: 20px 24px; }
.pm-brand { display: inline-flex; align-items: center; min-height: 44px; }
.pm-brand img { display: block; width: auto; height: 70px; }
.pm-home-link { display: inline-flex; align-items: center; min-height: 44px; color: #5b21b6; font-weight: 600; }
.pm-page-main { width: min(620px, calc(100% - 32px)); margin: 24px auto 48px; }
.pm-page-intro { margin-bottom: 24px; }
.pm-eyebrow { margin: 0 0 8px; color: #5b21b6; font-weight: 600; }
.pm-page-intro h1 { font-size: clamp(28px, 6vw, 38px); line-height: 1.25; margin: 0 0 16px; }
.pm-page-intro p { color: #655574; }
.pm-card { background: #fffdf9; border: 1px solid #ded2ed; border-radius: 24px; padding: 28px; box-shadow: 0 8px 32px rgb(39 26 61 / 7%); }
.pm-page-footer { text-align: center; padding: 16px; font-size: 14px; }
.pm-page-footer a { display: inline-flex; min-height: 44px; align-items: center; color: #5b21b6; }
@media (max-width: 420px) {
  .pm-panel, .pm-card { padding: 18px; }
  .pm-title { font-size: 23px; }
  .pm-page-header { padding: 16px; }
}
