.pm-contact-cta { display:flex; flex-direction:column; align-items:center; gap:20px; padding:48px 20px 40px; margin:0; text-align:center; color:#111; background:#fff; }
.pm-contact-cta h2 { margin:0; font-size:20px; line-height:28px; font-weight:700; }
.pm-contact-button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:216px; min-height:48px; max-width:100%; padding:12px 20px; border:1px solid transparent; border-radius:4px; background:#0f0f0f; color:#fff; font:700 16px/22px "Helvetica Neue",Helvetica,Arial,sans-serif; text-align:center; text-decoration:none; cursor:pointer; transition:border-color .15s,color .15s,background-color .15s; -webkit-tap-highlight-color:transparent; }
@media(hover:hover) { .pm-contact-button:hover { background:#4a4a4a; color:#fff; text-decoration:none; } }
.pm-contact-button:active { background:#737373; color:#fff; }
.pm-contact-button:disabled { background:#e5e5e5; color:#777; cursor:default; }
.pm-contact-button:focus-visible,.pm-contact-link:focus-visible { outline:2px solid #111; outline-offset:3px; }
.pm-contact-main { display:block; width:calc(100% - 40px); max-width:720px; margin:0 auto; padding:40px 0 56px; color:#222; }
.pm-contact-main h1 { margin:0 0 36px; font-size:40px; line-height:1.2; font-weight:700; }
.pm-contact-intro { margin:0 0 20px; font-size:18px; line-height:1.5; font-weight:700; }
.pm-contact-main label { display:block; margin:24px 0 8px; font-size:16px; font-weight:600; }
.pm-contact-main textarea,.pm-contact-main input,.pm-contact-main select { display:block; box-sizing:border-box; width:100%; max-width:100%; padding:12px 16px; border:1px solid #ccc; border-radius:4px; font:400 16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif; background:#fff; color:#222; }
.pm-contact-main textarea { resize:none; min-height:46px; max-height:320px; padding:10px 16px; line-height:24px; overflow-y:hidden; }
.pm-contact-counter { display:block; text-align:end; color:#666; font-size:12px; margin-top:6px; font-variant-numeric:tabular-nums; }
.pm-contact-topic { position:relative; }
.pm-contact-topic-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; min-height:48px; border:1px solid #ccc; border-radius:4px; background:#fff; color:#222; font:400 16px/24px "Helvetica Neue",Helvetica,Arial,sans-serif; text-align:start; cursor:pointer; transition:background-color .15s,border-color .15s; }
.pm-contact-topic-trigger svg { flex:0 0 20px; transition:transform .15s; }
.pm-contact-topic-trigger[aria-expanded=true] { border-color:#111; }
.pm-contact-topic-trigger[aria-expanded=true] svg { transform:rotate(180deg); }
.pm-contact-topic-trigger:hover { background:#f7f7f7; }
.pm-contact-topic-trigger:active { background:#e5e5e5; }
.pm-contact-options { position:absolute; z-index:30; inset-inline:0; top:calc(100% + 4px); max-height:280px; overflow-y:auto; margin:0; padding:6px; background:#fff; color:#222; border:1px solid #ccc; border-radius:4px; box-shadow:0 6px 20px #0000001a; list-style:none; }
.pm-contact-options [role=option] { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 10px; font-size:16px; line-height:22px; border-radius:2px; cursor:pointer; transition:background-color .15s; }
.pm-contact-options [role=option]:is(:hover,:focus-visible) { background:#eee; outline:0; }
.pm-contact-options [role=option]:active { background:#ddd; }
.pm-contact-option-check { visibility:hidden; width:20px; height:20px; flex:0 0 20px; object-fit:contain; }
.pm-contact-options [aria-selected=true] .pm-contact-option-check { visibility:visible; }
.pm-contact-main :is(textarea,input,.pm-contact-topic-trigger):focus { outline:none; border-color:#111; box-shadow:none; }
.pm-contact-hint { margin:10px 0 20px; font-size:14px; color:#555; line-height:1.5; }
.pm-contact-hint a { text-decoration:underline; }
.pm-contact-identity { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:24px 0; font-size:14px; line-height:1.5; }
.pm-contact-identity strong { font-size:16px; font-weight:500; overflow-wrap:anywhere; }
.pm-contact-link { border:0; background:none; color:inherit; padding:0; font:inherit; text-decoration:underline; cursor:pointer; }
.pm-contact-error { padding:14px; border-inline-start:3px solid #111; background:#f1f1f1; font-size:15px; line-height:1.5; }
.pm-contact-success { padding:24px; border:1px solid #ddd; border-radius:4px; line-height:1.6; }
.pm-contact-success h2,.pm-contact-quick h2 { font-size:20px; line-height:1.4; margin:0 0 12px; }
#pm-contact-reference { overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.pm-contact-quick { margin-top:48px; }
.pm-contact-main .pm-quick-links { width:100%; max-width:none; margin:48px 0 0; }
.pm-contact-quick>a { display:block; padding:16px 0; border-top:1px solid #ddd; font-size:16px; font-weight:600; text-decoration:underline; }
.pm-contact-main [hidden],.pm-contact-identity [hidden] { display:none!important; }
@media(max-width:600px) { .pm-contact-main { padding-top:32px; } .pm-contact-main h1 { font-size:32px; margin-bottom:24px; } .pm-contact-intro { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .pm-contact-button { transition:none; } }
