/* Scoped native Contact surface; existing CF7 behavior and global owner CSS remain intact. */
.jp-native-document .jp-contact-room{max-width:1160px;margin:0 auto;padding:clamp(42px,7vw,96px) 32px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,7vw,104px);align-items:start;color:#22332f}
.jp-contact-room .jp-contact-intro{padding-top:16px;min-width:0}
.jp-contact-room .jp-contact-portrait-frame{width:180px;aspect-ratio:1;margin-bottom:32px;border-radius:50%;overflow:hidden;box-shadow:0 16px 36px #203c2c12;border:1px solid #ffffffb3}
.jp-contact-room .jp-contact-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.jp-contact-room .jp-contact-eyebrow{font:11px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#43594e;margin:0 0 14px}
.jp-contact-room h1{font:clamp(40px,4.7vw,64px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:0 0 22px;overflow-wrap:normal}
.jp-contact-room .jp-contact-lead{font:19px/1.65 Georgia,'Times New Roman',serif;max-width:30ch;margin:0;color:#52635b}
.jp-contact-room .jp-contact-email{font:14px/1.8 Arial,Helvetica,sans-serif;margin:30px 0 0;color:#43594e;overflow-wrap:anywhere}
.jp-contact-room a{color:inherit;text-underline-offset:4px}
.jp-contact-room .jp-contact-panel{min-width:0;border:1px solid #fff9;background:linear-gradient(135deg,#fffdf9ed,#f4f8f2c9);border-radius:26px;padding:clamp(24px,3vw,40px);box-shadow:0 20px 56px #243d2e0b,inset 0 1px 0 #fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.jp-contact-room h2{font:30px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.025em;margin:0 0 10px}
.jp-contact-room .jp-contact-note{font:12px/1.7 Arial,Helvetica,sans-serif;color:#66746b;margin:0 0 24px}
.jp-contact-room form{margin:0}.jp-contact-room form p{margin:0 0 20px}.jp-contact-room form label{display:block;font:12px/1.5 Arial,Helvetica,sans-serif;font-weight:600;color:#41554b;margin-bottom:8px}
.jp-contact-room .wpcf7-form-control-wrap{display:block}
.jp-contact-room input:not([type=hidden]):not([type=submit]),.jp-contact-room textarea{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #c6d0c8;border-radius:12px;background:#fffaf6aa;box-shadow:inset 0 1px 2px #2a423004;padding:12px 14px;font:16px/1.5 Arial,Helvetica,sans-serif;color:#22332f;margin:0}
.jp-contact-room textarea{height:160px;min-height:150px;resize:vertical}.jp-contact-room input::placeholder,.jp-contact-room textarea::placeholder{color:#7b877e}
.jp-contact-room input[type=submit]{display:inline-block;min-height:46px;border:1px solid #273f34;border-radius:999px;padding:12px 25px;color:#fffdf8;background:linear-gradient(#385647,#253f33);box-shadow:inset 0 1px 0 #ffffff26,0 4px 10px #213d2e0c;font:13px/1.5 Arial,Helvetica,sans-serif;cursor:pointer;max-width:100%;white-space:normal}
.jp-contact-room :is(a,input,textarea):focus-visible{outline:3px solid #789184;outline-offset:4px}
.jp-contact-room .wpcf7-not-valid-tip{font:12px/1.5 Arial,Helvetica,sans-serif;color:#9c392f;margin-top:7px}.jp-contact-room .wpcf7-response-output{margin:16px 0;padding:12px 14px;border-radius:10px;font:13px/1.6 Arial,Helvetica,sans-serif}
@media(max-width:720px){.jp-native-document .jp-contact-room{grid-template-columns:minmax(0,1fr);gap:32px;padding:36px 20px 56px}.jp-contact-room .jp-contact-intro{padding:0}.jp-contact-room .jp-contact-portrait-frame{width:120px;margin-bottom:24px}.jp-contact-room .jp-contact-lead{max-width:38ch}.jp-contact-room .jp-contact-email{margin-top:20px}.jp-contact-room .jp-contact-panel{padding:26px 22px;border-radius:22px}.jp-contact-room h1{font-size:42px}.jp-contact-room h2{font-size:28px}}
@media(prefers-reduced-transparency:reduce){.jp-contact-room .jp-contact-panel{background:#fcfcf6;backdrop-filter:none;-webkit-backdrop-filter:none}}
