.hm-contact-module{--hm-contact-book:HMContactBook,AvenirLTProBook,Arial,sans-serif;--hm-contact-black:HMContactBlack,AvenirLTProBlack,Arial,sans-serif;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,78px);width:100%;padding:clamp(24px,4vw,60px);border:1px solid #eee9f1;border-radius:28px;background:linear-gradient(115deg,#faf6fc 0%,#f4f8fc 55%,#fff 100%);color:#191919;font:400 16px/1.6 var(--hm-contact-book);font-synthesis:none}
.hm-contact-module *{box-sizing:border-box}
.hm-contact-kicker{display:flex;align-items:center;gap:10px;font:400 10px/1.5 var(--hm-contact-book);letter-spacing:1.3px;color:#49414f}
.hm-contact-kicker>span,.hm-contact-success>span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#69b9a5;color:#fff;font:700 14px Arial;letter-spacing:0}
.hm-contact-module .hm-contact-intro h2{font:400 clamp(29px,3.1vw,45px)/1.13 var(--hm-contact-black)!important;letter-spacing:-1.1px;margin:23px 0 22px;color:#191919}
.hm-contact-intro>p{font:400 16px/1.65 var(--hm-contact-book)!important;max-width:36em;margin:0}
.hm-contact-direct{display:flex;align-items:flex-start;flex-direction:column;gap:5px;margin-top:35px}
.hm-contact-direct>span{font-size:12px;color:#645b6c;margin-bottom:5px}
.hm-contact-module a{color:#191919;text-underline-offset:4px}
.hm-contact-direct>a{font:400 15px/1.6 var(--hm-contact-black);text-decoration:none}
.hm-contact-form{min-width:0;margin:0!important}
.hm-contact-fields{min-width:0;border:0;padding:0;margin:0}
.hm-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 17px;margin-bottom:21px}
.hm-contact-form label{display:block;margin:0;color:#191919;font:400 13px/1.5 var(--hm-contact-black)!important}
.hm-contact-form label>small{font:400 11px var(--hm-contact-book);color:#776f7f;margin-left:5px}
.hm-contact-form input,.hm-contact-form textarea{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%;min-width:0;min-height:46px;margin:7px 0 0!important;padding:11px 12px!important;border:1px solid #dcd6e2!important;border-radius:10px!important;background:#fff!important;color:#191919!important;box-shadow:none!important;font:400 15px/1.5 var(--hm-contact-book)!important}
.hm-contact-form textarea{resize:vertical;min-height:128px}
.hm-contact-form input:focus,.hm-contact-form textarea:focus{outline:2px solid #c7b2e2!important;outline-offset:2px}
.hm-contact-form input::placeholder,.hm-contact-form textarea::placeholder{color:#8a8191;opacity:1}
.hm-contact-module .hm-contact-privacy{margin:15px 0 21px;font:400 11px/1.65 var(--hm-contact-book)!important;color:#6a6172}
.hm-contact-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.hm-contact-submit-row>button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:46px;padding:12px 21px;border:1px solid #191919;border-radius:25px;background:#191919;color:#fff;font:400 13px/1.5 var(--hm-contact-black);cursor:pointer;transition:background .15s}
.hm-contact-submit-row>button:hover{background:#3a303f}
.hm-contact-submit-row>button:focus-visible{outline:3px solid #b79bd6;outline-offset:3px}
.hm-contact-submit-row>small{font:400 11px var(--hm-contact-book);color:#706777}
.hm-contact-fields:disabled{opacity:.65}
.hm-contact-form .hm-contact-status{margin:14px 0 0;font:400 13px/1.6 var(--hm-contact-book);color:#514659;overflow-wrap:anywhere;outline:none}
.hm-contact-form .hm-contact-status:empty{display:none}
.hm-contact-form .hm-contact-status.is-error{padding:13px;border-radius:10px;background:#fff1ee;color:#873f32}
.hm-contact-form .hm-contact-success{padding:30px;background:#fff;border-radius:18px;border:1px solid #e4dbe9;outline:none}
.hm-contact-success h3{font:400 25px/1.25 var(--hm-contact-black);margin:18px 0 10px}
.hm-contact-success p{font:400 16px/1.6 var(--hm-contact-book);margin:0 0 20px}
.hm-contact-reference{font-size:12px;color:#746a7b}
.hm-contact-form [hidden]{display:none!important}
.hm-contact-trap,.hm-contact-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:800px){.hm-contact-module{grid-template-columns:1fr;gap:30px}.hm-contact-direct{margin-top:20px}.hm-contact-module .hm-contact-intro h2{font-size:34px!important}}
@media(max-width:480px){.hm-contact-module{padding:24px 20px;border-radius:20px}.hm-contact-grid{grid-template-columns:1fr;gap:16px}.hm-contact-module .hm-contact-intro h2{font-size:30px!important}.hm-contact-form input,.hm-contact-form textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.hm-contact-submit-row>button{transition:none}}

/* General contact modal and opt-in trigger, isolated from property and AI dialogs. */
.hm-contact-trigger{box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;gap:25px;min-height:46px;padding:12px 22px;border:1px solid #191919!important;border-radius:28px;background:#191919!important;color:#fff!important;text-decoration:none!important;font:400 13px/1.5 HMContactBlack,AvenirLTProBlack,Arial,sans-serif!important;font-synthesis:none;cursor:pointer}
.hm-contact-trigger:hover{background:#3a303f!important}
.hm-contact-trigger:focus-visible{outline:3px solid #b79bd6;outline-offset:3px}
.hm-contact-dialog{box-sizing:border-box;position:fixed;inset:0;width:min(620px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #eee8f1;border-radius:24px;background:#fff;color:#191919;box-shadow:0 24px 90px #20162933;overflow:auto;overscroll-behavior:contain}
.hm-contact-dialog:not([open]){display:none!important}
/* 0.2.198: the same backdrop works inside the isolated contact host and as a fallback. */
#hm-contact-dialog.hm-contact-dialog::backdrop{background:#25242a66!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}
.hm-contact-dialog .hm-contact-close{position:absolute;z-index:2;top:15px;right:15px;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;border:1px solid #e8e1ec;border-radius:50%;background:#fff;color:#191919;box-shadow:none;cursor:pointer;line-height:1}
.hm-contact-dialog .hm-contact-close:hover{background:#f4eef8}
.hm-contact-dialog .hm-contact-close:focus-visible{outline:3px solid #b79bd6;outline-offset:2px}
.hm-contact-dialog .hm-contact-close svg{display:block;width:18px;height:18px;pointer-events:none}
.hm-contact-module.hm-contact-module--compact{display:block;width:100%;padding:32px 36px;border:0;border-radius:0;background:linear-gradient(128deg,#fbf6fd 0%,#f8faff 36%,#fff 68%)}
.hm-contact-module--compact .hm-contact-intro{margin-bottom:25px}
.hm-contact-module--compact .hm-contact-kicker{padding-right:40px;font-size:11px;letter-spacing:0}
.hm-contact-module--compact .hm-contact-kicker-divider{display:inline;width:auto;height:auto;background:none;color:#b5a9be;border-radius:0;font:400 13px HMContactBook,AvenirLTProBook,Arial,sans-serif}
.hm-contact-module--compact .hm-contact-intro h2{margin:22px 0 10px;font-size:34px!important;letter-spacing:-.9px;outline:none}
.hm-contact-module--compact .hm-contact-intro>p{max-width:29em;font-size:15px!important;line-height:1.5!important;color:#6b6174}
.hm-contact-module--compact .hm-contact-grid{gap:15px 16px;margin-bottom:17px}
.hm-contact-module--compact .hm-contact-form textarea{min-height:112px}
.hm-contact-module--compact .hm-contact-privacy{margin:14px 0 20px}
.hm-contact-module--compact .hm-contact-submit-row{justify-content:space-between;gap:12px}
.hm-contact-module--compact .hm-contact-success{padding:24px}
@media(max-width:480px){.hm-contact-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.hm-contact-module.hm-contact-module--compact{padding:27px 22px}.hm-contact-module--compact .hm-contact-intro h2{font-size:29px!important}.hm-contact-module--compact .hm-contact-intro{margin-bottom:22px}.hm-contact-module--compact .hm-contact-grid{gap:13px}.hm-contact-module--compact .hm-contact-form textarea{min-height:104px}.hm-contact-dialog .hm-contact-close{top:12px;right:12px}}

/* 0.2.106: wider general inquiry modal; inline forms and property dialogs unchanged. */
@media(min-width:760px){
  .hm-contact-dialog{width:min(880px,calc(100% - 48px))}
  .hm-contact-dialog .hm-contact-module--compact{padding:28px 32px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro{margin-bottom:22px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro h2{margin:14px 0 8px;font-size:32px!important}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro>p{max-width:none;padding-right:20px}
  .hm-contact-dialog .hm-contact-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-items:start}
  .hm-contact-dialog .hm-contact-grid{grid-column:1;grid-row:1;gap:14px 16px;margin-bottom:0}
  .hm-contact-dialog .hm-contact-fields>label{grid-column:2;grid-row:1;min-width:0}
  .hm-contact-dialog .hm-contact-form textarea{height:133px;min-height:133px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-privacy{grid-column:1/-1;margin:14px 0 16px}
  .hm-contact-dialog .hm-contact-submit-row{grid-column:1/-1}
}
@media(min-width:760px) and (max-height:620px){
  .hm-contact-dialog .hm-contact-module--compact{padding:22px 28px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro{margin-bottom:18px}
}
@media(min-width:481px) and (max-width:759px){
  .hm-contact-dialog{width:calc(100% - 32px)}
  .hm-contact-dialog .hm-contact-module--compact{padding:26px 28px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro{margin-bottom:20px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro h2{margin-top:16px}
  .hm-contact-dialog .hm-contact-module--compact .hm-contact-intro>p{max-width:none}
  .hm-contact-dialog .hm-contact-form textarea{min-height:104px}
}

/* 0.2.149: general-contact dialog only; inline contact page unchanged. */
#hm-contact-dialog.hm-contact-dialog{max-height:calc(100dvh - 24px)!important;overflow:hidden!important}
#hm-contact-dialog.hm-contact-dialog>.hm-contact-module--compact{box-sizing:border-box;max-height:calc(100dvh - 26px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfc3d6 transparent;padding:28px 30px}
#hm-contact-dialog.hm-contact-dialog .hm-contact-close{position:absolute!important;inset:12px 12px auto auto!important;z-index:5!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:1px solid #c8bdcf!important;border-radius:50%!important;background:#f5f0f8!important;color:#19171d!important;box-shadow:0 2px 6px #3026370a!important;cursor:pointer}
#hm-contact-dialog.hm-contact-dialog .hm-contact-close:hover{background:#e9deef!important;border-color:#9d8baa!important}
#hm-contact-dialog.hm-contact-dialog .hm-contact-close:focus-visible{outline:2px solid #514266!important;outline-offset:4px!important}
#hm-contact-dialog.hm-contact-dialog .hm-contact-close svg{width:16px;height:16px}
#hm-contact-dialog.hm-contact-dialog .hm-contact-intro{padding-right:28px;margin-bottom:22px}
#hm-contact-dialog.hm-contact-dialog .hm-contact-intro h2{font:400 32px/1.15 var(--hm-contact-black)!important;letter-spacing:-.7px!important;margin:16px 0 10px!important}
#hm-contact-dialog.hm-contact-dialog .hm-contact-intro>p{font:400 15px/1.6 var(--hm-contact-book)!important;letter-spacing:0!important}
#hm-contact-dialog.hm-contact-dialog .hm-contact-kicker{font-size:10px!important;padding-right:16px}
@media(max-width:600px){#hm-contact-dialog.hm-contact-dialog>.hm-contact-module--compact{padding:26px 20px 20px}#hm-contact-dialog.hm-contact-dialog .hm-contact-intro h2{font-size:26px!important}#hm-contact-dialog.hm-contact-dialog .hm-contact-intro>p{font-size:14px!important}}

/* 0.2.185: message and placeholder use the contact Book face, not theme textarea styles. */
#hm-contact-dialog.hm-contact-dialog .hm-contact-form textarea[name="message"]{font-family:var(--hm-contact-book,HMContactBook,AvenirLTProBook,Arial,sans-serif)!important;font-size:16px!important;font-weight:400!important;font-style:normal!important;line-height:1.6!important;letter-spacing:0!important;text-transform:none!important;font-synthesis:none}
#hm-contact-dialog.hm-contact-dialog .hm-contact-form textarea[name="message"]::placeholder{font:inherit!important;letter-spacing:inherit!important;text-transform:none!important}

/* 0.2.209: two optional entry paths; the established form sends both inquiry types. */
#hm-contact-dialog.hm-contact-dialog{width:min(980px,calc(100% - 32px))!important}
#hm-contact-dialog .hm-contact-module [hidden]{display:none!important}
#hm-contact-dialog .hm-contact-journey{margin:0 0 20px;color:#29232e;font:400 15px/1.55 var(--hm-contact-book)}
#hm-contact-dialog .hm-contact-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#hm-contact-dialog .hm-contact-paths>button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;min-width:0;padding:25px;border:1px solid #dfd6e8;border-radius:18px;background:linear-gradient(125deg,#f2eaf9,#eff7fc);color:#29232e;font:inherit;cursor:pointer;box-shadow:none}
#hm-contact-dialog .hm-contact-paths>button:hover{background:linear-gradient(125deg,#e8dcf3,#e5f2fa);border-color:#bba4ce}
#hm-contact-dialog .hm-contact-paths strong{font:400 21px/1.25 var(--hm-contact-black);letter-spacing:-.35px}
#hm-contact-dialog .hm-contact-paths small{margin-top:auto;padding-top:10px;font:400 12px/1.5 var(--hm-contact-black)}
#hm-contact-dialog .hm-contact-path-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:5px;border:1px solid #ded3e8;border-radius:12px;background:#ffffffc9;font:400 25px/1 Arial}
#hm-contact-dialog .hm-contact-step-count{margin:0 0 10px;color:#796783;font:400 11px/1.5 var(--hm-contact-black);letter-spacing:.5px}
#hm-contact-dialog .hm-contact-journey h3{margin:0 0 8px;color:#211d27;font:400 25px/1.25 var(--hm-contact-black);letter-spacing:-.5px;outline:none}
#hm-contact-dialog [data-hm-journey-step]>p{margin:0 0 20px;color:#71667a;font:400 14px/1.6 var(--hm-contact-book)}
#hm-contact-dialog .hm-contact-options{display:flex;flex-wrap:wrap;gap:10px}
#hm-contact-dialog .hm-contact-options>button{min-height:46px;max-width:100%;padding:11px 17px;border:1px solid #dcd4e3;border-radius:11px;background:#fff;color:#302738;font:400 14px/1.5 var(--hm-contact-book);cursor:pointer;box-shadow:none}
#hm-contact-dialog .hm-contact-options>button:hover{background:#f8f3fc;border-color:#ac95c0}
#hm-contact-dialog .hm-contact-options>button[aria-pressed=true]{border-color:#7d6196;background:#ece2f5;box-shadow:inset 0 0 0 1px #7d6196;font-family:var(--hm-contact-black)}
#hm-contact-dialog .hm-contact-other{display:block;margin-top:16px;font:400 13px/1.5 var(--hm-contact-black)}
#hm-contact-dialog .hm-contact-other input{display:block;width:100%;max-width:480px;margin-top:7px;min-height:46px;padding:10px 12px;border:1px solid #dcd4e3;border-radius:10px;background:#fff;color:#211d27;font:400 16px/1.5 var(--hm-contact-book)}
#hm-contact-dialog .hm-contact-journey-nav{display:flex;justify-content:space-between;gap:15px;margin-top:28px;padding-top:20px;border-top:1px solid #e9e2ed}
#hm-contact-dialog .hm-contact-journey-nav button{min-height:44px;padding:10px 18px;border:1px solid #d9cfe2;border-radius:24px;background:#fff;color:#302738;font:400 13px/1.5 var(--hm-contact-black);cursor:pointer}
#hm-contact-dialog .hm-contact-journey-nav [data-hm-journey-next]{background:#242127;border-color:#242127;color:#fff}
#hm-contact-dialog .hm-contact-journey-nav [data-hm-journey-next]:hover{background:#493c52}
#hm-contact-dialog .hm-contact-search-summary{margin-bottom:14px;padding:16px 19px;border:1px solid #dfd5e8;border-radius:13px;background:linear-gradient(115deg,#f4ecfa,#eef7fc)}
#hm-contact-dialog .hm-contact-search-summary strong{font:400 14px/1.5 var(--hm-contact-black)}
#hm-contact-dialog .hm-contact-search-summary p{margin:6px 0 9px;font:400 13px/1.55 var(--hm-contact-book);overflow-wrap:anywhere}
#hm-contact-dialog .hm-contact-search-summary button,#hm-contact-dialog .hm-contact-path-back{min-height:32px;margin:0;padding:3px 0;border:0;background:transparent;color:#5b456c;text-decoration:underline;text-underline-offset:3px;font:400 12px/1.5 var(--hm-contact-book);cursor:pointer;box-shadow:none}
#hm-contact-dialog .hm-contact-journey button:focus-visible,#hm-contact-dialog .hm-contact-other input:focus-visible{outline:2px solid #72508c;outline-offset:3px}
#hm-contact-dialog .hm-contact-journey button:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){#hm-contact-dialog.hm-contact-dialog{width:calc(100% - 20px)!important}#hm-contact-dialog .hm-contact-paths{grid-template-columns:1fr;gap:12px}#hm-contact-dialog .hm-contact-paths>button{padding:18px;gap:7px}#hm-contact-dialog .hm-contact-path-icon{display:none}#hm-contact-dialog .hm-contact-paths strong{font-size:19px}#hm-contact-dialog .hm-contact-paths small{padding-top:4px}#hm-contact-dialog .hm-contact-journey h3{font-size:22px}#hm-contact-dialog .hm-contact-options{gap:8px}#hm-contact-dialog .hm-contact-options>button{padding:10px 12px;font-size:13px}}

#hm-contact-dialog .hm-contact-path-icon svg{display:block;width:21px;height:21px}
