/* Nov 3, 2026 (Kelly, A1-A3): every "See it", interactive, "Let's talk" and inline link opens a centered pop-up.
   X, Esc and a click outside close it; the visitor stays exactly where they were. Full screen on phones, X fixed at the top. */
html:has(dialog[open]) { overflow: hidden; }
dialog.sitepop { position: fixed; inset: 0; margin: auto !important; }
/* The older "See it" pop-up: centered by position, since its auto margins sat it at the bottom in Chrome. */
dialog.diffpop[open] { position: fixed; inset: auto; top: 50%; left: 50%; margin: 0 !important; transform: translate(-50%, -50%); transition: none !important; }
dialog.sitepop { box-sizing: border-box; width: min(1180px, calc(100vw - 48px)); height: min(880px, calc(100vh - 48px)); max-width: none; max-height: none; padding: 0; border: 0; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 26px 64px rgba(1, 34, 61, .25); }
dialog.sitepop.is-form { width: min(620px, calc(100vw - 48px)); height: min(760px, calc(100vh - 48px)); }
dialog.sitepop.is-doc { width: min(860px, calc(100vw - 48px)); }
dialog.sitepop.is-image { width: auto; height: auto; max-width: calc(100vw - 48px); max-height: calc(100vh - 48px); background: #fff; }
dialog.sitepop::backdrop, dialog.diffpop::backdrop { background: rgba(1, 34, 61, .55); }
.sitepop-body { width: 100%; height: 100%; }
.sitepop-body iframe { display: block; width: 100%; height: 100%; border: 0; }
.sitepop.is-image .sitepop-body { height: auto; padding: 56px 20px 20px; }
.sitepop.is-image img { display: block; max-width: 100%; max-height: calc(100vh - 124px); width: auto; height: auto; margin: 0 auto; }
.sitepop-x { position: absolute; z-index: 3; top: 12px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; color: #01223d; font: 400 30px/1 Montserrat, Helvetica, Arial, sans-serif; cursor: pointer; box-shadow: 0 2px 10px rgba(1, 34, 61, .18); }
.sitepop-x:hover { background: #f4f1ec; }
.sitepop-x:focus-visible { outline: 3px solid #0a7a4f; outline-offset: 2px; }
@media (max-width: 640px) {
  dialog.sitepop, dialog.sitepop.is-form, dialog.sitepop.is-doc, dialog.sitepop.is-image { width: 100vw; height: 100dvh; max-width: 100vw; max-height: 100dvh; border-radius: 0; }
  .sitepop.is-image .sitepop-body { height: 100%; display: flex; align-items: center; justify-content: center; padding: 64px 12px 12px; }
  .sitepop-x { position: fixed; top: max(10px, env(safe-area-inset-top)); right: 10px; }
}
/* A page opened inside a pop-up shows only its own content. */
html.is-embed .nav, html.is-embed header.site, html.is-embed body > header, html.is-embed footer, html.is-embed .skip,
html.is-embed .backtohiw, html.is-embed #cookie, html.is-embed .cookie, html.is-embed #wcmo-notice, html.is-embed .intercom-lightweight-app { display: none !important; }
html.is-embed body { padding-top: 0 !important; }
