/* v30 — consistent contact experience and navigation throughout the housing estate */
.mt-hubspot-dialog {
  box-sizing:border-box; width:min(650px,calc(100vw - 32px)); max-width:calc(100vw - 32px);
  max-height:min(92dvh,960px); margin:auto; padding:0; border:1px solid #cae2d3; border-radius:23px;
  background:#fbfffc; color:#092619; box-shadow:0 30px 110px rgba(0,25,12,.28);
  overflow:auto; overscroll-behavior:contain; font-family:'Poppins',Arial,sans-serif;
}
.mt-hubspot-dialog::backdrop { background:rgba(1,20,10,.73); backdrop-filter:blur(9px); }
.mt-hubspot-modal-inner { padding:clamp(20px,4vw,40px); }
.mt-hubspot-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.mt-hubspot-modal-head > div { min-width:0; }
.mt-hubspot-modal-head h2 { margin:13px 0 14px; max-width:14ch; font-size:clamp(28px,3.6vw,44px); font-weight:700; letter-spacing:-.05em; line-height:1.08; color:#061910; }
.mt-hubspot-modal-head h2 em { font-style:normal; color:#008444; }
.mt-hubspot-dialog #mt-hubspot-description { max-width:50ch; color:#4b6656; margin:0 0 22px; font-size:15px; line-height:1.6; }
.mt-hubspot-close { flex:0 0 auto; cursor:pointer; display:grid; place-items:center; padding:0; width:48px; height:48px; border-radius:50%; border:1px solid #9cc9ad; background:#fff; color:#043c20; font-size:32px; line-height:1; }
.mt-hubspot-close:hover { color:#fff; background:#008448; border-color:#008448; }
.mt-hubspot-close:focus-visible,.mt-hubspot-dialog a:focus-visible { outline:3px solid #009b54; outline-offset:4px; }
.mt-hubspot-dialog .hs-form-frame { min-height:420px; width:100%; }
.mt-hubspot-dialog .hs-form-frame iframe { border:0; display:block; width:100%; min-height:440px; max-width:100%; }
.mt-hubspot-dialog .mt-hubspot-loading { margin:0 0 12px; padding:18px; background:#e7f8eb; color:#15482b; border-radius:10px; font-weight:600; font-size:14px; }
.mt-hubspot-dialog .mt-hubspot-loading[hidden] { display:none; }
.mt-hubspot-dialog .mt-hubspot-loading.is-error { background:#fef2e5; color:#654022; }
.mt-hubspot-dialog .mt-hubspot-help { color:#577161; font-size:12px; line-height:1.6; margin:20px 0 0; }
.mt-hubspot-dialog .mt-hubspot-help a { color:#006a38; text-decoration:underline; font-weight:700; }
/* Root navigation is the canonical reference. Keep equivalent layout on stand-alone product HTML pages. */
.desktop-nav > a[aria-current="page"] { color:#007a3b; }
.desktop-nav > a[aria-current="page"]::after { transform:scaleX(1); }
.desktop-nav .solutions-toggle[aria-current="page"] { color:#007a3b; }
/* Ensure click targets don't collapse on pages with legacy product CSS. */
.header .header-contact { display:inline-flex; align-items:center; justify-content:center; text-align:center; min-height:48px; box-sizing:border-box; }
@media(max-width:700px) { .mt-hubspot-modal-inner { padding:24px 18px; } .mt-hubspot-dialog .hs-form-frame {min-height:430px;} }
@media(prefers-reduced-motion:reduce) { .mt-hubspot-dialog::backdrop {backdrop-filter:none;} .mt-hubspot-close {transition:none!important;} }
